Keencrest guides

Free SEO audit of up to 100 pages: what a crawler checks

By Keencrest · 2026-11-01

Worked example: a real run of the Actor on 2026-11-01 against norvig.com, a long-running personal site whose robots.txt allows crawling (it disallows only /logs/). The findings are ordinary signs of a site that has been online for decades, not a criticism of it. Input: 15 pages, link check on.

An SEO audit is a crawl: a program fetches your pages the way a search engine would and reports what is missing or broken. The checks are mechanical, so you can run them yourself for pennies and keep the judgement calls (what to write, what to cut) for yourself. Here is what a crawler looks at, and what a real audit of 15 pages found.

What gets checked on every page

CheckWhy it matters
HTTP status and redirect chainErrors lose the page; long chains waste crawl budget and slow visitors
Title and meta description (length, missing, duplicated)These are the snippet people see in results
H1 countOne clear main heading per page
Canonical tag and noindex (meta tag and X-Robots-Tag header)A stray noindex removes a page from search; a missing canonical invites duplicates
Image alt textAccessibility and image search
Word countThin pages are flagged under 200 words
Internal links that return errorsDead ends for visitors and crawlers
Mobile viewport tag, structured data, hreflang, page weight, response timeMobile rendering, rich results, language targeting, speed

How the output is organised

Each page gets a 0 to 100 score and a list of issue codes in four severities (critical, high, medium, low). One summary row per site ranks the issues by how many pages they affect, so the first line of the table is the first thing to fix. A separate fix list has one row per issue with the URL, the severity and a plain-language hint, and downloads as a CSV for a spreadsheet or a task tracker.

A real run: 15 pages of norvig.com

MeasureResult
Pages audited15 (the cap was 15; the site has more)
Average score74 out of 100
Pages with a high-severity issue1 (a link to a page that returns 404)
Missing meta description15 of 15 pages
No mobile viewport tag14 of 15 pages
Images without alt text6 pages
Title shared with another page2 pages
Broken outbound links3 pages
Fix list rows90 (free)

The lesson in that table is the ranking: one broken internal link outranks 15 missing meta descriptions because a visitor hits it, while the descriptions only change how a snippet reads. A crawler's job is to put that order in front of you instead of 90 undifferentiated warnings.

What it cost

The Actor charges $0.008 per page audited, so 15 pages cost $0.12. The optional link check added $0.056 (56 links at $0.001, covered in the broken links guide). The fix list is free. A full 100 pages with no link check is $0.80, which fits inside the monthly credit of Apify's free plan.

How a polite crawler behaves

It reads robots.txt before every request and skips what the site disallows, honours Crawl-delay, identifies itself with a user agent that links to a page about it, backs off on 429 and 503 responses, and stops when it meets a bot-challenge page instead of working around it. Use it on your own site or on one that allows crawling.

Limits to know

Next: find broken external links and the post-migration redirect checklist.

Try it: SEO Site Audit on Apify. $0.008 per page audited, fix list free, link check $0.001 per link. The Apify free plan includes monthly credit, so a test run costs nothing out of pocket.

Related guides

All Keencrest guides