Most SEO audit checklists you find online are 80–100 line items long, written by people who treat audits as a sales artifact instead of a debugging process. After running real audits for production sites, the truth is: 90% of ranking damage comes from 18 specific issues. The rest is polish.
This is the checklist we use internally. For each item: what to check, the tool to use, and why it matters. If you make it through this list with green checks, you do not have a technical SEO problem — you have a content or authority problem.
Indexing — the foundation
1. Sitemap URLs match canonicals exactly
Sitemap declares the URL Google should crawl. Canonical declares the version Google should index. If they disagree (apex vs www, trailing slash vs not, http vs https), Google flags "Redirect error" or "Alternate page with proper canonical tag" and your sitemap URLs do not get indexed. Check: Search Console → Pages → filter by "Not indexed" → look for redirect-related reasons.
2. Apex/www and HTTP/HTTPS redirect to the canonical with 308
Pick one canonical (apex or www). Every other variant should 308-permanent redirect to it. 307 still works but is a weaker signal. Test with `curl -I` against each variant.
3. No redirect chains
A → B → C costs you crawl budget and link equity. Every redirect should go directly to its final target. Screaming Frog flags chains automatically.
4. robots.txt does not block important paths
A surprising number of sites still have `Disallow: /` left over from staging. Check yours.
Schema markup
5. Schema validates on Rich Results Test
Run every page template through Google Rich Results Test. Common issues: missing required fields (name, url, image), invalid date formats, broken @id references between Organization/WebSite/Article.
6. Article and Product schema match the visible content
Title in schema must match the H1. Date in schema must match the visible publish date. Google penalizes mismatches as deceptive.
7. Breadcrumbs implemented and reflected in SERP
BreadcrumbList schema enables breadcrumb display in Google search results, which steals real estate from competitors. Easy win.
Core Web Vitals
8. LCP element is identified and ≤ 2.5s on mobile
Run mobile Lighthouse. The LCP candidate should be a lightweight, above-the-fold element — usually the H1 text or a small hero image. If your LCP is a 1MB hero image or a Three.js canvas, you have a problem.
9. CLS ≤ 0.1
Layout shifts come from images without width/height, web fonts without font-display: swap, and ads/embeds that load late. Fix with explicit dimensions and CSS aspect-ratio.
10. INP ≤ 200ms
Interaction to Next Paint replaced FID. Long-running JavaScript (especially React hydration on a heavy page) is the usual culprit. Check via real user monitoring, not just Lighthouse.
On-page SEO
11. One H1 per page, includes the primary keyword
Yes still. Single H1, primary keyword in it. Easy and frequently violated.
12. Title 50–60 chars, description 140–160 chars
Truncation in SERP loses click-through. Run a full-site title/description length report.
13. Every image has descriptive alt text
Not "image1.jpg". Real descriptions. Helps both accessibility and image search.
Internal linking
14. Hub-and-spoke architecture in place
Every important cluster has a hub page that links to all spokes; every spoke links back to the hub. Without this, Google has trouble understanding topic authority.
15. No orphan pages
Crawl the site. Any page reachable only from the sitemap (no internal link points to it) is an orphan. Either link to it or delete it.
16. Anchor text is descriptive and varied
"Click here" tells Google nothing. "Custom SaaS development" tells Google what the linked page is about. Vary anchor text — repeating the exact same anchor across the site looks manipulative.
Search Console health
17. No active "Page indexing" errors
Search Console → Pages. If anything is in "Not indexed" with reasons like Redirect error, Server error, Soft 404, or Discovered – currently not indexed beyond a few pages, dig in. These are usually quick fixes that unlock entire sections of the site.
18. Coverage matches your expectation
If you have 200 URLs but only 80 are indexed, find out why. Compare sitemap count vs indexed count. Discrepancies are not always bad — Google is selective — but unexplained gaps usually point to thin content or duplication.
What we do
When we run a SEO audit for clients, this is the framework. Every finding goes into a P0 / P1 / P2 list with the file or URL, the fix, and the effort estimate. The deliverable is a 15–30 page written report — not a slide deck. Engineers can act on it directly.
If your site is missing rankings and you are not sure why, that audit is usually the fastest path to clarity.