Free SEO audit of up to 100 pages: what a crawler checks
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
| Check | Why it matters |
|---|---|
| HTTP status and redirect chain | Errors 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 count | One 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 text | Accessibility and image search |
| Word count | Thin pages are flagged under 200 words |
| Internal links that return errors | Dead ends for visitors and crawlers |
| Mobile viewport tag, structured data, hreflang, page weight, response time | Mobile 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
| Measure | Result |
|---|---|
| Pages audited | 15 (the cap was 15; the site has more) |
| Average score | 74 out of 100 |
| Pages with a high-severity issue | 1 (a link to a page that returns 404) |
| Missing meta description | 15 of 15 pages |
| No mobile viewport tag | 14 of 15 pages |
| Images without alt text | 6 pages |
| Title shared with another page | 2 pages |
| Broken outbound links | 3 pages |
| Fix list rows | 90 (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
- A crawler sees what a visitor without a login sees. Pages behind a form or a login are not audited.
- Pages built only by JavaScript in the browser may show fewer links than a visitor sees.
- The score is a prioritising aid, not a ranking prediction. Fixing every low-severity warning does not move rankings by itself.
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.