Technical SEO review: the points that actually block indexing
For: Marketing and engineering teams
Updated: 2026-09
Most technical SEO problems trace back to a handful of causes: pages are not indexable, canonicals point elsewhere, the sitemap lists pages that should not be indexed, hreflang is not reciprocal, or pages carry almost no internal links.
Technical SEO is often experienced as an endless list of small items. In reality a small part of it decides nearly everything: whether a page can be found, crawled and indexed, and whether it is unambiguous which version should count.
This review list is ordered accordingly. The early points stop pages entering the index at all; the later ones improve how well they are understood once there. Work them in that order.
The checklist
- 01
Check indexability of every target page
For each page meant to rank, verify: no noindex directive, not blocked by robots.txt, status code 200. Those three explain the majority of cases where a page fails to appear.
Done when: A list of all target pages exists and each has its status code and indexability individually confirmed.
- 02
Check canonicals are self-referencing
Every indexable page should canonicalise to itself with an absolute URL. The most common failure is a canonical inherited from a template that points all pages at one.
Done when: No indexable page canonicalises to a different URL unless that is expressly intended.
- 03
Reconcile the sitemap with the real page set
The sitemap must not contain pages that are noindexed, redirect or do not exist. Conversely every indexable target page should be in it.
Done when: The difference between sitemap URLs and actually built indexable pages is zero.
- 04
Check hreflang reciprocity
Every hreflang entry must point back, and none may point at a 404 or noindexed page. An x-default belongs in the set. Non-reciprocal entries are simply ignored.
Done when: Every hreflang relationship is two-way, points at an indexable page, and x-default is set.
- 05
Check internal linking for orphaned pages
Pages with zero or a single inbound internal link are poorly discovered and weakly valued. On programmatically generated pages this is the most common structural defect.
Done when: No indexable page has fewer than two inbound internal links, and none is unreachable from the home page.
- 06
Check titles and descriptions for duplicates
Identical titles across many pages are a strong signal of templated content. On programmatic pages that arises almost inevitably unless actively countered.
Done when: No two indexable pages share a title or a meta description.
- 07
Validate structured data
Check existing JSON-LD for syntax errors and missing required fields. More important than covering many types is that the ones present are error-free and match the page.
Done when: Every page carries at least one valid JSON-LD object and validation reports no errors.
- 08
Limit click depth
Pages more than three or four clicks from the home page get crawled less often. On large page sets the hub structure is the decisive lever.
Done when: Every indexable page is reachable within at most four clicks from the home page.
Common mistakes
- —The review runs against the live site while the fault arises at build time. With statically generated pages it pays to check the build output directly.
- —hreflang points at language versions that do not exist. Honest hreflang names only pages that genuinely exist and are indexable.
- —The sitemap is maintained by hand and lags the real page set. It should be generated from the same source as the pages themselves.
- —Considerable effort goes into structured data while pages with zero internal links stay unnoticed.
What this checklist does not cover
- —This list addresses technical discoverability. It says nothing about whether the content is good enough to rank.
- —Core Web Vitals and load performance are a separate workstream and are not covered here.
- —For very large page sets beyond tens of thousands of pages, crawl budget questions arise that need their own treatment.
- —Passing a technical review does not guarantee indexing. Search engines decide independently which pages they include.
Parent service: SEO & Organic Growth
Matching offers
Technical SEO audit
A technical SEO audit examines the foundation of your findability: indexing, Core Web Vitals, structured data, crawling and site architecture. The result is a prioritised list of actions showing which technical levers deliver the greatest visibility gain — and in what order.
Programmatic SEO sprint
A programmatic SEO sprint builds scalable content clusters with a clean structured data model, correct hreflang, and internal linking — set up technically like our own portfolio sites, including GEO/LLM optimisation.
FAQ
In what order should this be worked?
Strictly top to bottom. Improving structured data on a noindexed page has no effect whatsoever. Discoverability first, comprehensibility second.
How often should this be checked?
Under active development, after every larger release. The points listed can be automated and hooked into the build, which largely removes the need for manual passes.
What if pages stay unindexed despite clean technicals?
Then it usually comes down to content or internal linking. Thin or highly similar pages get crawled but not included — which is no longer a technical problem.
More checklists
Visibility in AI answers: a checklist for being citable
Being citable in AI answers rests on a few properties: a short self-contained answer near the top, unambiguous statements instead of marketing language, verifiable claims with a date and an author, clean access for AI crawlers, and identifiable authorship.
MVP launch: what has to stand before your first paying customer
Five things have to stand before an MVP launch: a working payment path, a data model that permits later change, a route to delete accounts, a way to learn that something has broken, and basic legal documents. Everything else can wait.
Preparing a cloud migration: the questions before anything moves
Cloud migrations rarely fail on technology; they fail on preparation. Unknown dependencies, unresolved data classification, a cost model that only becomes visible after the move, and missing acceptance criteria against which success could be measured at all.
