Rocky_Mountain_Vending/scripts/README.md
DMleadgen 46d973904b
Initial commit: Rocky Mountain Vending website
Next.js website for Rocky Mountain Vending company featuring:
- Product catalog with Stripe integration
- Service areas and parts pages
- Admin dashboard with Clerk authentication
- SEO optimized pages with JSON-LD structured data

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-12 16:22:15 -07:00

222 lines
No EOL
5.9 KiB
Markdown

# SEO Internal Link Tool
A comprehensive SEO tool for Next.js applications that analyzes, optimizes, and reports on internal linking and SEO performance.
## Features
- **Page Discovery**: Automatically discovers React pages in the `app` directory
- **Sitemap Generation**: Creates XML sitemaps for search engines
- **Internal Link Analysis**: Analyzes existing internal links and identifies issues
- **Link Optimization**: Automatically optimizes internal links based on SEO rules
- **JSON-LD Structured Data**: Generates structured data for better search visibility
- **SEO Reports**: Generates comprehensive SEO reports with scoring
- **Interactive Mode**: Command-line interactive interface
## Installation
The tool is included with the project. No additional installation required.
## Usage
### Command Line Interface
```bash
# Generate sitemap
node scripts/seo-internal-link-tool.js sitemap
# Analyze internal links
node scripts/internal-link-tool.js analyze --output report.json
# Optimize internal links
node scripts/seo-internal-link-tool.js optimize --output optimization.json
# Generate JSON-LD structured data
node scripts/seo-internal-link-tool.js json-ld --output json-ld-data.json
# Generate SEO report
node scripts/seo-internal-link-tool.js report --format json --output seo-report.json
# Start interactive mode
node scripts/seo-internal-link-tool.js interactive
```
### npm Scripts
The tool can also be run using npm scripts:
```bash
# Generate sitemap
npm run seo:sitemap
# Analyze internal links
npm run seo:analyze -- --output report.json
# Generate SEO report
npm run seo:report -- --format json --output seo-report.json
# Generate JSON-LD structured data
npm run seo:json-ld -- --output json-ld-data.json
```
## Commands
### sitemap
Generates an XML sitemap from React pages.
```bash
node scripts/seo-internal-link-tool.js sitemap [--output sitemap.xml]
```
### analyze
Analyzes internal links and identifies issues like orphaned pages and broken links.
```bash
node scripts/seo-internal-link-tool.js analyze [--output report.json] [--format json|html|csv|markdown]
```
### optimize
Optimizes internal links based on predefined rules and keywords.
```bash
node scripts/seo-internal-link-tool.js optimize [--output optimization.json]
```
### json-ld
Generates JSON-LD structured data for better search engine visibility.
```bash
node scripts/seo-internal-link-tool.js json-ld [--output json-ld-data.json]
```
### report
Generates a comprehensive SEO report with scoring.
```bash
node scripts/seo-internal-link-tool.js report [--output seo-report.json] [--format json|markdown|html]
```
### interactive
Starts an interactive command-line interface.
```bash
node scripts/seo-internal-link-tool.js interactive
```
## Configuration
The tool uses a configuration system defined in `lib/internal-link-config.js` which includes:
- **Business Information**: Company name and website URL
- **Priority Links**: Pages that should be prioritized for internal linking
- **Keyword Mappings**: Automatic linking of specific keywords to target pages
- **Page-specific Rules**: Configuration for different types of pages
- **Link Density Rules**: Limits and guidelines for link placement
- **SEO Scoring Weights**: How different SEO factors contribute to overall scores
## Output Formats
### JSON
Machine-readable format for programmatic analysis.
### Markdown
Human-readable format for documentation and reports.
### HTML
Interactive reports with styling for web viewing.
### CSV
Tabular format for spreadsheet analysis.
## Example Output
### Sitemap Generation
```
==================================================
Generating Sitemap from React Pages
==================================================
✓ Found 37 pages
✓ Sitemap saved to: sitemap.xml
✓ Default sitemap location: /out/sitemap.xml
```
### Link Analysis
```
==================================================
Analyzing Internal Links
==================================================
📊 Link Analysis Summary
Total Pages: 37
Internal Links: 7
Average Link Density: 7.00 links per page
⚠ Orphaned Pages: 36
- about-us/
- contact-us/
- services/
- etc.
```
### SEO Report
```
==================================================
Generating SEO Report
==================================================
📊 SEO Analysis Summary
Total Pages Analyzed: 37
Average SEO Score: 0.5/100
🏆 Top Performing Pages:
1. services/parts/ - Score: 0.7
2. manuals/ - Score: 0.7
3. about-us/ - Score: 0.6
```
## File Structure
```
scripts/
├── seo-internal-link-tool.js # Main CLI tool
├── lighthouse-test.js # Performance testing (existing)
└── generate-internal-links.js # Link generation (existing)
lib/
├── seo-utils.js # Page discovery and analysis
└── internal-link-config.js # SEO configuration
public/
└── json-ld/ # Generated JSON-LD files
```
## Integration
The tool is designed to integrate seamlessly with existing Next.js workflows:
1. **Discovery**: Automatically finds pages in the `app` directory
2. **Analysis**: Works with existing React components
3. **Output**: Generates files that can be committed to version control
4. **Configuration**: Customizable through the config system
## Troubleshooting
### Common Issues
1. **Module not found**: Ensure all files are in the correct location
2. **Permission denied**: Check file permissions for output directories
3. **Empty results**: Verify the `app` directory contains page components
### Debug Mode
Use the `--verbose` flag for detailed output:
```bash
node scripts/seo-internal-link-tool.js sitemap --verbose
```
## Contributing
The tool is designed to be extensible. Key areas for enhancement:
- **Additional SEO Metrics**: Expand the scoring system
- **Custom Rules**: Add support for custom link optimization rules
- **Integration**: Add support for other frameworks and platforms
- **Reporting**: Extend the reporting system with more visualizations