Skip to content
Developer reviewing technical SEO metrics on a laptop

Technical SEO Audit: A 50-Point Checklist for 2026

· by Digitelia · 4 min read

A technical SEO audit is the diagnostic before treatment. Skip it and you spend months optimizing content that Google can’t crawl, or earning links to pages that aren’t indexable. Run it well and you find the 20% of fixes that produce 80% of the recovery — often within a single quarter.

This 50-point checklist is the exact framework we use at Digitelia. It is organized into seven layers, ordered by impact and by the order you should fix things in. Don’t optimize Core Web Vitals if Google can’t crawl the page in the first place.

Technical SEO dashboard on a developer's screen

Layer 1: Crawlability (issues 1-9)

If Googlebot can’t get to your pages, nothing else matters.

1. Robots.txt is accessible and not blocking critical paths. Fetch yourdomain.com/robots.txt and confirm it returns 200. Read it line by line — a stray Disallow: / in production is a five-figure mistake. Check that Disallow: directives don’t accidentally block your CSS, JS, image directories, or important content sections.

2. Sitemap.xml exists, is reachable, and listed in robots.txt. Confirm Sitemap: https://yourdomain.com/sitemap.xml is present in robots.txt and the URL returns valid XML. Multiple sitemaps (sitemap-posts.xml, sitemap-pages.xml) should be referenced from a sitemap index file.

3. Sitemap contains only canonical, indexable URLs. Common bug: sitemap includes redirected URLs, noindexed pages, or 404s. Crawl your sitemap with Screaming Frog and remove anything that isn’t 200/canonical/indexable.

4. Sitemap is submitted in Search Console and reports Success. If you see Couldn't fetch or Has errors, fix before going further.

5. Search Console coverage report has no “Discovered - currently not indexed” pages that should be indexed. This is Google’s polite way of saying “your content isn’t valuable enough to index.” Usually a content quality, internal linking, or topical authority issue.

6. No critical pages return 4xx or 5xx. Run a full crawl and audit status codes. Any 4xx on linked-to pages should be fixed (redirect or restore). Any 5xx is an emergency.

7. Server response time is under 600ms (TTFB). Slow TTFB throttles crawl budget. Measure with WebPageTest from multiple geographies. If TTFB is over 1 second, your hosting or backend is the bottleneck.

8. No infinite-loop redirect chains. Each redirect costs crawl budget. Audit for chains of 3+ hops and collapse them to single hops.

9. Pagination is implemented correctly. Use rel="next"/"prev" if you have it, but more importantly: ensure paginated URLs are crawlable, not blocked by parameters, and each page has unique content (not duplicates of page 1).

Layer 2: Indexation (issues 10-17)

Crawlable doesn’t mean indexable. Indexation is a separate, deliberate decision.

10. <meta name="robots"> directives are correct on every page. Audit index, follow vs noindex, follow vs noindex, nofollow distribution. Anything important should be index, follow. Filter pages, search results, internal admin URLs should be noindex, follow.

11. X-Robots-Tag HTTP headers don’t override page-level robots tags. Server-level X-Robots-Tag headers silently noindex pages — common on PDFs, image-only pages, and after misconfigured WAF rules.

12. Canonical tags resolve to a single, self-referential URL on every page. Each page should have <link rel="canonical" href="..."> pointing to its preferred URL. Test 10 sample URLs and confirm canonical matches the URL itself (or the preferred variant if duplication exists).

13. No canonical pointing to noindexed page. Self-canceling — Google ignores both signals.

14. No mixed HTTPS/HTTP canonicals. Everything should be HTTPS canonical. Audit for any HTTP version still linked or canonicalized.

15. No www vs non-www inconsistency. Pick one as canonical, 301 the other site-wide.

16. Search Console URL inspection on top 20 pages returns Indexed. Manually inspect — don’t trust aggregate numbers.

17. Index Bloat: no thin, low-value pages in the index. Tag-archive pages with one post, author pages with no content, internal search pages — all should be noindex.

Layer 3: Core Web Vitals and Page Experience (issues 18-26)

Google has confirmed Core Web Vitals are a (small) ranking factor. The bigger reason to fix them is conversion rate — pages that load in 1 second convert ~3× pages that load in 5 seconds.

