A Shopify SEO audit is a step-by-step review of how well Google can crawl, index and rank your store, ending in a prioritized list of fixes. Work through it in order: indexing, duplicate URLs, speed, site structure, on-page content, structured data, then links and redirects, because a problem in an early step can make every later fix worthless.
This guide is for Shopify owners, marketers and in-house SEOs who want to run the audit themselves. You'll get the exact checks for each step, the Shopify behaviors that cause most problems (confirmed in Shopify's documentation and on a live store), the free tools that speed each step up, and a scoring method that turns a long issue list into a short, revenue-first plan.
What a Shopify SEO audit covers
Shopify handles a lot of SEO plumbing for you. It generates sitemap.xml automatically, ships a default robots.txt that Shopify describes as optimal for SEO, and adds canonical tags in most themes. That means a Shopify audit is less about building basics and more about catching what themes, apps, catalog changes and old redirects have broken.
Here is what each layer of the audit checks, the free tool to start with and how long it usually takes on a store with a few hundred products.
| Audit layer | What you check | Start with | Typical time |
|---|---|---|---|
| Indexing and crawling | Pages report, sitemap, robots.txt, password page | Search Console, sitemap checker | 1 to 2 hours |
| Duplicates and canonicals | Collection product paths, variants, sorting, filters, tags | A crawler, URL Inspection | 2 to 3 hours |
| Speed and Core Web Vitals | LCP, INP and CLS by template, app scripts | Search Console, PageSpeed Insights | 1 to 2 hours |
| Structure and keywords | Page targeting, cannibalization, orphan pages | cannibalization checker | 2 to 4 hours |
| On-page and schema | Titles, H1s, collection copy, Product markup | SEO checker, schema validator | 2 to 4 hours |
| Links and redirects | 404s with backlinks, redirect chains, AI crawler access | redirect checker | 1 to 2 hours |
The times are planning estimates, not benchmarks. Large catalogs, several markets or a recent migration add hours to every row. Before you start, set up a spreadsheet with one row per issue and these columns: issue, affected URLs, step, fix, impact score, effort score and owner. You'll use the scores in the last step.
Step 1: Set up your tools and a baseline
An audit without a baseline can't show whether your fixes worked. Spend the first hour collecting the numbers you'll compare against in 90 days.
- Verify Search Console. Confirm you have access to a Domain property, or a URL-prefix property for the exact primary domain. If you sell internationally on separate domains, verify each one.
- Export 16 months of performance data. Pull clicks, impressions and average position by page and by query. Our Search Console quick wins analyzer finds pages ranking just off page one with high impressions, which become your fastest wins later.
- Pull revenue by landing page from GA4. Filter to organic search sessions. This tells you which collections and products actually make money, so you can weight every issue by revenue instead of by traffic alone.
- Run a full crawl. Use a desktop crawler such as Screaming Frog, set to respect robots.txt and to extract canonicals, titles, H1s and status codes.
- Run a quick scan of your key templates. Put the homepage, a top collection and a top product page through our SEO checker to get a fast read on titles, headings, meta tags and indexability before you dig into the crawl.
Step 2: Check indexing and crawlability
If Google can't crawl or index a page, nothing else in the audit matters for that page. Start with Search Console's Pages report and work through the reasons listed under "Why pages aren't indexed".
- Password protection. Shopify's help center notes that Google can't read your sitemap while the store is in private mode. If you launched recently, confirm the password page is off.
- Sitemap. Shopify generates
sitemap.xmlat the root of each domain, and it links to child sitemaps for products, collections, blogs and pages. Submit it in Search Console and check it with our sitemap checker for URLs that redirect, 404 or are blocked. - Index counts. Compare the number of active products and collections in your admin with the number of indexed product and collection URLs. A large gap in either direction needs an explanation: thin pages being dropped, or duplicates being indexed.
- Key exclusions. Look for money pages marked "Crawled, currently not indexed", "Excluded by noindex tag" or "Duplicate, Google chose different canonical than user". Use URL Inspection on a few of each to see the actual reason.
What the default robots.txt already blocks
We checked the live robots.txt on allbirds.com, a Shopify store, on October 27, 2026. The default rules disallow /admin, /cart, /checkout, /account, collection URLs containing sort_by, multi-tag collection URLs that use a +, and collection URLs that combine two or more filter parameters. That matches Shopify's own description: the default blocks admin, cart, checkout and account pages plus filtered and sorted collection pages. If your file looks very different, find out why.
We benchmark your store against your top three competitors on Google and AI answers, then show the pages ready to move, the fixes to make first and the revenue math.
Step 3: Find duplicate URLs and canonical errors
Shopify creates duplicate URLs in predictable ways. The good news is that a well-built theme handles most of them with canonical tags. On allbirds.com we confirmed that a product opened through a collection path, a product URL with a ?variant= parameter and a sorted collection URL all carry a canonical tag pointing at the clean URL. Your theme may differ, so test each pattern on your own store.
| Duplicate pattern | Example URL | What good looks like |
|---|---|---|
| Collection product path | /collections/shirts/products/linen-tee | Canonical to /products/linen-tee; product grid links point to the clean URL |
| Variant parameter | /products/linen-tee?variant=123 | Canonical to the main product URL |
| Sorting | /collections/shirts?sort_by=price-ascending | Canonical to the base collection; blocked by default robots.txt |
| Filters | /collections/shirts?filter.v.option.color=blue | Combinations of two or more filters blocked; single filters canonicalized or deliberately indexed |
| Tag pages | /collections/shirts/linen | Indexed only if they have unique copy and real search demand |
| Pagination | /collections/shirts?page=2 | Crawlable so deeper products are found |
To test a pattern, open the URL, view source and search for rel="canonical", or run it through URL Inspection to see which canonical Google selected. Then check your crawl for internal links that point at duplicate versions. Many themes link products through the collection path, which wastes crawling even when the canonical is correct. Google's faceted navigation guidance says robots.txt blocking is generally more effective long term than canonicals for filter URLs you don't need in search, so lean on the default rules and only open up filters that match real searches. Our guides to canonical tags and Shopify product tags go deeper.
Step 4: Test speed and Core Web Vitals
Core Web Vitals are Google's field metrics for loading, responsiveness and visual stability. A page passes when 75% of real visits meet all three thresholds. Interaction to Next Paint replaced First Input Delay in 2024, so ignore any audit report that still grades FID.
Source: Google, web.dev Web Vitals (accessed October 2026)
- Start with field data. Search Console's Core Web Vitals report groups similar URLs, so one failing group usually means one failing template. Shopify's web performance dashboard in the admin also reports real-user LCP, INP and CLS.
- Then diagnose by template. Run your homepage, a top collection and a top product page through PageSpeed Insights. Note the LCP element (often the hero or main product image) and the scripts that block interaction.
- List every app that injects storefront code. Reviews, upsells, chat and pop-up apps are common sources of slow INP. Uninstalled apps can also leave code in theme files, so search the theme for leftover snippets.
- Check images. Oversized hero images and lazy-loaded above-the-fold images are the usual LCP problems on Shopify themes.
Our Core Web Vitals for Shopify guide covers fixes in detail.
Step 5: Audit structure and keyword targeting
This step asks whether every query worth winning has one clear page to rank, and whether Google can reach that page easily.
- Map queries to pages. Using your Search Console export, list the top queries for each collection and product. Look for valuable searches that land on the homepage or a blog post when a collection should rank.
- Find cannibalization. When two or more URLs swap positions for the same query, neither ranks as well as one strong page would. Paste your query and page data into our keyword cannibalization checker to find them, then pick one page per query and consolidate or re-target the others.
- Check click depth. Your top collections should be linked from the main navigation. Products buried behind several pages of pagination get crawled less often.
- Find orphan pages. Compare the sitemap with the crawl. Products and posts in the sitemap with no internal links are orphans. Our internal link checker shows what links to a page and what it links out to.
For the research side of this step, see our guide to Shopify SEO keywords, which covers mapping terms to collections, products and blog posts.
Step 6: Audit on-page SEO and structured data
Work through your highest-revenue pages first, then fill in the rest by template.
On-page checks
- Title tags and meta descriptions. Shopify lets you enter up to 70 characters in the SEO title and suggests keeping it to about 60 to avoid truncation, with meta descriptions around 160 characters. Flag missing, duplicated and default titles such as "Products" or the store name alone. Our title tag checker previews how each one displays.
- H1 headings. Each page should have exactly one H1 that matches its topic. Some themes wrap the logo in an H1 on every page or drop the H1 from collections; the H1 checker catches both.
- Collection copy. A collection with only a product grid gives Google little to rank. Each important collection needs a short, unique intro and, ideally, buying guidance or FAQs further down the page.
- Product descriptions. Flag manufacturer copy reused across many stores, near-identical descriptions across variants sold as separate products, and descriptions that skip the details shoppers ask about, such as sizing, materials and care.
- Image alt text. Product images should have descriptive alt text. Shopify's guidance is to describe what the image shows in readable phrases.
Structured data checks
Run several product URLs through Google's Rich Results Test or our schema validator. Confirm that Product markup includes name, image and an Offer with price, currency and availability, that review ratings come from real reviews shown on the page, and that a theme and a reviews app aren't both outputting separate Product blocks. Duplicate or conflicting markup is one of the most common Shopify schema problems. Our guide to product schema on Shopify covers the fixes.
The free $100M AI Visibility Roadmap, built from 7,960 live pages and 197 A/B tests, shows how stores get cited by ChatGPT, Google AI Overviews and Perplexity.
Step 7: Check links, redirects and AI crawlers
- Broken pages with backlinks. Discontinued products and deleted collections often keep backlinks. Find 404 URLs with links or past traffic, then redirect each to the closest live page. Our 404 redirect mapper matches old URLs to new ones and formats them for Shopify's redirect import.
- How Shopify redirects work. Shopify's help center says you can only redirect from broken URLs: if the old URL still loads a page, the redirect won't fire. Most stores can hold up to 100,000 redirects, and Plus stores up to 20 million. When you change a URL handle in the admin, make sure the option to create a redirect is ticked.
- Redirect chains and internal links to redirects. Old migrations leave chains (A to B to C). Point every redirect straight at the final URL and update internal links. Test individual URLs with our redirect checker, and read our guide to redirect chains.
- Authority gap. Compare referring domains for your top collections with the stores that outrank you for the same terms. A big gap tells you on-page fixes alone won't close the distance.
- AI crawler access. Check that robots.txt doesn't block search and AI crawlers you want, such as Googlebot, Bingbot, OAI-SearchBot and PerplexityBot. Our robots.txt tester checks each one, and the AEO checker scores how answer-ready a page is.
How to prioritize your audit findings
A finished audit can list hundreds of issues. Most stores get the biggest return from a small number of them, so score each row in your spreadsheet before anyone starts fixing.
- Score impact from 1 to 3. 3 means the issue affects pages that drive organic revenue or blocks indexing; 1 means a cosmetic or low-traffic issue.
- Score effort from 1 to 3. 1 is a setting or content edit; 3 is theme development or an app replacement.
- Sort by impact, then by lowest effort. High impact with low effort goes first.
- Group fixes by template. One theme change can fix every product page at once, so bundle template issues into a single developer task.
- Set a re-check date. Note when to measure each fix in Search Console, usually four to eight weeks after Google recrawls the pages.
| Priority | Typical issues | Why it comes here |
|---|---|---|
| 1. Fix now | Noindex or robots blocks on money pages, password page on, broken top collections | Pages that can't be indexed earn nothing |
| 2. This sprint | 404s with backlinks, wrong canonicals, cannibalized collection terms | Recovers rankings and links you already earned |
| 3. Next sprint | Weak titles and thin copy on pages ranking 4 to 15 | Closest to a visible traffic gain |
| 4. Planned | Template speed work, app cleanup, schema fixes | Needs development time; fixes many pages at once |
| 5. Backlog | Missing alt text on old products, minor heading order | Low impact per page |
Why pages just off page one come first
Clicks fall steeply with each position. First Page Sage's 2026 report, built on 3.67 billion Google impressions across 1,184 domains, shows the blended click-through rate by position, averaging results with and without an AI answer on the page.
View the data
| Value | |
|---|---|
| Position 1 | 7.1% |
| Position 2 | 3% |
| Position 3 | 1.7% |
| Position 4 | 1.1% |
| Position 5 | 0.7% |
| Position 6 | 0.6% |
| Position 7 | 0.4% |
| Position 8 | 0.3% |
| Position 9 | 0.2% |
| Position 10 | 0.2% |
Source: First Page Sage, Google Click-Through Rates by Ranking Position, 2026
Applied to a single collection query, those rates show why moving a page from the bottom of page one into the top three is often worth more than any number of small fixes on pages that don't rank.
View the data
| Value | |
|---|---|
| Position 9 | 40 |
| Position 5 | 140 |
| Position 3 | 340 |
| Position 1 | 1,420 |
Source: QCK illustrative calculation
How often to audit your Shopify store
Run a full audit once or twice a year and a lighter monthly check of the Pages report, Core Web Vitals report and new 404s. Run an extra audit after any theme change, migration, large app install, catalog restructure or move into new markets, because those are the moments most Shopify SEO problems appear. Our Shopify SEO checklist works well for the monthly check, and the technical SEO audit checklist covers platform-agnostic checks.
If you'd rather have specialists run the audit and hand you a prioritized roadmap, our technical SEO team does this for Shopify brands every week. Get in touch and we'll walk through what we'd fix first.
Book a free 30-minute call. We'll show where your store stands against competitors, which fixes to prioritize and what they could be worth.