Skip to content
SEO11 min read

The Technical SEO Audit Checklist We Run Before Anything Else

Crawling, indexing, duplication, structured data, and speed — in the order that matters, with the specific problems we find most often.

Ayesha Nadeem

SEO Lead, Quesiono

Content and links do nothing on a site Google can't crawl properly. That's why technical work goes first, and why an audit that opens with a keyword gap analysis is starting in the wrong place.

This is our actual running order. Each section has the problems we find most often, because after a few dozen audits the same handful accounts for most of the damage.

1. Can search engines reach your pages?

Start with a full crawl and compare it against what Search Console reports. Where the two disagree, there's a story.

The usual problems

  • A robots.txt rule blocking something important. Most commonly a Disallow left over from a staging environment, or a broad rule blocking a directory that now holds real pages.
  • Orphan pages. Pages with no internal links pointing at them. They exist, they're sometimes in the sitemap, and they get crawled rarely and ranked poorly. Compare the crawl against the CMS's full page list to find them.
  • Crawl waste. On one retail site, faceted navigation was generating tens of thousands of filter combinations as crawlable URLs. Google spent its crawl budget on ?colour=blue&size=m&sort=price permutations and visited the actual product pages weekly instead of daily.
  • Redirect chains. Three hops to reach a destination wastes crawl budget and loses a little value at each step. Point every rule at the final URL.
  • Broken internal links. A 404 with internal links pointing at it is a dead end you built yourself.

Check server logs if you can get them. They tell you what Googlebot actually requested, which is more useful than any inference from a crawl.

2. Are the right pages indexed, and only those?

Search Console's page indexing report is the single most useful screen in SEO and most people never open it beyond the summary.

What to look at, category by category:

  • "Crawled — currently not indexed" usually means quality or duplication. Google saw the page and decided it wasn't worth storing. Thin pages, near-duplicates, and auto-generated location pages live here.
  • "Discovered — currently not indexed" means Google knows about the URL and hasn't crawled it. Often a crawl budget symptom on large sites.
  • "Duplicate, Google chose a different canonical" means your canonical hint was overruled. Worth understanding rather than ignoring — Google is telling you two pages look the same to it.
  • "Excluded by noindex" — verify every one of these is deliberate. A noindex left on after launch is the most expensive two-word bug in web development.

Also check the indexed count against your expected page count. Wildly higher means duplication. Much lower means a crawling or quality problem.

3. Duplication and canonicals

Most duplication isn't plagiarism — it's the same page reachable at several URLs.

Test each of these and confirm they resolve to one canonical version:

  • http and https
  • www and non-www
  • Trailing slash and no trailing slash
  • Uppercase and lowercase paths
  • Index filenames — /about versus /about/index.html
  • URLs with tracking parameters appended
  • Pagination, and whether page two carries a self-referencing canonical (it should)

For faceted navigation, decide deliberately which filter combinations deserve to be indexed. A category plus one filter is often a real search term worth a page. Three stacked filters almost never is. Canonical the rest back to the base category and keep them out of the sitemap.

4. Site architecture and internal linking

Internal links tell Google what matters and what a page is about. They're also the lever you fully control, which makes them the most under-used asset in most SEO programmes.

Check:

  • Click depth. Important pages should be within three clicks of the homepage. Deeper than that and they get crawled less.
  • Links per page. A page with 300 links distributes very little through each. Mega-menus are the usual culprit.
  • Anchor text. "Click here" tells Google nothing. Descriptive anchors are a ranking signal you're allowed to write yourself.
  • Orphaned money pages. We've found service pages with exactly one internal link, from the sitemap. Those pages had no chance.
  • Whether the navigation matches the priorities. If a section isn't in the menu, everything in it is demoted.

On a law firm project, adding proper cross-links between practice area pages and the related commentary posts moved five of seven pages onto page one within four months, with no new content and no link building.

5. Structured data

Structured data doesn't improve rankings directly. It makes you eligible for rich results, which improves click-through, which is worth having.

What to check:

  • Does it validate? Use the Rich Results Test, not just a JSON-LD linter. Valid JSON that Google can't use is wasted effort.
  • Does it match the visible page? Marking up a price that isn't on the page, or an FAQ that doesn't exist in the content, risks a manual action.
  • Are the types right for the page? Organization and WebSite site-wide. Product on product pages. Article on posts. LocalBusiness with real opening hours if you have premises. BreadcrumbList wherever there's a hierarchy.
  • Are entities connected? Using @id references so your Organization node is one entity referenced everywhere, rather than a fresh unrelated block on every page.

One thing we won't do: AggregateRating without verifiable reviews on the page. It's explicitly against Google's structured data policies and it's a common cause of manual actions on small business sites. Plenty of agencies add it anyway.

6. Speed and Core Web Vitals

Field data from Search Console, not a Lighthouse run on your laptop. Check per-template — aggregate numbers hide a single failing template that happens to be your most valuable one.

If a metric fails, the causes are well-mapped and we've written them up in detail in our Core Web Vitals guide. The short version: LCP is usually images or server response, CLS is usually missing dimensions, INP is almost always third-party JavaScript.

7. Mobile and rendering

Indexing is mobile-first, so the mobile version of your page is the version that counts.

  • Confirm mobile and desktop serve the same content. Content hidden on mobile is content Google may not see.
  • Check that JavaScript-rendered content appears in the rendered HTML. Use the URL Inspection tool's rendered output rather than trusting that it works.
  • Look for viewport issues, tap targets under 44px, and horizontal scroll at 375px.
  • Verify structured data is present in the mobile rendering, not injected only on desktop.

8. Multi-region and multi-language, if applicable

Skip this if you serve one market. If you don't:

  • hreflang tags must be reciprocal — if A points to B, B must point back to A. Non-reciprocal hreflang is ignored.
  • Include a self-referencing hreflang on every page in the set.
  • Use x-default for the fallback.
  • Don't rely on IP redirection alone. It stops Googlebot seeing the other versions.

Fixing in the right order

An audit that returns 140 issues is not useful. What matters is sequence:

  1. Anything blocking indexing of a valuable page. A stray noindex or robots rule. Fix today.
  2. Duplication sending signals to the wrong URL. Fix this week.
  3. Crawl waste on a large site. Fix before adding content.
  4. Internal linking to money pages. Cheap, high-return, usually a day's work.
  5. Core Web Vitals failures. Real but slower to show results.
  6. Structured data coverage. Worth doing, rarely urgent.

We deliver audits as a prioritised list with an effort estimate against each item, because a client with two developer days needs to know which three things to do rather than all 140.

Our technical SEO engagements start with this audit, and we'll tell you honestly when the answer is "your technical setup is fine, spend the money on content instead."

Want us to do it

The services behind this article

If you'd rather not run this yourself, these are the pages that cover it.

Got a project

Prefer to hand this to someone else?

Tell us what the site needs to do. You'll get a straight answer on scope, timeline and cost — usually inside one working day.

Rather write first?hello@quesiono.com— we reply within one business day.