SEO Tech Audit Checklist: The Order That Actually Finds Problems

seo tech audit checklist

Most versions of an seo tech audit checklist are alphabetical lists of 60 items with no sense of what to do first. That is how audits turn into 400-line spreadsheets nobody executes. This one is ordered by dependency and impact: each section assumes the one above it is clean, because there is no point optimizing a title tag on a page Google cannot reach.

Work top to bottom. Stop and fix before moving on when something in the first three sections is broken.

1. Crawlability — can search engines reach your pages?

Everything downstream depends on this. Start with a full-site crawl, not a sample. A 25-page quick scan is fine for triage, but on a site with a real catalog the template-level problems hide in pages 200 to 900.

  • robots.txt: confirm nothing important is disallowed. Check that CSS and JS files are crawlable — blocking them breaks rendering.
  • XML sitemap exists and is current. Verify properly: check the robots.txt Sitemap directive and probe the common paths like /sitemap.xml and /sitemap_index.xml. Grepping the homepage HTML for a sitemap link produces false negatives constantly.
  • Sitemap hygiene: no 404s, no redirects, no noindex URLs, no non-canonical URLs listed.
  • Orphan pages: URLs in the sitemap or analytics with zero internal links pointing at them.
  • Crawl depth: anything more than four clicks from the homepage is being told it does not matter.
  • Internal link distribution: pages with one inbound internal link versus pages with two hundred. Your money pages should not be in the first group.

2. Indexation — are the right pages in the index?

Compare three numbers: URLs you crawled, URLs in your sitemap, and URLs Search Console reports as indexed. Big gaps in either direction are the finding.

Too few indexed usually means accidental noindex tags, canonical tags pointing elsewhere, or crawl budget exhausted on junk. Too many almost always means URL bloat — faceted navigation, search result pages, session parameters, tag archives, and paginated duplicates all generating indexable URLs that dilute your site.

Check every canonical tag on template pages specifically. A self-referencing canonical is correct; a canonical pointing at the homepage from every product page is a catastrophe that looks like nothing in a browser. Also confirm noindex and canonical are not contradicting each other on the same URL, which is a common WordPress plugin outcome.

3. Status codes and redirects

This section is pure cleanup and it is usually where quick wins live.

  • 404s with inbound internal links: fix the link or restore the page.
  • 404s with external backlinks: highest priority in this section. You are throwing away earned authority. Redirect them to the closest relevant page.
  • Redirect chains: any hop count above one. Point the first URL at the final destination.
  • Redirect loops: rare, fatal, fix immediately.
  • Soft 404s: pages returning 200 with “no results found” content.
  • Protocol and host consistency: one canonical version of the site, with everything else redirecting to it in a single hop.

4. On-page structure at scale

Now the page-level work, and the reason evidence matters. A report saying “412 title issues” is not actionable. A report giving you the actual title text, the specific URLs, and the missing H1s can be turned into tickets in ten minutes.

Check for duplicate titles across the site — usually a template problem affecting hundreds of URLs at once. Check title length; over roughly 60 characters gets truncated in results. Check meta descriptions in the 140 to 155 character range, and flag missing ones on pages that get traffic. Confirm exactly one H1 per page and that it describes the page rather than repeating the site name.

Look for thin pages while you are here: under a few hundred words with no unique value. Decide per page whether to expand, merge, or remove. Doing nothing is also a decision, and usually the wrong one.

5. Performance and Core Web Vitals

Measure with real-user field data, not just a lab score. Synthetic tests run on fast connections and can show green while your actual mobile visitors experience something much worse. Conversely, a poor lab score on a page whose field data is fine is rarely your best use of a sprint.

The three metrics that matter are Largest Contentful Paint, Interaction to Next Paint, and Cumulative Layout Shift. The usual culprits are unoptimized hero images, render-blocking third-party scripts, fonts loading without a fallback, and ad or embed slots that reserve no space.

Fix at the template level. One hero image treatment applied to a product template resolves thousands of URLs.

6. Structured data, mobile, and rendering

Check that schema exists on the page types where it earns something — products, articles, FAQs, local business, breadcrumbs, reviews. Then check that it is valid, and that it matches what is visible on the page. Marking up review stars that do not appear on the page is a policy violation, not a shortcut.

Run the pages through a validator rather than trusting a plugin’s promise. Schema silently breaking after a theme update is one of the most common regressions on WordPress sites.

Indexing is mobile-first, so the mobile rendering of your page is the page as far as Google is concerned. Confirm the mobile version contains the same primary content, headings, and internal links as desktop. Hidden-behind-accordion content is fine; content that only exists on desktop is not.

If your site relies on JavaScript to render core content, test what the raw HTML actually contains. Anything critical that only appears after client-side execution is a risk — for search engines and increasingly for AI retrieval systems that parse your page.

7. International and duplication across markets

Skip this if you serve one country. If you do not, it is where the most expensive mistakes live.

Verify hreflang annotations are present, use correct language and region codes, and include return tags — every page in a set must reference every other, including itself. Confirm each market’s pages are genuinely distinct rather than the same content on three ccTLDs. And check that your keyword research was run against the right country index in the first place; a Singapore or UAE site researched against the US index returns near-empty data and leads to entirely wrong conclusions about demand.

How to run this without it becoming a one-time event

The checklist is worth more monthly than annually. Sites regress — a plugin update, a new template, a careless redirect during a promotion — and catching that in week two is trivial compared with finding it in next year’s audit.

Set a recurring full crawl, diff it against the previous run, and only look at what changed. Track fixes against outcomes in Search Console rather than in a rank tracker alone; technical improvements usually show as impression growth before positions move, and daily position swings of two or three places are noise either way.

SEO Rocket runs both halves of this: an instant quick scan of roughly 25 pages for triage, deep full-site crawls verified past 900 pages with the actual titles, URLs, and H1 text attached to each finding, plus PageSpeed and Core Web Vitals with real-user field data, at a flat $50 a month. Whatever you use, insist on evidence per issue. Counts start arguments; evidence starts fixes.