Technical SEO audit checklist: 35 checks with pass criteria
By ElixRank Team · Updated
Short answer
A technical SEO audit checks whether search engines can crawl, render and index your pages, and whether those pages load fast and send clear signals. Work through it in order: crawlability, indexability, site structure, page-level signals, performance, structured data, then AI-search access. Fix blockers that stop indexing first, then work down by impact.
How to use this checklist
Each check below has a pass criterion and a way to test it, mostly with free tools. Mark it Pass, Fail or N/A, note the affected URLs, then sort the fails by impact. The same list is available as a CSV template you can import into Google Sheets or Excel.
1. Crawlability
| Check | Pass criterion | How to test |
|---|---|---|
| robots.txt reachable | Returns 200 at /robots.txt (a 404 is fine; 5xx is not) | Robots.txt tester |
| No accidental blocking | Important sections and CSS/JS aren't disallowed for Googlebot | Test key URLs in the robots.txt tester |
| XML sitemap valid | Valid XML, under 50,000 URLs or 50 MB per file | Sitemap validator |
| Sitemap lists only good URLs | Only canonical, indexable, 200-status URLs | Sitemap URL extractor + spot checks |
| Sitemap referenced | Sitemap: line in robots.txt and submitted in Search Console | Search Console → Sitemaps |
| Server errors | No spike in 5xx responses in Crawl stats | Search Console → Settings → Crawl stats |
Background: how robots.txt works and XML sitemap best practices.
2. Indexability
| Check | Pass criterion | How to test |
|---|---|---|
| No stray noindex | Pages you want indexed have no noindex in meta robots or X-Robots-Tag | Meta tags analyzer |
| Canonical tags | Each indexable page has a self-referencing or correct canonical | Meta tags analyzer |
| Index coverage | Key pages show as Indexed; no large unexpected 'not indexed' groups | Search Console → Pages |
| Duplicate versions | http/https and www/non-www redirect to one version | Redirect checker |
| Redirect chains | No chains longer than one hop, no loops | Redirect checker |
| Soft 404s | Empty or error pages return 404/410, not 200 | Search Console → Pages → Soft 404 |
3. Site structure and internal links
| Check | Pass criterion | How to test |
|---|---|---|
| Click depth | Important pages reachable within 3 clicks of the homepage | A crawler (e.g. Screaming Frog free up to 500 URLs) |
| No orphan pages | Every indexable page has at least one internal link | Compare sitemap URLs with crawled URLs |
| Broken internal links | No internal links to 4xx pages | Crawler report |
| Descriptive anchors | Links use descriptive anchor text, not 'click here' | Manual review of key templates |
| Clean URLs | Readable, lowercase, hyphenated; no session IDs | Crawler URL list |
More in internal linking for SEO and keyword cannibalization.
4. Page-level signals
| Check | Pass criterion | How to test |
|---|---|---|
| Unique titles | Every indexable page has a unique, descriptive title that fits without truncation | Meta length checker |
| Meta descriptions | Present, unique, written for clicks | Meta tags analyzer |
| One H1 | One H1 that matches the page topic | Meta tags analyzer |
| Image alt text | Meaningful images have alt text | Crawler or manual review |
| hreflang (if multilingual) | Reciprocal hreflang with valid language codes and x-default | Meta tags analyzer |
5. Performance and mobile
| Check | Pass criterion | How to test |
|---|---|---|
| Largest Contentful Paint | ≤ 2.5 s at the 75th percentile | PageSpeed Insights (field data) or Search Console → Core Web Vitals |
| Interaction to Next Paint | ≤ 200 ms at the 75th percentile | Same |
| Cumulative Layout Shift | ≤ 0.1 at the 75th percentile | Same |
| Mobile rendering | Content and links identical on mobile; no blocked resources | URL Inspection → View tested page |
| HTTPS everywhere | Valid certificate, no mixed content | Browser dev tools / redirect checker |
Use field data (real users) over lab scores when they disagree. A low Lighthouse score with passing field data is not an emergency.
6. Structured data
| Check | Pass criterion | How to test |
|---|---|---|
| Valid JSON-LD | Parses without errors | Schema markup validator |
| Required properties | Required fields present for each rich result type you target | Schema markup validator + Rich Results Test |
| Matches visible content | Marked-up data matches what users see | Manual review |
| Organization / Article basics | Organization on the homepage; Article with author and dates on posts | Schema markup validator |
7. AI search access
These checks decide whether AI search engines can read and cite you. They're new to most checklists, but they're quick.
| Check | Pass criterion | How to test |
|---|---|---|
| AI search crawlers allowed | OAI-SearchBot, PerplexityBot and Claude-SearchBot not blocked (if you want AI citations) | Robots.txt tester (AI crawler presets) |
| Content in the HTML | Main content present without running JavaScript | View source, or fetch with curl |
| No nosnippet on key pages | nosnippet/max-snippet don't block the passages you want quoted | Meta tags analyzer |
| Direct answers | Key pages answer their main question in the first lines | Manual review; then the AI Overview checker |
Why these matter: how AI search chooses sources.
How to prioritise what you find
- Blockers first: anything that stops important pages being crawled or indexed.
- Then issues on pages that already get impressions in Search Console, because fixes there show results fastest.
- Then sitewide template issues (one fix, many pages).
- Leave cosmetic issues on low-traffic pages for last, or skip them.
For a scoring method, see how to prioritise SEO tasks. If you'd rather not run 35 checks by hand, ElixRank's audit runs the homepage, robots.txt, sitemap, Core Web Vitals and Search Console checks automatically and ranks the issues. It doesn't replace a full-site crawler for deep link-graph analysis.
Frequently asked questions
What is a technical SEO audit?
A review of whether search engines can crawl, render and index your site, and whether pages load quickly and send clear signals through titles, canonicals, structured data and internal links. It doesn't cover content quality or backlinks in depth.
How long does a technical SEO audit take?
For a small site under about 500 pages, a few hours with free tools. Large or complex sites, such as ecommerce with faceted navigation, can take days and need a full crawler.
How often should I run one?
A full audit once or twice a year, plus a quick check after any redesign, migration, CMS change or sudden drop in Search Console clicks.
Is there a free technical SEO audit template?
Yes. The CSV linked on this page contains every check, its pass criterion and how to test it. Import it into Google Sheets and add Status, URLs and Notes columns.
What tools do I need?
Google Search Console, PageSpeed Insights and a crawler cover most checks. The free ElixRank tools linked in each table handle robots.txt, sitemaps, redirects, meta tags and schema.
Run the audit automatically
Connect Search Console and ElixRank checks the technical basics, scores your site and ranks the fixes by impact.
Try ElixRank free →