Most Shopify SEO guides were written by content marketers, not engineers who've actually audited 50+ stores. They cover the basics โ title tags, meta descriptions, keywords โ then stop. They miss the Shopify-specific technical issues that quietly tank rankings: variant URL duplication, tag page canonicalisation, structured data gaps, and the INP regression that crept in after Google's March 2024 Core Web Vitals update.
This checklist was assembled from the actual audits we run on every store we build or inherit. As a Shopify Partner, we have direct theme code access on every project โ no page builders, no DOM bloat โ which means we can actually fix the issues we find rather than just documenting them.
For FloraSoul India, we ran through a version of this checklist and fixed their LCP image loading, canonical structure, and product schema. Mobile conversion improved +41%. That wasn't from keyword optimisation alone โ it was from making the store technically sound first.
Work through this in order. Technical foundations first, then content, then off-page. Fixing structured data before your pages load in 8 seconds is backwards.
๐ง Section 1: Technical SEO Foundations
1. Confirm canonical URLs are configured correctly
Shopify auto-generates canonical tags, but verify they're pointing to the right URLs. Product pages accessed via collection paths (/collections/all/products/slug) should canonicalise to /products/slug. Check 10-20 product pages manually. A misconfig here means Google indexes duplicate content across every collection your products appear in.
2. Audit the ?variant= URL duplication
This is one of the most common Shopify-specific SEO issues we find. When a customer selects a product variant, Shopify appends ?variant=12345 to the URL. Without proper handling, Google can index hundreds of variant URLs as separate pages with near-identical content. Verify your theme canonicalises variant URLs back to the base product URL.
3. Fix tag page duplication
Collection filter pages using tags generate URLs like /collections/tshirts/red. By default, Shopify doesn't add canonical or noindex tags to these pages. If you have 50 tags across 20 collections, that's potentially 1,000 thin, duplicate-content pages in Google's index. Either add noindex to tag pages or canonicalise them back to the base collection.
4. Verify your XML sitemap
Shopify auto-generates yourdomain.com/sitemap.xml. Confirm it's submitted in Google Search Console. Check that it includes your most important product and collection pages, and that no noindex pages are listed. Shopify's auto-generated sitemap is generally good, but it won't include pages you've added outside the standard collections/products structure.
5. Review your robots.txt
Shopify gives you robots.txt control via the robots.txt.liquid template. Verify crawlers can access all indexable content and that checkout, cart, and admin paths are correctly disallowed. If you've customised robots.txt.liquid, review it after every major theme update.
6. Check SSL and HTTPS redirects
Shopify handles SSL by default. Verify all HTTP requests redirect to HTTPS (301). Also check that www and non-www resolve to one canonical domain โ usually handled at the domain level but worth confirming in GSC.
7. Audit redirect chains
Every redirect burns a small amount of crawl budget and adds latency. Identify any redirect chains (A โ B โ C) and flatten them to direct redirects (A โ C). Common cause: product URL changes over time without cleaning up the redirect history.
โก Section 2: Core Web Vitals
Google updated its Core Web Vitals set in March 2024, replacing FID (First Input Delay) with INP (Interaction to Next Paint). INP is harder to optimise because it measures responsiveness to all user interactions, not just the first click. Many stores that passed CWV in 2023 failed after this update.
Shopify leads WordPress on mobile CWV pass rates โ roughly 65% of Shopify stores vs 44% of WordPress sites pass as of late 2025. But that 35% who fail on Shopify are usually failing for the same reasons.
8. Measure your LCP (Largest Contentful Paint)
Target: under 2.5 seconds. The LCP element on most product pages is the hero product image. Ensure it's preloaded with <link rel="preload"> in the <head>. Don't lazy-load your LCP image โ it's a common mistake that delays the most visible paint event. Check with PageSpeed Insights.
{% comment %} In your theme.liquid or section file: {% endcomment %}
<link rel="preload" as="image" href="{{ product.featured_image | img_url: '1200x' }}">
9. Implement responsive images with srcset
Shopify's CDN supports dynamic image resizing via URL parameters. Use srcset so mobile devices don't download desktop-sized images:
<img
src="{{ product.featured_image | img_url: '800x' }}"
srcset="{{ product.featured_image | img_url: '400x' }} 400w,
{{ product.featured_image | img_url: '800x' }} 800w,
{{ product.featured_image | img_url: '1200x' }} 1200w"
sizes="(max-width: 768px) 100vw, 50vw"
alt="{{ product.featured_image.alt | escape }}"
loading="lazy"
width="800"
height="800"
>
10. Audit for render-blocking JavaScript
The most common cause of poor LCP and TBT scores on Shopify stores is third-party scripts loading synchronously in the <head>. Review your theme's theme.liquid and every installed app. Move non-critical scripts to load with defer or async. Remove apps you're not actively using โ even deactivated apps can inject scripts.
11. Compress and convert product images
Shopify's CDN serves WebP automatically for browsers that support it (which is nearly all modern browsers). But if your source images are 4MB PNGs, even WebP compression won't save you. Upload product images at 2000x2000px maximum, under 500KB each. For hero images, 150-200KB is achievable without visible quality loss.
12. Check INP on key interaction paths
Use Chrome DevTools Performance tab to measure INP on: add-to-cart buttons, quantity selectors, variant swatches, and filter interactions. A bloated event listener stack from overlapping app scripts is the most common INP failure mode on Shopify. Our speed optimisation work covers this in technical detail.
13. Measure CLS (Cumulative Layout Shift)
Target: under 0.1. Common causes on Shopify: images without explicit width and height attributes causing reflow, cookie banners that push content down on load, and late-loading font swaps. Set explicit dimensions on all images. For fonts, use font-display: swap in your CSS.
๐ Section 3: On-Page SEO
14. Optimise title tags for every product and collection
Format: [Primary Keyword] | [Brand Name] โ under 60 characters. Don't use the same title structure for all products. Collection pages should target category keywords ("Women's Kurtas Online India"), not brand slogans. Edit via Products > [Product] > SEO in the Shopify admin.
15. Write unique meta descriptions
Under 155 characters. Include the primary keyword naturally. End with a light CTA โ "Free delivery above โน499", "Ships in 2 days", "COD available" โ anything that improves click-through rate from SERP. Google doesn't use meta descriptions as a ranking signal, but CTR affects your effective rank.
16. Audit heading hierarchy
Each page should have exactly one H1. Verify this in the Liquid template. Many Shopify themes place both the product title and a promotional banner headline as H1. Product section headers ("Description", "Specifications") should be H2 or H3, not additional H1s.
17. Add descriptive alt text to all product images
Alt text serves two purposes: accessibility and image search ranking. Format: [Product Name] [Key Attribute] โ [Brand]. Example: Organic Cotton Kurta Set Navy Blue โ FloraSoul. Avoid keyword stuffing โ write for a human who can't see the image.
18. Create unique product descriptions
The single biggest content SEO problem in Indian ecommerce: manufacturer copy-pasted across 20 stores. Google identifies duplicate content at scale. Write unique descriptions for at least your top 20% highest-revenue products. Include size/fit guidance, material sourcing, and use-case context that competitors' listings won't have.
๐ Section 4: Structured Data (Schema Markup)
19. Verify Product schema on all product pages
Product schema tells Google to show rich results (price, availability, ratings) in search. Shopify themes include basic Product schema, but verify it's present and includes: name, description, image, sku, offers (with priceCurrency, price, availability), and aggregateRating if you have reviews. Test with Google's Rich Results Test.
20. Add BreadcrumbList schema
Breadcrumb schema enables breadcrumb display in Google search results, which increases click-through rate. Most modern Shopify themes include this, but verify it's generating correct paths. Product breadcrumbs should reflect the collection hierarchy the user navigated through.
21. Add Organization or LocalBusiness schema to your homepage
This establishes your brand identity in Google's Knowledge Graph. Include: business name, logo URL, contact info, social profiles. For Indian brands targeting local search (e.g., "Shopify store Kolkata"), LocalBusiness schema with your address and service area is particularly valuable.
๐ Section 5: Internal Linking & Site Architecture
22. Map your internal link structure
Google uses internal links to understand site hierarchy and distribute page authority. Every major collection should link to its top subcollections and featured products. High-traffic blog content should link to relevant product and collection pages. We defer this audit to Month 2 of any new site build once sufficient pages exist โ but note it now.
23. Fix orphaned pages
Any page that has no internal links pointing to it is an orphan. Google may not discover or prioritise it. Run a crawl (Screaming Frog or Ahrefs Site Audit) and identify pages receiving zero internal links. Product pages that have been removed from their collections but still exist are a common example.
24. Implement pagination correctly
For collections with many products, Shopify uses ?page=2 pagination. Ensure paginated pages are crawlable (not blocked in robots.txt) but not treated as canonical content. Use rel="next" and rel="prev" link tags, or canonicalise paginated pages back to page 1 for thin paginated content.
๐ฑ Section 6: Mobile & Shopify-Specific
25. Test on real mobile devices, not just emulation
Chrome's device emulation is useful but not perfect. Interactivity issues, font rendering, and tap target sizes sometimes only surface on physical devices. Test your critical user journey (homepage โ collection โ product โ cart โ checkout) on a mid-range Android device โ not just an iPhone 15.
26. Review app load impact on mobile
Install Google Tag Manager's waterfall view (or use Chrome DevTools Network tab) on mobile and count every third-party request. Each app you install potentially adds scripts, stylesheets, and API calls. We've audited stores with 35+ apps where collectively the third-party script weight was larger than the actual theme. This is a common, fixable problem.
27. Check your store on Shopify Theme Inspector
Shopify Theme Inspector is a Chrome extension that profiles Liquid render time for each template section. It shows you exactly which parts of your theme are slowest to render server-side. This is the Shopify-specific performance tool most developers never use โ and one of the first things our web development team runs on inherited stores.
Your Post-Audit Priority Order
If you ran through this checklist and found 10 issues, fix them in this order:
- Variant URL canonicalisation (highest duplicate content risk)
- LCP image preload (direct speed and CWV impact)
- Render-blocking scripts (affects all speed metrics)
- Product schema verification (enables rich results immediately)
- Unique product descriptions for top 20% of products by revenue
- Tag page noindex or canonicalisation
- Alt text audit
- INP on add-to-cart interaction
- Internal linking for top collections
- Mobile device testing on critical user flow
For a full technical SEO audit of your Shopify store, or if you're building a new store and want to get the architecture right from day one, reach out to our Shopify team. We've done this across 50+ projects. We know where the bodies are buried.