18. Largest Contentful Paint (LCP) under 2.5 seconds on 75th percentile. Check real-user data in Search Console → Core Web Vitals report. Lab data from PageSpeed Insights is a useful debug tool but the ranking signal is field data (CrUX).

19. Cumulative Layout Shift (CLS) under 0.1. Most common causes: unsized images, ads loading after content, web fonts swapping. Fix by adding width/height attributes to images, reserving space for embeds, and using font-display: optional or preloading fonts.

20. Interaction to Next Paint (INP) under 200ms. The replacement for FID. Heavy JS execution on input is the killer. Profile with the Chrome DevTools Performance tab during typical interactions.

21. Hero images use modern formats (AVIF, WebP). AVIF gives 30%+ size reduction vs WebP, 50%+ vs JPEG. Most stacks generate them automatically (Astro, Next.js); legacy WP sites need a plugin like ShortPixel or Imagify.

22. Critical CSS is inlined. Above-the-fold styling should be inline <style> in the head; everything else can lazy-load. This shortens LCP dramatically on the first paint.

23. JavaScript is deferred or async where possible. <script defer> or <script async> on non-critical JS. Render-blocking JS is the most common LCP killer in 2026.

24. Images use loading="lazy" for below-the-fold content. Native lazy loading is supported in every major browser. Mark anything not in the first viewport.

25. Web fonts are preloaded with <link rel="preload">. Or use system fonts — fastest of all, especially on mobile.

26. HTTP/2 or HTTP/3 enabled at the server level. Multiplexes requests, dramatically faster than HTTP/1.1. Most modern CDNs default to it.

Core Web Vitals performance chart

Layer 4: Architecture and Internal Linking (issues 27-32)

27. Site has clear URL hierarchy. /blog/post-title/, /products/category/sku/, /about/. Avoid deep nesting (>4 levels) and parameter-only URLs (/?id=12345).

28. URLs are human-readable, lowercase, hyphenated. No underscores, no uppercase, no special characters. Keep them short — under 100 chars when possible.

29. Every important page is reachable in 3 clicks or fewer from the homepage. Audit click depth with Screaming Frog’s “Crawl Depth” report. Pages 5+ clicks deep get crawled less and weighed lower.

30. Internal links use descriptive anchor text. “Click here” and “read more” are wasted SEO signal. Use anchor text that describes the destination (“our guide to Performance Max for ecommerce”).

31. Orphaned pages don’t exist. Run Screaming Frog with sitemap input — any pages in sitemap but not internally linked are orphaned. Either link them or remove from sitemap.

32. Breadcrumbs are implemented with schema. Visible to users, marked up with BreadcrumbList schema. Appears in SERPs as a path.

Layer 5: Schema and Structured Data (issues 33-38)

Schema is no longer optional. AI search (ChatGPT, Perplexity, Gemini) parses structured data to surface citations.

33. Article schema on blog posts. Required fields: headline, image, datePublished, dateModified, author (with Person schema, including url), publisher (with Organization schema, including logo).

34. Product schema on product pages. Required: name, image, description, sku/gtin, brand, offers (with price, currency, availability). For shopping listings, also add aggregateRating and review schema if you have reviews.

35. Organization schema on the homepage. Required: name, url, logo. Highly recommended: sameAs (links to your social profiles), contactPoint, founder, foundingDate.

36. BreadcrumbList schema on every page with breadcrumbs. Improves SERP appearance and accessibility.

37. FAQ schema on guides and FAQ pages. Still eligible for rich results in some queries. Don’t abuse on regular content (against Google’s guidelines).

38. Schema is valid and renders. Validate every implementation in Google’s Rich Results Test. Errors silently invalidate the markup.

Layer 6: JavaScript SEO (issues 39-43)

For SPAs (React, Vue, Angular sites) this layer is do-or-die.

39. Important content is rendered server-side or pre-rendered. Client-only rendering means Googlebot might not see the content. SSR (Next.js, Nuxt) or SSG (Astro, Gatsby) solves this. If you must client-render, use dynamic rendering for bots.

40. URLs change on navigation (no hash-only routing). Routes like /page#section are not separate URLs to Google. Use the History API to push real URLs.

41. <title> and <meta description> are set before page interactivity. If they’re updated only after JS execution, Googlebot may index the initial values. Frameworks should populate them server-side.

