SEO audit: what to check, and what the tools really cost
The nineteen checks an SEO audit should cover, each taken from Google's own documentation, then what seven audit tools cost to run them on a site of 500, 10,000 or 100,000 pages. A small site can be audited for nothing; for a big one, desktop software costs a fraction of the cloud suites.
Last checked: 7 Nov 2026 · every check from Google's own Search documentation · every price read off the vendor's own page · one affiliate link, to SE Ranking, marked Ad — how this works
Jump to: the checklist · what the tools cost · the short answer
The checklist
Work down it in order: if Google can't crawl and index a page (checks 1–10), nothing further down matters for that page. Each check says why it matters and how to test it, and links to the Google page it comes from. Most can be done with Google Search Console, which is free, plus a crawler: the tools priced below.
Size changes the work less than you'd think. Google says a site of “about 500 pages or fewer” may not need a sitemap, and that crawl budget is only worth managing on sites with 1 million+ pages, or 10,000+ pages that change daily.
Can Google crawl and index it? checks 1–10
Google can reach the pages you want found (robots.txt isn't blocking them)
Why Pages blocked by robots.txt are unlikely to appear in Google. robots.txt controls crawling, so a wrong Disallow line can hide whole sections.
How to check Read yoursite.com/robots.txt and check no Disallow rule covers pages you want in search. Crawl the site and list URLs blocked by robots.txt. In Search Console, look at the Page Indexing and Crawl Stats reports, and test single pages with the URL Inspection tool.
Google's own words: “Pages that are blocked by robots.txt are unlikely to show in Google Search results.”
Pages you want kept out of Google use noindex, and noindex isn't on pages you want found
Why noindex is how you keep a page out of the results, but Google only sees it if the page is crawlable. A page with noindex that is also blocked in robots.txt can still show up. A stray noindex on a template removes good pages.
How to check Crawl the site and list every page with a noindex meta tag or X-Robots-Tag header. Check each one is meant to be hidden, and that none of them is also disallowed in robots.txt.
Google's own words: “For the noindex rule to be effective, the page or resource must not be blocked by a robots.txt file”
Pages you want indexed return 200, and the server isn't throwing 5xx errors
Why Google only indexes pages that return HTTP 200. Server errors make Google slow its crawling and, if they last, drop pages it had indexed.
How to check Crawl the site and filter for any status that isn't 200 on pages you link to or list in your sitemap. Watch for 5xx and 429 responses. Check single URLs with Search Console's URL Inspection tool.
Google's own words: “Google only indexes pages that are served with an HTTP 200 (success) status code.”
Removed pages return a real 404 or 410, and there are no soft 404s
Why A 4xx tells Google the page is gone, and Google drops it from the index. A page that says 'not found' (or is empty) but returns 200 is a soft 404: Google reports it as an error and keeps crawling it.
How to check Crawl for broken internal links (4xx) and fix or remove the links. Spot-check deleted URLs return 404 or 410, not 200 or a redirect to the home page. Look for soft 404s in Search Console's Page Indexing report.
Google's own words: “Google doesn't index URLs that return a 4xx status code”
Moved pages use permanent server-side redirects, without long chains
Why Server-side 301 or 308 redirects are the type Google is most likely to read correctly, and they tell Google to show the new URL. Google's crawler gives up after 10 redirect hops.
How to check Crawl the site and list every redirect: check permanent moves use 301/308 (not 302 or JavaScript), that internal links point straight at the final URL, and that no chain runs several hops or loops.
Google's own words: “By default, Google's crawlers follow up to 10 redirect hops.”
Each page has one canonical URL, and your signals agree
Why When the same content lives at several URLs, Google picks one as canonical. Your
rel="canonical", redirects and sitemap are hints, not rules, and conflicting hints make Google's choice less predictable.How to check Crawl and check every indexable page has a
rel="canonical"pointing to itself or the preferred version. Check canonical targets return 200, aren't redirected or noindexed, and match the URLs in your sitemap. In Search Console's URL Inspection, compare 'Google-selected canonical' with yours.Google's own words: “indicating a canonical preference is a hint, not a rule.”
The whole site is on HTTPS, with no HTTP leftovers
Why Google prefers the HTTPS version of a page as canonical unless something undercuts it: a bad certificate, insecure dependencies, or redirects back to HTTP. Secure pages are also one of Google's page-experience questions.
How to check Check every http:// URL redirects to its https:// version in one hop, the certificate is valid, nothing redirects from HTTPS back to HTTP, and pages don't load scripts or styles over HTTP. Make sure the sitemap and hreflang list HTTPS URLs only. Search Console has an HTTPS report.
Google's own words: “Google prefers HTTPS pages over equivalent HTTP pages as canonical”
Your XML sitemap lists only the canonical URLs you want in search
Why A sitemap tells Google which URLs you prefer. It should hold full, absolute canonical URLs and stay within 50,000 URLs or 50MB per file. Google says a site of about 500 pages or fewer may not need one, but a large site does.
How to check Open the sitemap and crawl its URLs: every one should return 200, be indexable, use https and be the canonical version. Check for important pages missing from it. Submit it in Search Console and check the Sitemaps report.
Google's own words: “All formats limit a single sitemap to 50MB (uncompressed) or 50,000 URLs.”
Internal links are real
<a href>links Google can followWhy Google finds pages through links, but it can generally only follow an
<a>element with an href. Menus or buttons that navigate by script can leave pages undiscovered.How to check Crawl with JavaScript off and compare with a JavaScript-rendered crawl: pages only reachable in the rendered crawl, or not at all, rely on links Google may not follow. Look for orphan pages (in the sitemap but linked from nowhere).
Google's own words: “Generally, Google can only crawl your link if it's an
<a>HTML element (also known as anchor element) with an href attribute.”Your content is in the rendered HTML (JavaScript sites)
Why Google renders JavaScript before indexing, but it can only index what ends up in the rendered HTML. Google still recommends server-side or pre-rendering.
How to check For a sample of templates, use Search Console's URL Inspection tool (or the Rich Results Test) and look at the rendered HTML: the main text, links, title and canonical should all be there. A crawler with JavaScript rendering can compare raw and rendered HTML across the site.
Google's own words: “If the content isn't visible in the rendered HTML, Google won't be able to index it.”
Does it work on a phone, and fast? checks 11–13
The mobile version has the same content and metadata as desktop
Why Google indexes the mobile version of your site. Anything missing on mobile, including text, titles and meta descriptions, or content that only loads when someone taps or swipes, isn't indexed.
How to check Crawl the site with a mobile user agent and compare it with a desktop crawl: same main text, headings, titles, meta descriptions, structured data and links. Check nothing important loads only on a click or swipe.
Google's own words: “Only the content shown on the mobile site is used for indexing.”
Core Web Vitals are in the 'good' range
Why Google's ranking systems use Core Web Vitals. Google's targets: Largest Contentful Paint within 2.5 seconds, Interaction to Next Paint under 200 milliseconds, Cumulative Layout Shift under 0.1. Good scores don't guarantee top rankings.
How to check Open Search Console's Core Web Vitals report, which uses real visitors' data, grouped by page type. Test individual templates in PageSpeed Insights. Fix the slowest page types first.
Google's own words: “Core Web Vitals are used by our ranking systems.”
Pages work well on phones, with no intrusive pop-ups or ad clutter
Why Google's page-experience questions also ask whether content displays well on mobile, avoids intrusive interstitials, and doesn't bury the main content under ads.
How to check Open your main templates on a phone: can you read the content straight away, or does a pop-up, cookie wall or ad block it? Is the main content easy to tell apart from everything else?
Google's own words: “Do your pages avoid using intrusive interstitials?”
What shows in the results checks 14–18
Every page has a unique, descriptive
<title>Why The
<title>element is the main source of the title link Google shows. Missing, vague ('Home'), very long or keyword-stuffed titles make for poor results.How to check Crawl and list pages with a missing, empty, duplicate or very long
<title>, or the same words repeated. Rewrite the most important pages first.Google's own words: “Make sure every page on your site has a title specified in the
<title>element.”Meta descriptions are unique to each page
Why Google sometimes uses the meta description as the snippet. The same description on every page doesn't help anyone choose between your results.
How to check Crawl and list pages with missing or duplicate meta descriptions. Write unique ones for the home page and the most visited pages first; for large database sites, generate them from page-specific data.
Google's own words: “Identical or similar descriptions on every page of a site aren't helpful when individual pages appear in search results.”
Structured data is valid and matches what's on the page
Why Structured data can make pages eligible for rich results, but only if it's valid and describes content visitors can see. Marking up hidden content can lead to a manual action, and even valid markup isn't guaranteed to show.
How to check Test each template in Google's Rich Results Test. After launch, check Search Console's rich result reports for errors. Make sure every marked-up fact (price, rating, author, date) is visible on the page.
Google's own words: “Don't mark up content that is not visible to readers of the page.”
hreflang is complete and reciprocal (sites in more than one language or country)
Why hreflang tells Google which language or regional version to show. Each version must list itself and all the others with full URLs, or Google may ignore the set.
How to check Crawl the hreflang annotations and check every page lists itself and every alternate, that the alternates link back, that URLs are absolute https URLs returning 200, and that an x-default is set for unmatched languages.
Google's own words: “Each language version must list itself as well as all other language versions.”
Images have useful alt text
Why Alt text is the most important image metadata for Google, and helps people using screen readers. Stuffing it with keywords can look like spam.
How to check Crawl and list images with missing or empty alt attributes on content images. Write short, specific descriptions; skip keyword lists.
Google's own words: “The most important attribute when it comes to providing more metadata for an image is the alt text”
Is anything holding it back? check 19
Nothing breaks Google's spam policies, and Search Console shows no manual actions or security issues
Why Sites that break Google's spam policies (hidden text, cloaking, hacked content and so on) can rank lower or disappear. Search Console tells you if Google has taken a manual action or found a hack.
How to check Open Search Console's Manual Actions and Security Issues reports. Crawl for hidden text and links (white-on-white, off-screen) and for pages you don't recognise, which can be a sign of a hack. Compare what users and Googlebot see on key pages.
Google's own words: “Sites that violate our policies may rank lower in results or not appear in results at all.”
What the audit tools cost
Seven crawlers, priced by the size of the site you need to audit in one go. Each counts its allowance differently (URLs per crawl, pages a month, pages a week), so pick your site's page count and each tool is priced at its cheapest plan that fits.
The short answer
Cheapest at 500 pages: Screaming Frog, free. Its free version crawls up to 500 URLs, so a 500-page site sits right at the cap. Ahrefs Free also costs nothing, but only on a site you can verify you own. The cheapest paid plan at this size is Sitebulb Lite, £12.50 a month.
Cheapest at 10,000 pages: Sitebulb — £12.50 a month for Lite, whose cap is 10,000 URLs per audit, so a site this size sits right on it. Next is Screaming Frog's licence, £199 a year (£16.58 a month).
Cheapest at 100,000 pages: Screaming Frog — £16.58 a month (£199 a year), with no URL cap beyond your computer's memory and storage. Sitebulb Pro is £30 a month for 500,000 URLs per audit. Every cloud tool with a published price costs more, from £73.96 (Moz Pro) to £359 (Ahrefs) a month.
Semrush: no published price at 100,000 pages. Its SEO (£113.40 a month), Starter (£161.25) and Pro+ (£242.28) plans all stop at 20,000 pages per site; only Advanced, priced on request, audits up to 100,000.
Ahrefs is free only for your own site. Ahrefs Free gives 5,000 crawl credits a month per verified site, and credits count only HTML pages that return 200, not redirects, broken URLs or images. Starter (£23) adds one unverified site of up to 500 pages. A 10,000-page site needs Lite (£99); 100,000 pages needs Advanced (£359), because Standard (£199) stops at 50,000 pages per project.
SE Ranking is the same £95 at every size: Core audits 250,000 pages a month, up to 250,000 per project.
Moz counts pages per week, not per audit, because it re-crawls every week: Starter ($49) allows 5,000 a week, Standard ($99) 100,000. A 100,000-page site fills Standard exactly, with no room to grow.
JetOctopus sells no monthly plan. The minimum is $459 a month billed quarterly ($349 on annual billing) for 500,000 URLs a month, and the trial comes only after a demo. It is the dearest option at 500 and 10,000 pages.
When the cheapest is not the answer
- Desktop crawlers run on your own computer. Screaming Frog and Sitebulb are the cheapest way to audit a big site, but how big a site they can handle depends on your computer's memory and storage. The cloud tools run on the vendor's servers, and Semrush, Ahrefs, SE Ranking and Moz Pro bundle the audit with keyword research, rank tracking and backlinks: if you need those anyway, compare the whole bundle.
- Cheap tiers leave checks out. Screaming Frog's free version restricts crawl configuration, saving crawls and JavaScript rendering, so check 10 across a whole site needs the paid licence (Search Console's URL Inspection still covers one page at a time). Sitebulb Lite has no Performance & Mobile Friendly, Structured Data or International & Hreflang reports (checks 12, 13, 16 and 17 here); those are in Pro. Semrush renders JavaScript only from its Pro+ plan.
- Caps that count URLs, not pages, are tighter than they look. Screaming Frog, Sitebulb and JetOctopus count every URL they crawl, so redirects, error pages and any images or scripts crawled use up the allowance; a site right at a cap may not fit. Screaming Frog's own guide suggests unticking images, CSS and JavaScript to crawl only HTML. Ahrefs counts only HTML pages that return 200.
- Search Console is free and covers a lot of this list. Its Page Indexing, Core Web Vitals, Manual Actions and Security Issues reports and the URL Inspection tool are Google's own view of your site. A crawler adds the site-wide view: every title, redirect and canonical at once. Semrush's free account crawls 100 pages a month.
- Annual billing is cheaper, but locks you in. Semrush's SEO plan is £95.07 a month billed yearly, SE Ranking Core £76, Moz Standard $79, JetOctopus Growth $349. Every figure in the comparison is the shortest term each vendor sells.
- Prices are as shown, before any VAT. Dollar prices move with the exchange rate, and a vendor that sets its currency by location may show a UK visitor something different.
Who made this page
An AI agent read each tool's pricing page in a real browser, switched it to monthly billing (and to pounds, where the page offers it), and copied the sentence behind every figure; code checked each sentence was really on the page before it could be used. The checklist was built the same way from Google's own Search documentation, and every check links to the page it comes from.
This page replaces an older SEO audit checklist on this site.
How this page earns. One link on it is an affiliate link: the one marked Ad beside SE Ranking. If you buy a plan through it, SE Ranking pays this site a commission; it costs you nothing extra, and a plain link to the same company sits right beside it. Being paid never changes the order: it is by price, nothing else. The cheapest options here, Screaming Frog, Sitebulb and Ahrefs Free, pay this site nothing: none of them runs an affiliate programme. Semrush, Moz and JetOctopus do; this site hasn't joined them, and if it does, those links will be marked Ad too.
How the numbers are worked out
monthly cost = the cheapest plan that can audit the whole site in one go, inside every limit the plan sets, at the shortest billing term sold: monthly, except Screaming Frog (a yearly licence ÷ 12) and JetOctopus (quarterly)
Each tool counts the size of a site its own way:
- Screaming Frog: URLs per crawl (free 500; paid, limited by your computer)
- Sitebulb: URLs per audit
- Semrush: pages a month, and 20,000 per site below Advanced
- Ahrefs: crawl credits a month (one per HTML page that returns 200), and a cap on pages per project
- SE Ranking: pages a month, per account and per project
- Moz Pro: pages crawled per week, because it re-crawls every week
- JetOctopus: URLs crawled a month
| Tool | 500 pages | 10,000 pages | 100,000 pages |
|---|---|---|---|
| Screaming Frogdesktop app for Windows, Mac and Linux | freeFree version, 500 URLs per crawl (right at the cap) | £16.58£199 a year licence, shown per month — no monthly option | £16.58£199 a year licence, shown per month — no monthly option; no URL cap beyond your computer's memory |
| Sitebulbdesktop app; Lite leaves out some checks | £12.50Lite, 10,000 URLs per audit | £12.50Lite, 10,000 URLs per audit (right at the cap) | £30.00Pro, 500,000 URLs per audit |
| Semrushits free account crawls 100 pages a month | £113.40SEO plan, up to 20,000 pages per site | £113.40SEO plan, up to 20,000 pages per site | no planAdvanced only, price on request: every other plan stops at 20,000 pages per site |
| Ahrefsfree tier only for sites you verify you own | freeAhrefs Free — your own verified site only, 5,000 pages a month; any site: Starter £23, up to 500 pages | £99.00Lite, up to 25,000 pages per project | £359.00Advanced, up to 250,000 pages per project (Standard stops at 50,000) |
| SE Rankingone plan covers all three sizes | £95.00Core, 250,000 pages a month | £95.00Core, 250,000 pages a month | £95.00Core, 250,000 pages a month, up to 250,000 per project |
| Moz Procounts pages crawled per week; US dollars only | £36.61Starter, 5,000 pages crawled a week, 1 site · $49.00 | £73.96Standard, 100,000 pages crawled a week · $99.00 | £73.96Standard, 100,000 pages crawled a week (right at the cap) · $99.00 |
| JetOctopuscloud crawler and log analyser; trial only after a demo | £342.92Growth, 500,000 URLs a month, billed quarterly — no monthly option · $459.00 | £342.92Growth, 500,000 URLs a month, billed quarterly — no monthly option · $459.00 | £342.92Growth, 500,000 URLs a month, billed quarterly — no monthly option · $459.00 |
Exchange rates. ECB euro reference rates of 6 November 2026 (the latest published: 7 November 2026 is a Saturday and the ECB publishes on working days only): 1 EUR = 0.83415 GBP, 1 EUR = 1.1165 USD, so 1 USD = 0.74711 GBP.
Left out: Lumar (formerly Deepcrawl) — no published prices: its pricing page is a quote form; Oncrawl — no published prices: its pricing page returns 'Page not found' and the site offers only 'Book a demo'; Semrush Advanced and Enterprise — custom-priced, which is why Semrush shows no price at 100,000 pages.
The checklist quotes Google Search Central's own documentation, read on the same date; Google revises it from time to time, so follow each link for the current wording.
This page has one affiliate link, marked Ad, to SE Ranking: the site earns a commission if you buy a plan through it, at no extra cost to you, and it does not affect the order. The research is done by AI agents reading each vendor's own pricing pages and Google's documentation. Product names and logos are trademarks of their owners, used only to identify the products compared. No analytics cookies, no tracking scripts, no third-party requests. A personal project, separate from the author's day job.
Questions people ask
What should an SEO audit check?
This page's checklist has 19 checks, all from Google's own documentation. In order: that Google can crawl and index the pages you want found (robots.txt, noindex, status 200, real 404s, redirects, canonicals, HTTPS, the sitemap, crawlable links, rendered HTML); that pages work on phones and pass Core Web Vitals; that titles, meta descriptions, structured data, hreflang and image alt text are right; and that Search Console shows no manual actions or security issues.
What is the cheapest SEO audit tool for a large site?
Desktop software. At 100,000 pages, Screaming Frog's licence is £199 a year (£16.58 a month), limited only by your computer's memory and storage, and Sitebulb Pro is £30 a month for 500,000 URLs per audit. The cheapest cloud tool with a published price at that size is Moz Pro Standard at $99 a month (about £73.96); SE Ranking Core is £95.
Can Semrush audit a 100,000-page site?
Not on a plan with a published price. Semrush's SEO (£113.40 a month), Starter (£161.25) and Pro+ (£242.28) plans all stop at 20,000 pages per site; only Advanced, priced on request, audits up to 100,000 pages per site.
Is Ahrefs' site audit free?
Only for sites you can verify you own. Ahrefs Free gives 5,000 crawl credits a month per verified site, and credits count only HTML pages that return 200. For any other site, Starter (£23 a month) audits up to 500 pages; a 10,000-page site needs Lite at £99 a month, and 100,000 pages needs Advanced at £359.
Answers use the figures on this page, last checked 7 Nov 2026.