A technical SEO audit checklist should confirm five things, in this order: Google can crawl your important pages, it indexes the right version of each one, your site structure points authority at the pages that make money, those pages load fast for real users, and nothing is quietly broken. An audit tool's health score is not on that list, because it counts issues instead of weighing them.
This checklist is written for e-commerce and Shopify stores, where most technical problems come from scale: thousands of product variants, filtered collection URLs and apps that add code to every page. You'll get the full checklist in one table, the Google limits and thresholds behind each check, a decoder for the Search Console reports you'll use most, and a way to rank fixes by revenue so you work on the handful that change rankings.
Why your technical SEO score is not the goal
Most audit tools turn hundreds of checks into one number. That number treats a missing alt attribute on a blog image and a noindex tag on your best-selling collection as roughly comparable problems. They are not. One costs you nothing measurable, the other removes a revenue page from Google.
Scores also reward fixing issues that are frequent rather than issues that matter. A store can raise its score by cleaning up duplicate meta descriptions on old tag pages while the real problem, such as category pages buried five clicks deep, goes untouched. Treat the score as an inventory of possible issues, then judge each one by two questions: does it affect pages that earn traffic or revenue, and does it stop Google from crawling, indexing or understanding them?
The basics are also less universal than you might think. The HTTP Archive's 2025 Web Almanac, which crawls millions of sites, found title tags on almost every page but canonical tags and meta descriptions on only about two thirds of them.
View the data
| Value | |
|---|---|
| Title tag | 98.5% |
| robots.txt returns 200 | 85% |
| Meta description | 67.2% |
| Canonical tag | 67% |
Source: HTTP Archive, Web Almanac 2025, SEO chapter
A quick automated pass with our free SEO Checker is a fine starting point. The checklist below is what turns that output into decisions. If you are new to audits, our explainer on what a technical SEO audit is covers the why; this post is the working checklist.
The technical SEO audit checklist
Here is the full checklist on one screen. Each area is covered in more detail below, with the Google rules behind it.
| Area | Check | Where to check | Pass looks like |
|---|---|---|---|
| Crawlability | robots.txt, XML sitemap, crawl errors | Robots.txt Tester, Sitemap Checker, Crawl stats report | Key sections crawlable, sitemap lists only indexable 200 URLs |
| Indexing | Page indexing reasons, stray noindex | Search Console Page indexing, URL Inspection | Revenue templates indexed, exclusions explained |
| Canonicals | Self-referencing canonicals, variant and filter URLs | Site crawl, URL Inspection | Google-selected canonical matches yours |
| Status codes | 404s, soft 404s, redirect chains | Crawl, Redirect Checker | One-hop 301s, real 404s for dead pages |
| Architecture | Click depth, orphan pages, internal links | Crawl, Internal Link Checker | Top collections a few clicks from home |
| Page experience | LCP, INP, CLS on real users | Core Web Vitals report, PageSpeed Insights | Good at the 75th percentile on mobile |
| Structured data | Product, Breadcrumb, Organization markup | Schema Validator, Rich Results Test | Valid, matches visible content |
| Rendering and AI crawlers | Mobile parity, JavaScript content, AI bot access | URL Inspection, Robots.txt Tester | Same content on mobile, bots you want allowed |
Crawlability checks
If Google can't reach a page, nothing else on this list matters. Start here.
robots.txt
- Check that
robots.txtdoes not block important sections, or the CSS and JavaScript files Google needs to render pages. Our Robots.txt Tester also shows whether AI search crawlers are allowed in. - Know the limits. Google enforces a 500 KiB size limit and ignores anything past it, and it generally caches the file for up to 24 hours, so changes are not instant.
- Make sure the file returns a 200. Google treats most 4xx responses as if there were no robots.txt at all, but a 5xx makes it stop crawling the site for the first 12 hours while it keeps retrying.
- On Shopify, the default
robots.txtalready blocks cart, checkout, account and admin paths. Shopify lets you customize it through arobots.txt.liquidtemplate but calls that an unsupported customization and warns that mistakes can lose you all traffic. Audit any edits carefully.
XML sitemap
- List only URLs that return a 200, are indexable and are their own canonical. Run the file through the XML Sitemap Checker.
- A single sitemap can hold 50,000 URLs or 50MB uncompressed; split larger ones and use a sitemap index. Shopify does this for you with separate product, collection, page and blog sitemaps.
- Google ignores
priorityandchangefreqand only trustslastmodwhen it is consistently accurate, so don't spend time tuning the first two.
Crawl health
- Open the Crawl stats report in Search Console and look for rising server errors or slow response times.
- Find orphan pages: URLs in your sitemap or analytics that no internal link points to. See our guide to orphan pages.
- Only very large stores need to think about crawl budget. Google's guide is aimed at sites with 1 million or more unique pages that change weekly, or 10,000 or more that change daily, and says those are not exact thresholds.
Source: Google Search Central: robots.txt, Build a sitemap and Googlebot documentation, 2026
We'll benchmark your store against your top three competitors on Google and AI answers and hand you the prioritized technical fixes, with the revenue math behind each.
Indexing and canonical checks
Crawled is not the same as indexed. The Page indexing report in Search Console tells you which URLs Google left out and why. Large counts under one reason usually point to a template or parameter problem, not individual pages.
| Page indexing reason | What it usually means on a store | What to do |
|---|---|---|
| Excluded by noindex tag | A theme, app or staging setting is noindexing pages | Fix now if it hits revenue templates |
| Duplicate without user-selected canonical | Variant, filter or tracking URLs with no canonical | Add canonicals to the preferred URL |
| Crawled, currently not indexed | Thin or near-duplicate pages Google chose to skip | Improve, consolidate or remove them |
| Soft 404 | Empty collections or out-of-stock pages that look like errors | Add content, redirect or return a real 404 |
| Page with redirect | Old URLs that now redirect | Normal; just keep them out of your sitemap |
For the full list of reasons and how to handle each, see our guide to crawl errors.
Canonical checks
- Every indexable page should carry a self-referencing canonical tag.
- Product variants, filtered collections and tracking parameters should point to the version you want ranked. Google's documentation describes redirects and
rel="canonical"as strong canonicalization signals and sitemap inclusion as a weak one. - Use URL Inspection on one page per template (home, collection, product, blog post) and compare the Google-selected canonical with yours.
- On Shopify, products also load at collection-scoped paths such as
/collections/mens/products/blue-tee. When we checked a live Shopify store in October 2026, that path carried a canonical to the plain/products/URL. The tag comes from your theme, so confirm yours does the same. - Don't use
robots.txtto handle duplicates. Google notes it may still index blocked URLs without their content. More in our canonical tags guide.
Redirects, status codes and site structure
Status codes and redirects
- Pages that are gone for good should return 404 or 410, not a 200 "not found" page. Google's crawl budget guide notes soft 404 pages keep getting crawled and waste budget.
- Old URLs should redirect in one hop with a permanent 301 or 308. Google treats those as a signal that the target should be canonical, while 302 and 307 keep the old URL as canonical. Check chains and loops with the Redirect Checker, and read our guide to redirect chains.
- Map discontinued product URLs that still earn links or traffic to the closest relevant product or collection. The 404 Redirect Mapper matches broken URLs to the closest live page.
Site architecture and internal links
- Your top collections and products should be reachable within a few clicks of the homepage, through the main menu or collection pages, not only through search.
- Blog posts and guides should link to the collections they support, with descriptive anchor text.
- Run the Internal Link Checker to find orphan and under-linked pages, and update internal links that still point at redirected URLs.
Core Web Vitals and rendering checks
Judge speed on field data from real users, the Core Web Vitals report in Search Console, not a single lab test. Google's "good" thresholds are measured at the 75th percentile of page loads, segmented by mobile and desktop.
| Metric | Measures | Good |
|---|---|---|
| Largest Contentful Paint (LCP) | Loading: when the main content appears | 2.5 seconds or less |
| Interaction to Next Paint (INP) | Responsiveness to taps and clicks | 200 milliseconds or less |
| Cumulative Layout Shift (CLS) | Visual stability while loading | 0.1 or less |
INP replaced First Input Delay as a Core Web Vital in March 2024, so any audit still reporting FID is out of date. Mobile is where most stores fail: in the 2025 Web Almanac, fewer sites reached good Core Web Vitals on mobile than on desktop.
View the data
| Value | |
|---|---|
| Desktop | 56% |
| Mobile | 48% |
Source: HTTP Archive, Web Almanac 2025, SEO chapter
On Shopify, unused apps and their leftover scripts are a common cause of slow product pages. Our Core Web Vitals for Shopify guide covers the usual fixes.
Mobile and rendering
- Google says most Googlebot crawl requests use its smartphone crawler, because it primarily indexes the mobile version of sites. Your mobile pages need the same content, links and structured data as desktop.
- Googlebot for Search fetches the first 2MB of a supported file such as an HTML page, and each CSS or JavaScript file separately under the same cap. Bloated pages with huge inline scripts or JSON can push content past that point.
- If key content loads with JavaScript, check the rendered HTML in URL Inspection to make sure Google sees it.
Our free $100M AI Visibility Roadmap, built from 7,960 live pages and 197 A/B tests, shows how to get cited by ChatGPT, Google AI Overviews and Perplexity.
Structured data and AI crawler checks
- Product pages should carry Product markup with price, availability and, where you have them, review ratings. Add BreadcrumbList to collections and products.
- Test each template with the Schema Validator, and make sure the markup matches what shoppers see on the page.
- Keep expectations current. Google removed HowTo rich results in September 2023, and FAQ rich results stopped appearing in Google Search from May 7, 2026; Google removed the FAQ documentation in June 2026. FAQ content can still help shoppers and AI answers, but don't audit for FAQ rich results.
- Check which AI crawlers your
robots.txtallows. If you want to be cited by ChatGPT, Perplexity and Google's AI features, the bots that fetch pages for them need access. The Robots.txt Tester lists them.
How to prioritize technical SEO fixes
An audit usually produces more issues than you can fix in a quarter. Rank them by impact on revenue pages, not by how often they appear.
| Priority | Typical issues | Why |
|---|---|---|
| Fix now | Important pages blocked, noindexed or returning errors; sitewide canonical mistakes | These remove revenue pages from search entirely |
| Fix this quarter | Redirect chains, index bloat from filters, poor Core Web Vitals on product templates, orphaned collections | They waste crawling and weaken key pages |
| Batch later | Duplicate meta descriptions on low-traffic pages, missing alt text on decorative images | Real but low impact on rankings |
A simple way to run the audit:
- Crawl the whole site and export every URL with its status code, canonical and indexability. Our guide on how to scan all pages of a website walks through it.
- Pull clicks and revenue by landing page from Search Console and GA4, and tag each URL by template.
- Work through the checklist above, starting with the templates that drive the most revenue.
- Score each issue by pages affected and revenue at stake, then fix from the top.
- Recheck in Search Console after Google recrawls, usually a few weeks later for key pages, and use Validate Fix in the Page indexing report to speed up the recheck.
How often to run a technical SEO audit
Run a full audit at least once a year and before and after any major change: a theme switch, a platform move, a URL restructure or a large app install. Between audits, a monthly look at the Page indexing, Crawl stats and Core Web Vitals reports in Search Console catches most problems early. If you are planning a replatform, use our website migration SEO checklist too.
For a Shopify-specific, step-by-step version, see our Shopify SEO audit guide. If you want a team to run the audit and fix what matters, our technical SEO and e-commerce SEO teams can help, or get in touch to talk through your site.
Book a free 30-minute call. We'll show you how you compare with your top three competitors, the fixes to prioritize and the revenue they could add.