seo101

Technical SEO Audits

A technical audit is the systematic health check that finds what's silently costing a site visibility. Done professionally, it's not a 200-row dump of crawler warnings - it's a short, prioritized list of issues with evidence, impact estimates, and owners. This is the playbook.

Before touching a tool#

Establish context, or the audit optimizes the wrong things:

  • What pages make money/matter? Audit findings get weighted by the pages they affect.
  • What changed recently? Migrations, redesigns, CMS swaps explain most sudden problems.
  • Baseline the numbers: GSC clicks/impressions by section, indexed page count, CWV status. You'll measure the audit's impact against these.

Phase 1: Crawl the site#

Run a full crawl (Screaming Frog/Sitebulb), ideally twice - with and without JavaScript rendering - and diff. Flag:

CheckIssue signal
Status codes4xx from internal links, redirect chains/loops, 5xx clusters
Titles/metaMissing, duplicate, truncated at scale
CanonicalsMissing, pointing off-site by accident, canonical-to-redirect
DepthMoney pages > 3 clicks deep; orphans (crawl vs sitemap diff)
DuplicatesParameter URLs, http/https, trailing-slash variants both 200
JS dependencyLinks/content present only in rendered crawl (JS SEO)

Phase 2: Indexation reality#

Compare three numbers that should roughly agree: pages you intend to be indexed, pages in your sitemap, and pages Google reports indexed (GSC Indexing → Pages).

  • Indexed ≪ intended: dig into GSC exclusion reasons - the debugging table covers each
  • Indexed ≫ intended: index bloat - parameters, tags, search results, staging leaks. Bloat dilutes quality signals and crawl budget; fix with noindex/canonicals/robots and removal of internal links to junk URLs
  • Spot-check 10–20 critical URLs in URL Inspection: Google-selected canonical, last crawl, rendering result

Phase 3: The specialized passes#

  • Performance: CWV status per URL group from GSC; diagnose failures with the Core Web Vitals playbooks
  • Structured data: GSC Enhancement reports for errors at template scale; validate money-page markup (guide)
  • International: hreflang reciprocity, if applicable (architecture guide)
  • Security/hygiene: HTTPS everywhere, mixed content, www/non-www and slash consistency enforced by single redirects
  • Log files (large sites): where does Googlebot actually spend its budget? Junk URL patterns eating crawl are invisible to crawlers-from-outside but obvious in logs

Phase 4: Prioritize ruthlessly#

Score each finding impact × affected pages ÷ effort. Sort. The classic audit failure is shipping 80 equal-weight recommendations and watching none get implemented. A useful frame:

P0  active harm at scale     site-wide noindex leaks, 5xx clusters,
                             robots.txt blocking money sections
P1  meaningful loss          money pages slow/deep/uncited, index bloat,
                             broken canonical logic
P2  compounding hygiene      redirect chains, duplicate titles,
                             missing schema on eligible templates
P3  polish                   everything else the crawler flagged

Phase 5: Verify the fixes#

An audit isn't done when the report ships:

  • Re-crawl after fixes deploy; confirm the issue class is gone
  • Request reindexing for critical changed URLs
  • Compare the Phase-0 baselines at +30/+90 days - this is how you prove value (and calibrate your own impact estimates)

Run the full cycle quarterly for active sites, and always after migrations - which are next: Programmatic SEO first, then Site Migrations.