After running technical audits for fourteen years, I work through a consistent checklist on every engagement. This is not a beginner overview — it is the actual sequence I follow, organized by the layer of the technical stack it addresses, including the edge cases that most surface-level checklists skip. Use it as a diagnostic framework for a new client site or as a periodic health check on your own property.

Crawl Access

Everything starts here. If Googlebot cannot access your pages reliably, nothing else matters.

  • Confirm robots.txt is reachable at the root domain and returns a 200 response. Review every Disallow rule — accidental blocks on CSS, JavaScript, or important content directories are more common than people expect. Full details in my post on robots.txt configuration.
  • Verify Googlebot is not blocked or throttled by CDN firewall rules, IP rate limiting, or bot management settings at the server level.
  • Check that crawl rate settings in Search Console match your server’s actual capacity — over-limiting crawl rate on a capable server slows indexation unnecessarily.
  • Identify and collapse redirect chains to a maximum of two hops (origin → 301 → final 200). Chains longer than two hops waste crawl budget on each redirect resolution.
  • Confirm that all internal links use consistent URL formats — root-relative or absolute, HTTPS, consistent trailing slash treatment, consistent case. Mixed formats create unnecessary URL variants.
  • Check that no important pages are orphaned — every page you want indexed should have at least one internal link pointing to it from a crawlable page.

Indexation Controls

Crawling and indexing are separate. A page can be crawled without being indexed. Audit both directions — pages you want indexed that are accidentally excluded, and pages you do not want indexed that are accidentally included.

  • Audit every noindex directive — confirm that no important pages are accidentally excluded by a misconfigured plugin, theme option, or CMS setting. This is one of the most common post-migration issues I encounter.
  • Verify canonical tags are self-referencing on your canonical pages and correctly pointing to the preferred version on duplicate or parameter variants. Full methodology in my post on canonical tags.
  • Confirm that paginated pages use correct canonicals — paginated pages should generally self-canonicalize, not all point to page 1.
  • Audit parameter URL treatment — filter, sort, and session ID parameters should be either blocked, canonicalized, or given deliberate indexation treatment based on their search demand. See my post on faceted navigation SEO for the decision framework.
  • Review Search Console Pages report for soft 404s, server errors, redirect errors, and ‘Discovered – currently not indexed’ URLs. Each category has a different root cause and a different fix.

XML Sitemap

  • Sitemap is submitted in Search Console and returns a 200 when Googlebot fetches it directly.
  • Sitemap contains only canonical, indexable URLs that return 200 — no redirect URLs, noindex pages, 404 pages, or canonicalized-away variants.
  • Sitemap is not served from a CDN cache with a long TTL — it should always reflect the current state of the site.
  • For sites over 50,000 URLs, a sitemap index file segments the full URL set into logical groups.
  • Lastmod dates in the sitemap are accurate and update when content changes — stale or incorrect lastmod dates undermine the signal.

URL Structure

  • All URLs lowercase with hyphens as word separators — no underscores, no camelCase, no mixed case.
  • Trailing slash consistency enforced sitewide — one format 301s to the other.
  • URL depth: most indexable content reachable within three path levels and three clicks from the homepage.
  • No query parameters in URLs for content you want indexed, where avoidable.
  • Every live URL change on the site has a 301 redirect from the previous URL in place.

HTTP Status Codes

  • All pages you want indexed return clean 200 responses with no server errors or unintentional redirect hops.
  • Permanent moves use 301, temporary situations use 302 — confirm intent matches implementation across all redirect rules.
  • Permanently deleted content returns 410 rather than a 200 with empty content or a generic ‘not found’ template.
  • No 5xx errors present in Crawl Stats trend data — a chronic baseline of server errors suppresses crawl rate.
  • Check for redirect loops — any redirect chain that cycles back to a previous URL will generate a redirect error in Search Console.

Rendering

  • Critical SEO content — headings, body copy, internal links — present in the raw HTML response, not dependent on JavaScript execution after page load.
  • Use URL Inspection in Search Console to compare rendered HTML against the raw page source for high-value pages. Differences indicate rendering delays.
  • Lazy-loaded images use the native HTML loading='lazy' attribute rather than custom scroll-triggered JavaScript loading for primary content images.
  • Schema markup injected server-side in the initial HTML response, not added to the DOM via client-side JavaScript after render.
  • For sites using React, Vue, Angular, or other JS frameworks: confirm that public, indexable pages use SSR or SSG, not client-side rendering only. See my post on rendering and SEO for the full architecture comparison.

Page Speed and Core Web Vitals

  • LCP under 2.5 seconds on mobile, measured in both Search Console CWV field data and PageSpeed Insights lab data.
  • INP under 200ms — review long tasks and main thread blocking in Chrome DevTools Performance tab for interactive pages.
  • CLS under 0.1 — look for images without explicit width and height attributes, late-loading ad slots, and fonts that cause layout shift on load.
  • TTFB under 800ms — CDN implementation, server upgrade, or page caching if exceeding this threshold on consistently-loaded pages.
  • Images served in WebP or AVIF format with appropriate srcset declarations for responsive delivery across device sizes.
  • Render-blocking resources (synchronous scripts in the <head>, undeferred CSS) minimized for above-the-fold content.

Structured Data

  • All pages have at minimum Organization or WebSite schema at the site level.
  • Article, Product, FAQ, LocalBusiness, Event, or other relevant schema types implemented where applicable to the page content.
  • All schema validated in Google’s Rich Results Test with no errors. Warnings are acceptable; errors block rich result eligibility.
  • No schema types that do not match actual page content — schema that misrepresents the page is a spam signal.
  • Schema markup in the server-rendered HTML, not injected via JavaScript after page load (see the rendering section above).

Internal Linking and Information Architecture

  • Every important page reachable within three clicks from the homepage via the primary navigation or related content links.
  • No orphaned pages — run a crawl and filter for pages with zero internal links pointing to them.
  • Anchor text is descriptive and keyword-relevant — avoid generic ‘click here’ or ‘learn more’ anchors on links to important pages.
  • Silo pillar pages receive disproportionate internal link volume from their related spoke pages, reinforcing topical authority signals.

Ongoing Monitoring

  • Monthly crawl with Screaming Frog or Sitebulb to catch new errors before Search Console surfaces them.
  • Weekly review of Search Console Performance and Pages reports — look for new error categories or drops in indexed page count.
  • Crawl Stats checked immediately after any major site change: deploys, CMS updates, redirect rule changes, CDN reconfiguration.
  • Core Web Vitals CrUX field data reviewed monthly and compared to the prior period — lab data is useful for diagnosis, but field data determines ranking impact.

This checklist covers the structural foundation. Applying it systematically is what separates a site that ranks predictably from one that fights recurring, mysterious technical problems. If working through it yourself surfaces issues that need an expert diagnosis, a technical website audit from Salterra delivers a prioritized findings report with specific, actionable fixes — not a generic score from an automated tool. Also review my dedicated post on technical SEO audits for the full audit methodology that this checklist is drawn from.