← writing · 2026-06-16 · 6 min
A technical SEO audit checklist I actually use
When a page won't rank, the instinct is to reach for content and keywords. But more often than not the real problem is further down - Google either can't crawl the page, can't index it, or is being told not to. So I work an audit in a fixed order, from the most fundamental signal up. If a step fails, the steps above it don't matter yet.
1. Can Google reach it at all?
Start with crawlability, because nothing downstream works if the crawler never arrives. I check robots.txt for accidental Disallow rules, confirm the page returns a 200 and not a redirect or error, and make sure it isn't orphaned - a page with no internal links pointing to it is a page Google may never find.
2. Is it allowed to be indexed?
Crawlable isn't the same as indexable. The two signals I check here are the meta robots tag and the X-Robots-Tag header - a stray noindex left over from a staging environment is one of the most common reasons a healthy page never appears in search. Then I check the canonical tag: it should point to the page's own preferred URL, not accidentally to a different page that swallows its ranking signals.
3. Are duplicates splitting the signals?
One piece of content reachable at several URLs (with and without a trailing slash, http and https, with tracking parameters) divides link equity and confuses Google about which version to rank. Canonicals and consistent internal linking fix this. The goal is one canonical URL per piece of content, declared the same way everywhere.
4. Do the status codes tell the truth?
Status codes are the crawler's primary language, so they have to be honest:
- 200 - a real, live page. Make sure thin or empty pages aren't returning 200 while looking like errors; that's a Soft 404, and Google will treat it as low quality.
- 301 - a permanent move. Redirects should resolve in a single hop, never a chain.
- 404 - genuinely gone. Fine in moderation, but broken internal links pointing at 404s leak crawl budget.
5. Can crawlers find everything efficiently?
This is where the XML sitemap earns its place. It should list only canonical, indexable 200 URLs - no redirects, no noindex pages, no 404s. For a large site, one giant sitemap is hard to process; splitting it into a sitemap index with separate child maps for products, posts, and pages makes coverage far easier for both Google and you to track.
A sitemap is a set of recommendations, not commands. It helps discovery; it doesn't override the indexing signals above it. Get steps 1-4 right first, or you're just submitting a tidy list of pages Google has already decided to ignore.
6. Confirm it in Search Console
Finally, verify the fix held. The URL Inspection tool tells you exactly how Google sees a page - its indexing status, the canonical Google chose (which may differ from yours), and whether the live page passes. When a URL moves from Discovered or Crawled - currently not indexed to Indexed, you know the work landed.
The short version
Reachable → indexable → de-duplicated → honest status codes → discoverable → verified. Always in that order. Most "mystery" ranking problems are just one broken link in that chain, and fixing it is far less mysterious than it looks.
Want me to run this on your site?
I do exactly this audit for clients - and fix what it turns up.