Technical SEO Site Auditor & Broken Link Checker
Pricing
from $5.00 / 1,000 page auditeds
Technical SEO Site Auditor & Broken Link Checker
Crawl any website and audit every page: titles, meta descriptions, H1s, canonicals, noindex, broken links, redirects, alt text, structured data, duplicates, speed. 40+ checks, score per page, site summary. No browser, fast and cheap.
Pricing
from $5.00 / 1,000 page auditeds
Rating
0.0
(0)
Developer
Parth
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Crawl any website and get a page-by-page technical SEO audit in minutes. Paste a homepage URL — the Actor follows internal links (and your XML sitemap), runs 40+ on-page and technical checks on every page, checks every internal link for 4xx/5xx errors, and gives each page a 0–100 health score with a clear list of issues to fix. Plus a free per-site summary with duplicate titles, duplicate meta descriptions, robots.txt, sitemap and HTTPS checks.
It works with plain, fast HTTP requests (no headless browser), so it's cheap: $5 per 1,000 audited pages, with no monthly fee.
What does it check?
| Area | Checks |
|---|---|
| Status & redirects | 4xx / 5xx pages, failed requests, redirects and redirect chains, HTTP vs HTTPS, HTTP→HTTPS redirect, slow server response (TTFB) |
| Titles & meta | Missing / too long / too short / multiple <title>, missing / too long / too short / duplicate meta description, duplicate titles across the site |
| Headings | Missing H1, multiple H1s, H1 identical to title, H2/H3 counts |
| Indexability | noindex / nofollow in meta robots and X-Robots-Tag, canonical missing / pointing elsewhere / multiple, robots.txt blocking |
| Links | Broken internal links (and optionally external links) with the page they appear on, internal/external/nofollow link counts |
| Content | Word count / thin content, images without alt, mixed content (HTTP resources on HTTPS pages), large HTML |
| Mobile & i18n | Viewport meta tag, <html lang>, hreflang alternates, charset |
| Social & rich results | Open Graph (og:title, og:image), Twitter card, JSON-LD / microdata types, invalid JSON-LD |
| URLs | Too long, uppercase letters, underscores |
| Site level (free row) | robots.txt found, sitemap found and size, HTTP→HTTPS redirect, duplicate titles & descriptions, issue totals, average score |
How to use it
- Add one or more start URLs (usually homepages).
- Set Max pages per site (start with 20–100 to try it).
- Choose the broken link check scope: internal links (default), all links, or none.
- Click Start. Results appear as a table you can export to CSV, Excel, JSON or Google Sheets, or fetch via API.
Tip: schedule it weekly to catch new broken links, accidental noindex tags and missing titles before Google does.
Input example
{"startUrls": [{ "url": "https://www.example.com/" }],"maxPagesPerSite": 200,"maxDepth": 5,"useSitemap": true,"checkLinks": "internal","excludeUrlPatterns": ["**/tag/**", "**?replytocom=*"],"respectRobotsTxt": true}
Output example
One row per audited page (sorted worst-first), plus one free site summary row per website:
{"recordType": "page","url": "https://www.example.com/blog/old-post","statusCode": 200,"score": 64,"errorsCount": 1,"warningsCount": 3,"issuesSummary": "meta_description_missing, h1_missing, images_missing_alt, broken_links","title": "Old post | Example","titleLength": 18,"metaDescription": null,"h1Count": 0,"canonical": "https://www.example.com/blog/old-post","canonicalStatus": "self","indexable": true,"wordCount": 412,"imagesMissingAlt": 2,"brokenLinksCount": 1,"brokenLinks": [{ "url": "https://www.example.com/deleted-page", "status": 404, "internal": true }],"responseTimeMs": 182,"structuredDataTypes": ["BlogPosting", "BreadcrumbList"],"issues": [{ "code": "meta_description_missing", "severity": "warning", "message": "Missing meta description" },{ "code": "broken_links", "severity": "error", "message": "1 broken link(s) on this page" }]}
Dataset views: Pages overview, Broken links, and Site summaries.
Pricing
Pay only for what you use (pay-per-event), no subscription:
| Event | Price | When |
|---|---|---|
| Page audited | $0.005 ($5 / 1,000 pages) | Each crawled page saved with its full audit |
| Extra link checked | $0.0002 ($0.20 / 1,000 links) | Each unique link that isn't itself a crawled page, checked for broken status |
| Actor start | $0.00005 | Once per run |
Pages blocked by robots.txt and the per-site summary rows are free. A 100-page site with internal link checking typically costs about $0.50–0.60. You can cap spend with the "Max cost per run" setting; the Actor stops cleanly when it's reached.
FAQ
Does it render JavaScript? No. It audits the HTML your server returns — the same HTML search engine crawlers fetch first. Sites that build all content client-side (pure SPAs) will show thin content; that is itself a useful SEO signal.
Will it overload my site? It uses 5 parallel requests by default, honors robots.txt and Crawl-delay, and identifies itself with a transparent user agent. You can lower concurrency.
Can I audit only a section? Yes — use Only audit URLs matching (e.g. https://example.com/blog/**) and Skip URLs matching.
How is the score calculated? 100 minus 15 per error, 5 per warning and 1 per notice (minimum 0). Use it to prioritize, not as an official Google metric.
Can I check external links too? Set Broken link check to Internal + external links.
Is there an API? Yes — like every Apify Actor you can run it via the Apify API, Python/JS clients, Make, Zapier or n8n, and schedule it.
Questions or feature requests? Open an issue on the Actor's Issues tab.