42. Pagination, filters, and infinite scroll have crawlable equivalents. Infinite scroll alone is invisible to Googlebot. Provide ?page=N or similar URL-driven paginated views.

43. Client-rendered content loads within 5 seconds. Googlebot has a budget per page; complex SPAs that take 10+ seconds to fully render get partially indexed.

Layer 7: International and Mobile (issues 44-46)

44. Hreflang tags are implemented if you have multiple language or country versions. Bidirectional: every URL in the cluster lists every other URL. x-default for the fallback. Validate with Search Console → International Targeting.

45. ccTLDs, subdomains, and subfolders are used consistently for international. Pick one strategy and stick to it. Mixed (uk.example.com for UK but example.com/de for Germany) confuses both users and search engines.

46. Site is responsive (single URL serving mobile and desktop). Separate mobile URLs (m.example.com) are legacy — collapse to responsive design with one URL set.

Layer 8: AI Search Readiness (issues 47-50)

This is the layer most 2025 checklists missed. In 2026, ranking in ChatGPT, Perplexity, Gemini, and Google’s AI Overviews is its own discipline.

47. Content is parseable as discrete answer chunks. AI search systems quote 2-4 sentence chunks. Structure your content so any 4-sentence span makes sense in isolation. Heavy reliance on context-dependent pronouns (“as we discussed above…”) breaks this.

48. Author and publisher entities are explicit and verifiable. AI search relies heavily on E-E-A-T signals to choose sources. Your author bylines should link to author pages with full Person schema, including credentials, sameAs to LinkedIn/Twitter, and verifiable expertise claims.

49. Brand mentions are unambiguous. Use your full brand name consistently. Avoid ambiguity (“Apple” should be “Apple Inc.” or “Apple the fruit”). Add an Organization schema with description that disambiguates.

50. Critical content isn’t gated, lazy-loaded after scroll, or behind cookie walls. AI crawlers don’t scroll, don’t accept cookies, and rarely click through gates. Anything you want cited must be in the initial HTML.

How to actually run the audit

Tools that pay for themselves:

  • Screaming Frog SEO Spider (~$259/year): the crawler. Configure it to render JavaScript and crawl your full sitemap.
  • Search Console: free, the source of truth for indexation, Core Web Vitals, and manual actions.
  • Google PageSpeed Insights: per-URL Core Web Vitals lab + field data.
  • Ahrefs / Semrush (optional): backlink and SERP visibility data.
  • Sitebulb: alternative to Screaming Frog with better visualization.

Process:

  1. Crawl the full site (yourdomain.com) with JavaScript rendering on.
  2. Export to a spreadsheet.
  3. Run through the 50 points above, tagging each URL as Pass/Fail.
  4. Prioritize fixes by traffic potential × technical impact.
  5. Implement, re-crawl, validate fixes.

A solid audit takes 8-20 hours depending on site size. Anything larger than 50K URLs needs sampling.

Frequently asked questions

How often should I run a technical SEO audit? Major audit: once a year, plus before/after any site migration. Spot checks of crawl errors, Core Web Vitals, and sitemap health: weekly.

Can I do a technical SEO audit without paid tools? Partially. Search Console is free and covers most indexation issues. PageSpeed Insights handles Core Web Vitals. For crawling, Screaming Frog’s free version handles up to 500 URLs — fine for small sites.

What’s the biggest mistake in technical SEO audits? Treating it as a checklist rather than a diagnostic. The point isn’t to fix all 50 issues — it’s to find the 3-5 that are actually blocking traffic. A page with no backlinks won’t suddenly rank because you added schema.

Does Core Web Vitals really affect rankings? Yes, but as a tiebreaker. Two pages with similar content quality and authority — the faster one wins. Don’t expect a top-10 → top-3 jump from CWV alone.

How do I rank in ChatGPT and Perplexity? Different topic, briefly covered in Layer 8. Long version: combine traditional SEO (you need to rank in Google first, AI search cross-references) with explicit entity markup, verifiable authorship, and well-chunked content.


A good technical SEO audit is the highest-leverage few days of work in SEO. It’s not glamorous, but it identifies the structural issues that no amount of content or link-building can paper over. If you’re not sure where to start, working through Layer 1 first (crawlability) usually surfaces the biggest unlocked wins.

Tagged

#technical-seo#seo-audit#core-web-vitals#schema#javascript-seo#ai-search#b2b-saas#smb