Complete SEO Audit Tool - Comprehensive Website SEO Analysis
Pricing
Pay per event
Complete SEO Audit Tool - Comprehensive Website SEO Analysis
Analyzes websites for SEO issues across meta tags, technical SEO, performance, links, and images. Generates 0-100 SEO scores per page with detailed recommendations and site-wide summary.
Pricing
Pay per event
Rating
5.0
(1)
Developer
My Smart Digital
Actor stats
4
Bookmarked
20
Total users
14
Monthly active users
13 days ago
Last modified
Categories
Share
Apify Actor for comprehensive SEO audit of websites with detailed scoring and actionable recommendations.
Description
This actor performs a complete SEO audit of websites, analyzing on-page SEO elements, technical SEO, content quality, performance metrics, and more. It provides detailed scores (0-100) per page and a comprehensive site-wide summary with actionable recommendations.
Features
On-Page SEO
✅ Meta Tags Analysis: Title, description, Open Graph, Twitter Cards, canonical URLs, robots meta
✅ Headings Structure: H1-H6 hierarchy validation and structure analysis
✅ Content Analysis: Word count, readability score, keyword density, thin content detection
✅ Content Intent: Detects informational, transactional, or navigational content
✅ H1/Title Consistency: Checks alignment between H1 and page title
Technical SEO
✅ HTTPS/SSL: Certificate validation, expiry date, issuer information, and mixed content detection
✅ Mobile Optimization: Viewport validation and responsive design checks
✅ Sitemap & Robots.txt: Detection and validation (including sitemap_index.xml and robots.txt parsing)
✅ Structured Data: JSON-LD, microdata, and RDFa detection with type identification
✅ AMP: AMP page detection
✅ Indexability: Checks if page is indexable (meta robots, canonical status)
✅ Rendering: JavaScript rendering analysis
✅ Pagination: Detects pagination and page numbers
Performance
✅ Core Web Vitals: LCP (Largest Contentful Paint), CLS (Cumulative Layout Shift), FID (First Input Delay)
✅ Page Speed Metrics: Page load time, Time to First Byte, First Contentful Paint, Speed Index
✅ Performance Timing: DOM content loaded, load complete, interactive time, Total Blocking Time
Links & Images
✅ Links Analysis: Internal/external links count, broken links detection, redirects, anchor text analysis
✅ Link Context: Differentiates links in navigation, footer, and content
✅ Images SEO: Alt text coverage, title attributes, file size (KB), format detection, optimization checks
Accessibility
✅ ARIA Labels: Detection and counting
✅ Language Attributes: HTML lang attribute validation
✅ Skip Links: Navigation accessibility checks
✅ Color Contrast: Basic contrast validation
Scoring & Reporting
✅ Overall SEO Score: 0-100 score per page
✅ Category Scores: Individual scores for each SEO category
✅ Issue Detection: Critical, warnings, and info issues with specific recommendations
✅ Structured Issues: Issues with ID, category, priority, estimated impact, and fix hints
✅ Site Summary: Average scores, top issues, score distribution, and crawl coverage
Input
{"startUrls": ["https://example.com"],"crawlPages": false,"maxPages": 50,"maxConcurrency": 5,"auditMetaTags": true,"auditHeadings": true,"auditContent": true,"auditTechnical": true,"auditPerformance": true,"auditSchema": true,"auditLinks": true,"auditImages": true,"auditAccessibility": true}
Parameters
- startUrls (required) : List of URLs to start auditing from
- crawlPages (optional, default: false) : Enable crawling of pages to audit multiple pages
- maxPages (optional, default: 50) : Maximum number of pages to crawl and audit
- maxConcurrency (optional, default: 5) : Number of pages to audit concurrently
- auditMetaTags (optional, default: true) : Audit meta tags (title, description, OG tags, etc.)
- auditHeadings (optional, default: true) : Audit heading structure (H1-H6)
- auditContent (optional, default: true) : Analyze content quality, length, keywords
- auditTechnical (optional, default: true) : Audit technical aspects (HTTPS, canonical, robots, etc.)
- auditPerformance (optional, default: true) : Analyze page speed and Core Web Vitals
- auditSchema (optional, default: true) : Check for structured data (JSON-LD, microdata)
- auditLinks (optional, default: true) : Analyze internal and external links
- auditImages (optional, default: true) : Basic image SEO checks
- auditAccessibility (optional, default: true) : Basic accessibility checks
Output
The actor generates two types of records:
Page Record
Each page record contains a complete audit with:
- Overall SEO score (0-100)
- Category-specific scores (metaTags, headings, content, technical, performance, links, images, accessibility)
- Detailed audit results for each category
- List of issues (critical, warnings, info) with structured metadata
- Crawl depth information
Site Summary
The site summary provides:
- Average SEO score across all pages
- Category averages
- Top issues across the site
- Score distribution (excellent, good, needs improvement, poor)
- Crawl coverage statistics
- Duplicate titles and descriptions detection
Example Output
Page Record Example
{"type": "page","pageUrl": "https://example.com/","title": "Example - Home Page","httpStatus": 200,"audit": {"overallScore": 75,"categoryScores": {"metaTags": 80,"headings": 90,"content": 70,"technical": 85,"performance": 65,"links": 75,"images": 60,"accessibility": 70},"metaTags": {"title": {"present": true,"value": "Example - Home Page","length": 20,"lengthPixels": 130,"isOptimal": true,"recommendation": null},"description": {"present": true,"value": "Welcome to Example website","length": 25,"lengthPixels": 163,"isOptimal": false,"recommendation": "Description too short (25 characters, ~163px). Recommended: 120-160 characters (~780-1040px)."},"canonical": {"present": true,"url": "https://example.com/","selfReferencing": true}},"headings": {"h1": {"count": 1,"text": ["Main Heading"],"isOptimal": true},"h2": {"count": 3,"text": ["Section 1", "Section 2", "Section 3"]}},"content": {"wordCount": 500,"characterCount": 3000,"paragraphCount": 10,"readabilityScore": 65,"intent": "informational","h1TitleConsistency": true},"performance": {"pageLoadTime": 2500,"timeToFirstByte": 300,"firstContentfulPaint": 1200,"largestContentfulPaint": 1800,"cumulativeLayoutShift": 0.1,"coreWebVitals": {"lcp": 1800,"cls": 0.1}},"links": {"internal": {"count": 25,"unique": 20},"external": {"count": 5,"unique": 5},"broken": {"count": 1,"urls": ["https://example.com/broken-page"],"verified": [{"url": "https://example.com/broken-page","statusCode": 404,"error": "Not Found"}]}},"images": {"total": 10,"withAlt": 8,"withoutAlt": 2,"details": [{"url": "https://example.com/image.jpg","alt": "Example image","hasAlt": true,"sizeKB": 150,"format": "jpeg"}]},"issues": {"critical": [{"id": "MISSING_ALT_TEXT","message": "2 images missing alt text","category": "images","priority": 5,"estimatedImpact": "high","fixHint": "Add descriptive alt text to all images for better accessibility and SEO.","pagesAffected": ["https://example.com/"]}],"warnings": [],"info": []},"crawlDepth": 0}}
Site Summary Example
{"type": "site-summary","pagesCrawled": 10,"averageScore": 72,"categoryAverages": {"metaTags": 78,"headings": 85,"content": 70,"technical": 80,"performance": 65,"links": 75,"images": 60,"accessibility": 70},"topIssues": [{"issue": "Missing alt text on images","count": 8,"pages": ["https://example.com/page1", "https://example.com/page2"]}],"distribution": {"excellent": 2,"good": 5,"needsImprovement": 2,"poor": 1},"crawlCoverage": {"pagesCrawled": 10,"indexable": 9,"nonIndexable": {"noindex": 1,"canonicalized": 0,"errors4xx": 0,"errors5xx": 0,"redirects": 0},"maxDepth": 3},"duplicateTitles": [{"title": "Example - Home Page","count": 2,"pages": ["https://example.com/", "https://example.com/index"]}]}
Scoring
Scores are calculated on a 0-100 scale:
- 80-100: Excellent
- 60-79: Good
- 40-59: Needs Improvement
- 0-39: Poor
Each category has its own scoring algorithm based on SEO best practices.