The 2026 technical SEO audit checklist (that actually moves rankings)
A no-fluff checklist covering crawl, render, index, performance and structured data — in the order we run it for clients.

Why most technical audits don't move rankings
The default audit deliverable is a 60-page PDF with every Screaming Frog warning ever raised — most of which won't change a single keyword position. Engineering teams glance at it, file it, and the SEO consultant blames "lack of buy-in" when nothing happens.
The fix isn't more data. It's ruthless prioritisation against two axes: how much each fix moves the needle, and how much engineering time it costs.
The 2026 checklist
We run through this in order. Anything failing in the first three sections gets shipped before we touch content strategy.
Crawl & render
- Robots.txt is correct and discoverable. Includes a
Sitemap:directive. No accidentalDisallow: /on a staging-flagged branch shipped to production. (We've seen it three times this year.) - XML sitemap is fresh, partitioned, and submitted. No 404s, no non-canonical URLs, no
noindexURLs inside the sitemap. - Render-blocking JS is minimised. Hydration delay should not be the LCP. If the page can't show meaningful content without JS executing, you're losing both crawl budget and CWV scores.
- Server-rendered HTML contains the primary content. View source for your top template — if the H1 and the first paragraph aren't there as text, fix the rendering strategy before anything else.
Indexation
- Canonical tags resolve to a single self-referencing URL per page. No chains, no canonicals pointing to a
noindexpage, no canonicals pointing to a redirect. - Pagination is handled.
rel="next"/rel="prev"is dead, but a clear self-canonical on each paginated page plus crawlable links to deeper pages is alive. - Faceted navigation doesn't explode. Every filter combination must either be
noindex, parameter-stripped, or genuinely valuable. Default tonoindex,followunless you've earned the right to index. - No accidental orphan templates. Run a crawl + GSC URL inspection diff. Any URL Google has discovered but you don't link to internally is either a strategy choice or a bug.
Core Web Vitals
| Metric | Threshold | First place to look |
|---|---|---|
| LCP | < 2.5s | Hero image — preload, set fetchpriority="high", serve AVIF, give it explicit dimensions |
| INP | < 200ms | Long tasks on click — typically third-party JS or unmemoised React subtrees |
| CLS | < 0.1 | Embeds and ads without reserved space; web fonts without font-display: optional and a fallback adjusted via size-adjust |
If you're failing CWV on more than 20% of URLs in the Crawl Stats report, treat it as a P0. Google is now blunt about CWV influencing rankings, and AI engines preferentially cite fast pages.
Information architecture
- One H1 per page. Subheadings cascade
<h2>→<h3>without skipping. - Internal linking model is intentional. Hub pages should have at least 10 contextual inbound links from supporting content. Orphan money pages are the most common avoidable mistake.
- Breadcrumbs exist and are marked up with
BreadcrumbListJSON-LD.
Structured data
- Organization schema on every page.
- Article / Product / Service / FAQPage on the appropriate templates.
- No invalid schema in the Rich Results Test. Warnings are fine to triage; errors are not.
sameAs[]populated with your authoritative profiles.
International / hreflang
- Every URL self-references via hreflang.
- Bidirectional pairs only. A → B without B → A is silently ignored.
x-defaultset to your fallback locale.
The prioritisation matrix
Once you've identified the failures, plot them:
| Low engineering cost | High engineering cost | |
|---|---|---|
| High impact | Ship this week. No debate. | Build the business case, queue for next sprint. |
| Low impact | Bundle into housekeeping PRs. | Don't do it. Seriously. |
Most audits I see never produce this matrix. The ones that do tend to ship 60% of the fixes within a quarter.
What to do this week
- Run the crawl against your three highest-traffic templates only.
- Score each one against the sections above. One issue per row, with an impact (
H/M/L) and a cost (H/M/L). - Take everything
Impact: H, Cost: Lstraight to engineering as a single PR. - Schedule the remaining
Himpact work into the next two sprints.
The point of an audit is to change the website. If your audit can't be turned into PRs by Monday morning, it's the wrong audit.
Continue reading
GEO explained: how to rank inside ChatGPT, Perplexity and Google AI Overviews
Generative Engine Optimisation is the new layer on top of SEO. Here is what changes, what does not, and what to do this quarter.
Read
Core Web Vitals for React apps: shipping LCP under 2.5s without rewriting
Most React performance problems are not React. They are images, fonts, and hydration. Fix those three and LCP follows.
Read
Want this kind of thinking on your site?
We work with a small number of teams each quarter. If SEO, GEO or shipping a faster web platform is on your roadmap, let's talk.
Start a conversation