Most SEO crawlers answer "what is wrong?" and leave "what do I do about it?" to you. Many also read only the raw HTML, so a JavaScript-rendered site looks empty to them.
I wanted a crawler I could point at a whole site that would give back a score, the reason behind every point lost, and the fix for each problem. It also had to cope with sites that block plain requests or render in the browser. So I built one on Apify.
The whole input
{
"startUrls": [{ "url": "https://www.python.org/" }],
"maxPages": 20
}
What came back (a real run, September 2026)
The run took 3 seconds for 20 pages. Every page has a 0–100 score, scores for 12 categories, and a list of issues, each with a fix:
{
"url": "https://www.python.org/community/irc/",
"score": 91,
"categoryScores": { "technical": 100, "indexing": 94, "meta": 100, "headings": 79, "content": 100, "images": 100 },
"via": "direct",
"issues": [
{
"id": "heading-skip",
"severity": "notice",
"message": "Heading levels are skipped (H1 to H3: \"The PSF\").",
"category": "headings",
"fixHint": "Do not skip heading levels (e.g. H2 then H4); use the next level down for sub-sections.",
"impact": "low"
}
]
}
The run also writes a site report in Markdown that you can hand straight to a client. For python.org it said:
- Average score 94.4 / 100, with all 20 pages in the 80–100 band.
- No XML sitemap found in robots.txt or at /sitemap.xml.
-
3 internal links point to redirects, e.g.
/psf/→/psf-landing/. Link to the final URL instead. - The most common issues were multiple H1s (10 pages), a missing canonical (20 pages) and skipped heading levels (10 pages), each with its fix.
Notice the "via": "direct" above. python.org refuses requests from some cloud IP ranges. When our backend is refused, the Actor retries from Apify's network, and it only starts a real browser if that fails too. If a site builds its content with JavaScript, the browser renders it before the audit.
What it checks
-
Per page: title and meta description length, H1 (missing, empty, several), skipped heading levels, canonical, noindex (meta tag and X-Robots-Tag), alt text (
alt=""is correctly treated as decorative), viewport, lang, Open Graph and Twitter cards, hreflang (invalid codes, missing x-default and missing return links), slow responses, redirect chains, thin content. - Structured data: JSON-LD and Microdata validated against Google's rich result rules.
- Across the site: missing sitemap; sitemap URLs that fail, redirect or are noindex; canonical tags pointing to error pages; internal links to redirects; duplicate titles, descriptions, H1s and content.
- Optional: broken and oversized images, PageSpeed Insights (Core Web Vitals, bring your free Google API key), and comparison with the previous run (score changes, new and fixed issues) for weekly monitoring.
Price
$5 per 1,000 pages, with no start fee. Broken pages, blocked pages and failed pages are not charged. The most-used site-audit crawler on the Apify Store charges $40 per 1,000 pages (checked September 2026).
Use it from an AI agent
Add Apify's MCP server with https://mcp.apify.com?tools=tidytools/seo-audit-crawler to Claude, Cursor or any MCP client, then ask "audit the first 50 pages of example.com and list the top 5 fixes". Failed items come back with an errorType, so the agent knows what happened.
Try it here: https://apify.com/tidytools/seo-audit-crawler
Top comments (0)