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.txtis 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
noindexdirective — 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.