A powerful, terminal-based SEO analysis tool built with Rust
Features • Installation • Usage • Screenshots • Contributing
RustySEO CLI is a cutting-edge, terminal-based SEO analysis tool that combines the power of Rust with modern web crawling technologies. It provides comprehensive website audits, technical SEO analysis, and actionable insights—all within a beautiful, intuitive terminal interface.
- ⚡ Blazing Fast: Built with Rust for maximum performance and reliability
- 🎯 Comprehensive Analysis: Detects 15+ types of SEO issues automatically
- 🌐 Modern Crawling: JavaScript-enabled crawling with real browser rendering
- 🤖 AI-Powered Insights: Integrated AI chat for SEO recommendations
- 📊 Rich Visualizations: Beautiful terminal charts and data displays
- ⚙️ Highly Configurable: Extensive settings and customization options
- HTTP Status Analysis: 4xx, 5xx, and 3xx redirect detection
- Content Optimization: Title length, meta description analysis
- HTML Structure: H1 tags, alt text, semantic HTML validation
- Performance Metrics: Core Web Vitals and page speed insights
- Link Analysis: Internal/external link discovery and validation
- JavaScript Rendering: Full browser-based crawling with Headless Chrome
- Concurrent Processing: Multi-threaded crawling for maximum speed
- Smart Discovery: Sitemap and robots.txt parsing
- User Agent Rotation: Realistic browser simulation
- Rate Limiting: Respectful crawling with configurable delays
- Interactive Tables: Sortable, filterable data displays
- Terminal Charts: Pie charts, bar graphs, and progress indicators
- Color-Coded Issues: Visual highlighting of problems
- Real-time Progress: Live crawling statistics and updates
- Smart Recommendations: AI-powered SEO suggestions
- Natural Language Chat: Ask questions about your SEO data
- Multiple Providers: OpenAI, Gemini, and custom AI endpoints
- Context-Aware: AI understands your specific website data
- Persistent Settings: TOML-based configuration files
- Customizable Crawling: Depth limits, concurrency, timeouts
- Export Options: Data export in multiple formats
- Bookmark Management: Save and organize frequently analyzed sites
# Clone the repository
git clone https://github.com/yourusername/rustyseo-cli.git
cd rustyseo-cli
# Build and install
cargo install --path .
# Or run directly
cargo run- Rust 1.70+ (for building from source)
- Node.js 16+ (for JavaScript crawling features)
- Chrome/Chromium (for headless browser rendering)
- Linux/macOS/Windows support
# Interactive mode (default)
rustyseo
# Direct URL analysis
rustyseo -u https://example.com
# Help
rustyseo --helpLaunch RustySEO and use the intuitive interface:
- Enter URL: Type your website URL and press Enter
- Watch Crawl: Real-time crawling progress and statistics
- Analyze Results: Navigate through different analysis tabs
- Get Insights: Use AI chat for personalized recommendations
| Category | Shortcut | Action |
|---|---|---|
| Navigation | Tab / Shift+Tab |
Switch between tabs |
1-9 / 0 |
Jump to specific tab | |
↑/↓ / j/k |
Navigate lists | |
Enter |
Select item / open details | |
Esc |
Close modal / go back | |
| Search | Ctrl+F |
Open search |
Enter |
Apply filter | |
Esc |
Close search | |
| Actions | m |
Open actions menu |
o |
Open URL in browser | |
c |
Copy URL to clipboard | |
| Interface | g |
Open sidebar |
i |
Issues tab | |
b |
Bookmarks tab | |
t |
Tree view | |
s |
Settings tab | |
L |
Toggle logs | |
? |
Show help | |
q |
Quit application |
Comprehensive SEO analysis dashboard with real-time statistics
Color-coded issue detection with detailed URL listings
AI-powered SEO recommendations and insights
Interactive charts and progress indicators
RustySEO uses a TOML-based configuration system. Settings are automatically created in:
- Linux/macOS:
~/.config/rustyseo/settings.toml - Windows:
%APPDATA%\rustyseo\settings.toml
[crawler]
max_pages = 100
concurrency_limit = 10
enable_javascript = true
delay_ms = 1000
[connectors]
selected = "openai"
[connectors.openai]
model = "gpt-4"
api_key = "your-api-key-here"
[ui]
theme = "dark"
show_logs = true
auto_scroll = trueRustySEO automatically detects and reports on these SEO issues:
- 4xx Errors: Broken links and missing pages
- 5xx Errors: Server errors and downtime
- Missing H1: No primary heading tags
- Title Length: Too long (>60 chars) or too short (<30 chars)
- Meta Descriptions: Missing or too long (>160 chars)
- Missing Alt Text: Images without accessibility descriptions
- 3XX Redirects: Redirect chains and loops
- Internal Links: Broken internal navigation
- External Links: Dead outbound links
- Core Web Vitals: LCP, FID, CLS measurements
- Page Speed: Load time optimization suggestions
- Resource Analysis: Image and script optimization
RustySEO supports multiple AI providers for intelligent SEO recommendations:
- OpenAI GPT-4: Advanced reasoning and analysis
- Google Gemini: Fast and efficient insights
- Custom Endpoints: Bring your own AI service
- Context-Aware: AI understands your specific website data
- Actionable Advice: Get specific recommendations for each issue
- Natural Language: Ask questions in plain English
- Multi-Language: Support for various languages and regions
- Hierarchical website structure visualization
- Interactive folder/file exploration
- Quick navigation to specific pages
- Save frequently analyzed websites
- Organize by category or project
- Quick access from sidebar
- CSV export for spreadsheet analysis
- JSON export for programmatic use
- PDF reports for client presentations
- Real-time search across all data
- Fuzzy matching for flexible queries
- Filter by issue type or severity
# Clone the repository
git clone https://github.com/yourusername/rustyseo-cli.git
cd rustyseo-cli
# Install dependencies
cargo build
# Run tests
cargo test
# Run with debug output
RUST_LOG=debug cargo run# Run all tests
cargo test
# Run specific test module
cargo test crawler
# Run with coverage
cargo tarpaulin --out HtmlThis project uses:
- rustfmt for code formatting
- clippy for linting
- pre-commit hooks for quality assurance
We welcome contributions! Here's how to get started:
- 🐛 Report Bugs: Open an issue with detailed information
- 💡 Feature Requests: Suggest new features or improvements
- 📝 Documentation: Help improve README and code comments
- 🔧 Code Contributions: Fix bugs or implement new features
- 🧪 Testing: Write tests and improve coverage
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Commit your changes:
git commit -m 'Add amazing feature' - Push to the branch:
git push origin feature/amazing-feature - Open a Pull Request
- Follow the existing code style
- Add tests for new features
- Update documentation as needed
- Ensure all tests pass before submitting
This project is licensed under the MIT License - see the LICENSE file for details.
🚨 IMPORTANT NOTICE
RustySEO CLI is provided as-is for educational and analysis purposes. Users are responsible for:
- Compliance: Ensure you have permission to analyze websites
- Rate Limiting: Respect website robots.txt and rate limits
- Data Privacy: Handle sensitive data according to applicable laws
- Commercial Use: Check licensing for commercial applications
🔒 Privacy: No data is sent to external servers except for configured AI services. All crawling and analysis happens locally on your machine.
- Rust Community: For the amazing language and ecosystem
- Ratatui: For the excellent terminal UI framework
- Headless Chrome: For powerful browser automation
- All Contributors: Who help make this project better
- 🐛 Issues: GitHub Issues
- 💬 Discussions: GitHub Discussions
- 📖 Wiki: Project Wiki
- 🐦 Twitter: @RustySEO_CLI
