Technical SEO Audit for a Shopify Store: The Complete Checklist
A Shopify technical SEO audit covers eight areas: crawlability, duplicate content from filtering, canonical tags, Core Web Vitals, structured data, mobile usability, redirect hygiene, and image optimisation. Most Shopify stores don't lose organic traffic because of thin content — they lose it because Google can't crawl, render, or trust the pages efficiently. This checklist walks through each area in the order you should actually audit it.
A Shopify technical SEO audit covers eight areas: crawlability, duplicate content from filtering, canonical tags, Core Web Vitals, structured data, mobile usability, redirect hygiene, and image optimisation. Most Shopify stores don't lose organic traffic because of thin content — they lose it because Google can't crawl, render, or trust the pages efficiently. This checklist walks through each area in the order you should actually audit it.
Shopify's platform constraints make technical SEO different from WordPress or a custom-built store. You can't edit robots.txt directly through the theme editor, collection filtering generates thousands of near-duplicate URLs by default, and app bloat is the single biggest cause of failed Core Web Vitals on Shopify. This is exactly the gap our Shopify performance and SEO optimisation service is built to close — this post is the checklist version of that engagement.
Step 1 — Audit Crawlability (robots.txt and sitemap.xml)
Google can only rank pages it can find and crawl, so crawlability is the foundation everything else sits on. Shopify auto-generates both robots.txt and sitemap.xml, but the defaults aren't always right for your catalogue structure.
- Visit
yourstore.com/robots.txtand confirm it references your live sitemap at/sitemap.xml. - Since 2021, Shopify allows a
robots.txt.liquidoverride in Online Store → Themes → Edit Code. Use it only to add custom disallow rules — never remove Shopify's default blocks for cart, checkout, and account URLs. - Open
/sitemap.xmland confirm it links to child sitemaps for products, collections, pages, and blog posts. - In Google Search Console, check Pages → Why pages aren't indexed for "Crawled — currently not indexed" or "Discovered — currently not indexed" spikes. These usually point to duplicate or thin URLs further down this checklist.
- Submit the sitemap in Search Console if it isn't already listed under Sitemaps, and confirm the "Success" status rather than "Couldn't fetch."
A store with 300 products typically generates a sitemap with 300+ product URLs, plus every collection, so check the submitted-vs-indexed ratio in Search Console. A gap wider than 20% between submitted and indexed URLs almost always traces back to duplicate content — the next step.
Step 2 — Fix Duplicate Content From Collection Filtering and Pagination
Collection filtering is the largest source of duplicate content on Shopify, because every filter combination generates its own crawlable URL. A collection with 4 filter types (size, colour, price, availability) can mathematically produce hundreds of near-identical URL variants, each competing with the canonical collection page for the same keywords.
- Open a filtered collection page (e.g.
/collections/shirts?filter.v.option.color=blue) and view source to confirm it carries a self-referencing or collection-pointing canonical tag. - If you use Shopify's native Search & Discovery app for filtering, canonical tags to the parent collection are handled automatically — verify this rather than assume it.
- For paginated collections (
?page=2,?page=3), confirm each page has a self-referencing canonical, not one pointing back to page 1 — Google explicitly recommends self-referencing canonicals for paginated series. - Add key filter parameters (
filter.v.option.*,filter.v.price.*) to Search Console → Settings → URL Parameters only as a last resort — canonical tags are the primary fix, not parameter handling. - Check for tag-based duplicate collections: if
/collections/summer-saleand/collections/all?tag=summerboth exist and serve the same products, consolidate to one URL and 301 redirect the other.
Third-party filter apps sometimes generate their own query parameters instead of using Shopify's native filter.v.* syntax, and those custom parameters often skip the automatic canonical handling. Test at least one filtered URL from every installed filter app, not just the theme default.
Step 3 — Verify Canonical Tags Across Templates
Canonical tags tell Google which URL is the authoritative version when multiple URLs serve similar or identical content, and Shopify's biggest canonical risk is products that live in multiple collections.
- A product accessible at both
/products/blue-shirtand/collections/summer/products/blue-shirtmust canonicalise to the same URL in every instance — Shopify handles this correctly out of the box in supported themes, but custom themes sometimes break it. - View source on 5–10 product pages across different collections and confirm the
<link rel="canonical">tag is identical and self-consistent for each product, regardless of which collection URL was used to reach it. - Check that your
canonical_urlfield doesn't point to a staging domain, a myshopify.com subdomain, or an HTTP (non-HTTPS) URL — all common leftovers from a migration. - Confirm blog post canonical tags point to the live domain, not a duplicate created by a blog migration or an app like a syndication tool.
If your store recently went through a platform migration, canonical tags are one of the first things that break — old theme code sometimes hardcodes a canonical URL structure from the previous platform instead of pulling it dynamically from Liquid.
Crawlability, duplicate content, and Core Web Vitals issues compound on Shopify stores with large catalogues. Prateeksha Web Design runs a full technical SEO audit as part of every performance engagement.
Get a Shopify Technical SEO AuditStep 4 — Test Core Web Vitals and Theme Performance
Core Web Vitals are a confirmed Google ranking signal, and Shopify's app ecosystem is the number one reason stores fail them. Every installed app that injects a script tag adds render-blocking JavaScript to every single page, whether that app's functionality gets used on that page or not.
- Run PageSpeed Insights on your homepage, a representative product page, and a representative collection page — mobile scores matter more than desktop since mobile traffic dominates Shopify stores.
- Check all three Core Web Vitals thresholds: LCP (Largest Contentful Paint) under 2.5 seconds, CLS (Cumulative Layout Shift) under 0.1, and INP (Interaction to Next Paint) under 200ms. INP replaced FID as the official Vital in March 2024.
- In Settings → Apps and sales channels, audit every installed app and remove any that aren't actively driving revenue or functionality — 4 unnecessary apps can add 600–900ms to mobile load time.
- Confirm hero and above-fold images are served in WebP or AVIF format at the correct display dimensions, not full-resolution originals scaled down by CSS.
- Check that below-fold images use
loading="lazy"and that no layout-shifting elements (cookie banners, announcement bars, font swaps) load without reserved space.
Google's own research shows a 1-second delay in mobile load time cuts conversions by up to 20%, so Core Web Vitals work pays for itself twice — once in rankings, once in checkout completion. Our Shopify speed optimisation work typically takes stores from a failing mobile PageSpeed score into the 70+ range without a full theme rebuild.
Step 5 — Implement Product, BreadcrumbList, and Organization Schema
Structured data doesn't directly boost rankings, but it determines whether your listings show price, availability, and star ratings directly in search results — and listings with rich snippets consistently earn higher click-through rates than plain blue links.
- Confirm every product page outputs
Productschema withprice,availability,sku, andaggregateRating(if you have reviews) — test with Google's Rich Results Test tool on at least 3 product URLs. - Add
BreadcrumbListschema matching your visible on-page breadcrumb trail on every product, collection, and blog page — mismatched breadcrumb schema (schema says one path, visible UI shows another) can trigger a manual disregard of the markup. - Add
Organizationschema on the homepage with your legal name, logo, andsameAslinks to your verified social profiles — this feeds Google's Knowledge Panel and Merchant Center trust signals. - If you publish buying guides or how-to content, add
ArticleorHowToschema matching the actual structure of the post, not a generic template applied to every page. - Check for duplicate or conflicting schema — some Shopify apps inject their own
Productschema alongside the theme's native markup, and two competing schema blocks on one page can cause Search Console errors.
Search Console's Enhancements report under the sidebar shows exactly which schema types Google has detected and validated across your store — check it monthly rather than assuming a one-time implementation stays error-free as apps update.
Step 6 — Check Mobile Usability
Google indexes and ranks the mobile version of your store by default under mobile-first indexing, so any content, link, or schema markup missing on mobile is effectively invisible to Google — regardless of what the desktop version shows.
- Open Search Console → Mobile Usability (or the equivalent under Core Web Vitals in the updated Search Console) and resolve any flagged errors — common ones include text too small to read and clickable elements too close together.
- Confirm tap targets (buttons, filter chips, variant selectors) are at least 44×44px — smaller targets cause mis-taps that Google's mobile usability crawler flags directly.
- Verify your mobile viewport meta tag is present and correctly configured — Shopify's default themes include this, but heavily customised themes sometimes strip it during a redesign.
- Test that all navigation, filters, and footer links on desktop are also present and functional on mobile. Content hidden behind a mobile-only accordion is still indexed, but content removed entirely from the mobile DOM is not.
Run this check after every major theme update, not just once — a single CSS change that hides a footer link on mobile silently removes it from Google's understanding of your site structure.
Step 7 — Clean Up Redirects During and After Migration
Redirect hygiene matters most immediately after a platform migration, when old URL structures from WooCommerce, Magento, WordPress, or another platform stop resolving and need 301 redirects to their Shopify equivalents.
- Export your full pre-migration URL list (from Search Console's legacy performance data or a crawl taken before cutover) and map every URL to its new Shopify equivalent.
- Set up 301 redirects in Online Store → Navigation → URL Redirects for every mapped URL — Shopify supports bulk CSV import for redirect maps, which is essential for catalogues over 100 products.
- Check for redirect chains (URL A → URL B → URL C) using a crawler like Screaming Frog — each hop in a chain adds latency and dilutes link equity, and chains of 3+ hops sometimes aren't followed at all.
- Confirm no redirect loops exist, where a URL redirects to itself or back to a URL earlier in the same chain.
- 180 days after migration, check Search Console's Crawled — currently not indexed and 404 reports for any old URLs still receiving external backlinks that were missed in the original redirect map.
If you migrated from WooCommerce, Magento, WordPress, or another platform, redirect mapping is the single highest-risk step for losing accumulated search equity — a missed redirect on a page with strong backlinks can cost months of rankings to rebuild.
Migrating platforms without a verified redirect map is the fastest way to lose years of accumulated rankings. Prateeksha Web Design builds and verifies full redirect maps as a standard part of every Shopify migration.
Talk to Our Shopify Migration TeamStep 8 — Fix Image Alt Text and Filenames
Image search is a meaningful traffic source for ecommerce, and Shopify's default behaviour of uploading images with camera-generated filenames like IMG_4521.jpg gives Google zero contextual signal about what the image actually shows.
- Rename image files before upload to describe the actual product —
blue-cotton-shirt-mens.jpginstead ofIMG_4521.jpg— since Shopify won't let you rename files after upload without re-uploading. - Write unique alt text for every product image describing the product, not the file: "Men's blue cotton crew-neck shirt, front view" rather than "product photo" or a repeated brand name.
- Audit collection and blog post images the same way — hero banners and blog inline images are frequently left with generic or blank alt text even when product images are handled correctly.
- Confirm images referenced in
Productschema match the actual on-page images and load over HTTPS — mismatched or broken schema image URLs are a common Rich Results Test failure. - Compress images to WebP before upload rather than relying solely on Shopify's CDN transformation, particularly for large lifestyle photography over 500KB.
A store with 300 products and 5 images each has 1,500 image alt text opportunities — treating this as a one-time task versus an ongoing content standard is usually the difference between meaningful image-search traffic and none at all.
Frequently Asked Questions
How often should I run a technical SEO audit on my Shopify store?
Run a full technical SEO audit every quarter, and a lightweight crawlability and Core Web Vitals check after every theme update or new app installation. Shopify stores change frequently — new apps, seasonal collections, and theme updates each carry the risk of breaking a canonical tag, adding render-blocking scripts, or introducing duplicate URLs. A quarterly cadence catches issues before they compound into a multi-month ranking decline.
Can I do a Shopify technical SEO audit myself, or do I need a developer?
Crawlability checks, Search Console review, and image alt text audits can be done by a non-developer using Search Console, PageSpeed Insights, and the Rich Results Test. Fixing the underlying issues — canonical tag logic in Liquid templates, redirect chains, schema conflicts between apps, and render-blocking script removal — typically requires a Shopify developer, since these fixes touch theme code directly rather than store settings. Most merchants can spot problems on their own but need technical help to resolve them correctly.
Does Shopify have built-in technical SEO tools?
Shopify auto-generates a sitemap.xml, applies canonical tags on most default themes, and includes basic meta title and description fields on every product, collection, and page. It doesn't include Core Web Vitals monitoring, schema validation, redirect chain detection, or duplicate content analysis for filtered collections — these require external tools like Google Search Console, PageSpeed Insights, and a crawler such as Screaming Frog. Shopify's native tools cover the basics; a full technical audit still requires checking beyond what the platform surfaces by default.
Why do my Shopify collection pages show as duplicate content in Search Console?
Collection pages usually show as duplicate content because filter and sort parameters (colour, size, price range) generate separate crawlable URLs that serve near-identical product listings. If those filtered URLs lack a canonical tag pointing back to the parent collection, Google indexes them as separate competing pages. The fix is confirming every filtered URL variant carries a canonical tag to the unfiltered collection page, which Shopify's native Search & Discovery app handles automatically in most themes.
What is the single highest-impact technical SEO fix for a Shopify store?
For most Shopify stores, fixing Core Web Vitals through app audit and image optimisation delivers the fastest combined ranking and conversion impact, since it addresses a confirmed ranking factor and a direct revenue lever at the same time. Redirect hygiene is the highest-stakes fix specifically during and after a platform migration, where a single missed redirect on a high-authority page can erase months of accumulated rankings. Prioritise Core Web Vitals for an established store and redirect mapping for any store mid-migration.