SEO Audit Crawler — Broken Links, Duplicates & 0-100 Score
Pricing
from $1.60 / 1,000 audited pages
SEO Audit Crawler — Broken Links, Duplicates & 0-100 Score
Crawl a website and audit every page for SEO: titles, meta descriptions, headings, canonical, noindex, alt text, viewport, Open Graph, structured data, speed, broken internal links and duplicate titles, with a 0-100 score. Rerun to see new and fixed issues. $2 per 1,000 pages.
Pricing
from $1.60 / 1,000 audited pages
Rating
0.0
(0)
Developer
Northbell
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Security
Limited permissionsShare
Give it a website and it crawls the pages (sitemap first, then links) and audits each one for SEO: title, meta description, H1, canonical, noindex, alt text, viewport, Open Graph, structured data, word count, response time — plus the site-level problems a single-page checker cannot see: broken internal links (with the pages that link to them), redirects, duplicate titles and duplicate descriptions — and, if you turn it on, broken links to other websites (404s, server errors, dead domains). Every page gets a 0-100 score and a list of issues in plain words. Schedule it and turn on Only pages with new issues to get back only what broke since the last run.
Try it now. The input is already filled in. Press Start: 10 pages of docs.apify.com/academy — 10 pages audited in about 2 seconds, for $0.03 (measured on 28 Oct 2026), average score 90. Three of the rows:
url | score | issues |
|---|---|---|
| https://docs.apify.com/academy | 95 | images-missing-alt |
| https://docs.apify.com/sdk | 77 | missing-description, images-missing-alt, duplicate-title |
| https://docs.apify.com/open-source | 82 | missing-description, duplicate-title |
A free summary row closes the run: pages found (736 on that site), issue counts and which pages share a title.
What you get
| Row | Fields |
|---|---|
page | url, statusCode, score, issues, issueDetails (level and explanation), newIssues, title, titleLength, description, descriptionLength, h1, h1Count, h2Count, canonicalUrl, canonicalIsSelf, robotsMeta, xRobotsTag, noindex, lang, hreflangCount, viewport, openGraph, wordCount, imageCount, imagesMissingAlt, internalLinkCount, externalLinkCount, structuredDataTypes, brokenLinks, brokenExternalLinks (with Check links to other websites), sameTitleAs, sameDescriptionAs, redirectedFrom, responseMs, htmlBytes, depth |
page (error status) | url, statusCode (404, 410, 5xx), score: 0, linkedFrom — the pages that link to it. Free |
summary | one per website: pagesFound, pagesAudited, averageScore, brokenPages, redirects, brokenExternalLinkCount and brokenExternalLinks (each with linkedFrom), issueCounts, duplicateTitles, newIssues, fixedIssues, notAudited, skippedByRobots. Free |
error | url, message — free |
Issues checked: broken-page, noindex, missing-title, missing-h1, missing-description, canonical-elsewhere, duplicate-title, duplicate-description, links-to-broken-page, links-to-broken-external-page, thin-content (under 200 words), title-too-long / -short, description-too-long / -short, multiple-h1, images-missing-alt, missing-lang, missing-viewport, missing-open-graph, slow-response (over 2 s), large-html (over 1 MB), redirected. The score starts at 100 and loses points per issue (a page that answers with an error scores 0).
Use it for
- Client SEO audits: a full page-by-page sheet in minutes, ready to sort by score or filter by issue
- Monitoring your own site: schedule it weekly with Only pages with new issues: a new 404, a page that started saying
noindex, a template that lost its H1 - Before and after a migration or redesign:
fixedIssuesandnewIssuesin the summary show what changed - Broken link checks: internal and external links, with the exact pages to fix
- Content cleanup: duplicate titles and descriptions, thin pages, images without alt text
Input
{ "startUrls": ["https://docs.apify.com/academy"], "maxPages": 100, "scope": "path", "onlyNewIssues": false }
Measured on 23 October 2026: 15 pages of docs.apify.com/academy audited in 2.7 seconds (average score 98; 7 descriptions too long, 2 titles too long, 1 page with images missing alt text).
How it crawls
- Each website's robots.txt is read first and its rules are followed (those for all robots and those addressed to Claude crawlers); if robots.txt cannot be read (server error), the site is skipped with a free error row. Private network addresses are not read.
- Pages are fetched over plain HTTP, 4 at a time, without a browser — fast and cheap, but pages that only show their content after JavaScript runs are audited as the server sends them (which is also what many crawlers see first).
- Pages that answer 401, 403 or 429 come back as free error rows, not as broken pages.
- Check links to other websites checks each external address once after the crawl (HEAD, or GET when HEAD is not accepted), after reading that site's robots.txt. 404, 410, 5xx and domains that no longer exist count as broken; 401, 403 and 429 mean the site refused an automated check and are not counted as broken; links its robots.txt does not allow are listed as not checked.
- Only pages with new issues compares with this Actor's last run on the same start URL.
Pricing
$2 per 1,000 audited pages ($0.002 each), plus $0.01 per run. Error-status page rows, the summary and error rows are free; with Only pages with new issues, pages without new issues are free too. The $0.01 run-start fee is the one charge every run pays, even one that returns nothing.
For AI agents
{"startUrls": ["https://example.com"], "maxPages": 50} returns one page row per page with score and issues, and one summary row with averageScore and issueCounts. Rows have type: page, summary or error.