A lightweight web application that evaluates website URLs for SEO optimization and provides actionable improvement suggestions. Built with React, this tool analyzes HTML metadata tags, headings, content structure, and styling best practices.
- Title Tag Analysis: Checks length, presence, and optimization (30-60 characters recommended)
- Meta Description: Validates presence and length (120-160 characters recommended)
- Meta Keywords: Optional check (not required for modern SEO)
- Canonical URLs: Prevents duplicate content issues
- Open Graph Tags: Social media sharing optimization
- Twitter Cards: Twitter sharing optimization
- Heading Structure: H1, H2, H3 hierarchy validation
- Image Alt Text: Accessibility and SEO for images
- Mobile Viewport: Mobile responsiveness check
- CSS Best Practices: Styling and performance analysis
- Weighted scoring out of 100 points
- Visual score indicator with color-coded feedback
- Detailed breakdown of each SEO factor
- Priority-based suggestions (High, Medium, Low)
- Clean, modern dashboard design
- Responsive layout for desktop and mobile
- Real-time analysis with loading indicators
- Export functionality (JSON and CSV formats)
- Actionable improvement tips
- Multiple analysis methods (URL + Manual HTML input)
- Node.js (version 14 or higher)
- npm or yarn
-
Clone the repository
git clone <repository-url> cd seo-metadata-analyzer
-
Install dependencies
npm install
-
Start the development server
npm start
-
Open your browser Navigate to
http://localhost:3000
npm run build- Enter a URL: Input any website URL (with or without protocol)
- Click Analyze: The app will fetch and analyze the webpage
- Review Results: See your SEO score and detailed breakdown
- Get HTML Content: View page source of any website
- Copy HTML: Select all content (Ctrl+A, Ctrl+C)
- Paste & Analyze: Paste in the manual input field
- Get Results: Instant analysis without network issues
This error occurs due to CORS restrictions or proxy service limitations. Here are simple solutions:
-
Use Manual HTML Input (Recommended - 100% Success)
- Click "π Try Manual HTML Input Instead"
- Copy HTML from the website's page source
- Paste and analyze directly
-
Try Different Websites
- Some websites block proxy services
- Test with popular sites like
example.com
-
Use Browser Extensions
- Install SEO analyzer extensions
- Analyze pages directly from your browser
The app automatically tries multiple proxy services and provides clear fallback options:
- URL Analysis with proxy fallbacks
- Manual HTML Input (guaranteed to work)
- Browser Extension recommendations
src/
βββ components/ # React components
β βββ UrlInput.js # URL input and validation
β βββ ManualInput.js # Manual HTML input fallback
β βββ ScoreCircle.js # Circular score indicator
β βββ CheckItem.js # Individual check results
β βββ Results.js # Main results display
β βββ Suggestions.js # Improvement suggestions
βββ utils/
β βββ seoAnalyzer.js # Core SEO analysis logic
β βββ proxyService.js # Simple proxy fetching service
βββ App.js # Main application component
βββ App.css # Application styles
βββ index.js # React entry point
βββ index.css # Global styles
UrlInput: Handles URL input, validation, and form submissionManualInput: Fallback for direct HTML analysisScoreCircle: Displays the overall SEO score with visual feedbackCheckItem: Shows individual SEO check results with status indicatorsResults: Comprehensive results display with export functionalitySuggestions: Prioritized improvement recommendations
The scoring system evaluates 10 key SEO factors:
| Factor | Points | Description |
|---|---|---|
| Title Tag | 15 | Page title optimization |
| Meta Description | 15 | Search result description |
| Meta Keywords | 5 | Keywords meta tag |
| Canonical URL | 5 | Duplicate content prevention |
| Open Graph | 15 | Social media optimization |
| Twitter Cards | 10 | Twitter sharing optimization |
| Heading Structure | 10 | H1, H2, H3 hierarchy |
| Image Alt Text | 10 | Accessibility and SEO |
| Mobile Viewport | 10 | Mobile responsiveness |
| CSS Best Practices | 10 | Styling and performance |
- Simple fallback system with multiple proxy services
- Automatic retry logic when services fail
- Manual HTML input as guaranteed fallback
- Clear error messages with actionable solutions
- Mobile-first approach
- CSS Grid and Flexbox for layouts
- CSS custom properties for theming
- Optimized for all screen sizes
The application uses CSS custom properties for easy theming:
:root {
--primary-color: #2563eb;
--success-color: #10b981;
--warning-color: #f59e0b;
--error-color: #ef4444;
/* ... more variables */
}To add new SEO checks, modify src/utils/seoAnalyzer.js:
- Create a new analysis function
- Add it to the main
analyzeSEOfunction - Update the scoring calculation
- Add suggestions generation
- Chrome (latest)
- Firefox (latest)
- Safari (latest)
- Edge (latest)
- 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
- Built with React and modern web technologies
- Simple proxy service integration for CORS handling
- Manual HTML input fallback for maximum compatibility
- Inspired by popular SEO analysis tools
- Designed for developers and SEO professionals
If you encounter any issues or have questions:
- Check the troubleshooting section above for common solutions
- Use Manual HTML Input if URL analysis fails
- Check the Issues page
- Create a new issue with detailed information
- Include browser version and error messages
Happy SEO Analyzing! π