The most common Shopify SEO problems are duplicate URLs created by collections, variants and filters, pages Google crawls but doesn't index, generic auto-generated titles and descriptions, slow pages weighed down by apps and large images, and lost rankings after URL changes without redirects. Almost all of them are fixable inside the Shopify admin or your theme code, once you match the symptom you see in Search Console to its real cause.
This guide is for Shopify store owners, marketers and developers whose organic traffic has stalled or dropped. Each problem below is written as symptom, cause and fix, with what we confirmed in Shopify's documentation and what we checked on a live Shopify store (Shopify's Dawn theme demo store, tested October 27, 2026). Start with the quick reference table, then jump to the section that matches what you see.
Shopify SEO problems: symptom, cause and fix
Use this grid as a triage sheet. Find the symptom you see in Google Search Console or in the search results, then read the matching section for the detailed fix.
| Symptom you see | Likely cause on Shopify | Fix |
|---|---|---|
| "Duplicate, Google chose different canonical than user" in Search Console | Collection-aware product URLs, variant URLs or a theme that outputs the wrong canonical | Check the canonical tag on each URL type and link to the clean /products/ URL |
| Many URLs "Crawled, currently not indexed" | Thin collections, tag pages and near-identical products | Add unique copy, merge thin pages, noindex low-value templates |
| Rankings drop after a redesign or migration | Changed handles or old platform URLs with no redirects | Bulk import 301 redirects from every old URL that now returns a 404 |
| Search results show "Products, theme name" or the store name only | Blank SEO title fields, so the theme builds a generic title | Write a unique page title for every product, collection and page |
| Poor Core Web Vitals in Search Console | Heavy theme, unused app scripts, oversized hero images and sliders | Remove unused apps and leftover code, compress and size images |
| Filter and sort URLs appear in reports | Faceted navigation creating thousands of combinations | Keep Shopify's default robots.txt rules and canonicals to the base collection |
| New products take weeks to appear | Weak internal links and an unsubmitted sitemap | Submit sitemap.xml, link new products from collections and the homepage |
How to diagnose Shopify SEO problems
Don't start fixing until you know which problem you have. A traffic drop can come from a technical issue, a Google update, seasonality or a competitor, and each needs a different response. This five-step check takes about an hour on most stores.
- Open the Page indexing report in Google Search Console. Look at "Why pages aren't indexed" and note which reasons hold the most URLs. Click a reason to see example URLs, and look for patterns such as
/collections/paths,?variant=or tag pages. - Inspect five of your most important URLs. Use the URL Inspection tool on your homepage, two top collections and two best-selling products. Compare the "User-declared canonical" with the "Google-selected canonical". If they differ, you have a canonical problem.
- Check the Performance report by page. Compare the last three months with the same period last year. If only some page types dropped, the cause is usually specific to those templates. Our Search Console performance comparison tool makes this faster.
- Crawl the store. Run a crawler or our SEO checker to find missing titles, duplicate titles, broken links and redirect chains. Check your sitemap and robots.txt while you're there.
- Test speed with field data. Open the Core Web Vitals report in Search Console and Shopify's web performance dashboard, which reports real visitor data. Lab scores alone don't tell you what customers experience.
Write down what you find for each step before you change anything. That baseline lets you prove a fix worked a few weeks later. For a deeper process, follow our Shopify SEO audit guide.
Two questions help you separate a site problem from a market problem. First, did the drop hit every page type at once, or only one template? A sitewide drop on a single day often lines up with a Google core update or a site change such as a theme launch. A gradual slide on one page type usually points to a technical or content issue on that template. Second, did impressions fall, or only clicks? Falling impressions mean you're ranking for fewer searches. Steady impressions with falling clicks usually mean your snippets became less appealing, or AI answers and other features now sit above your result.
Duplicate content and canonical problems
Symptom
Search Console lists product or collection URLs under "Duplicate, Google chose different canonical than user" or "Duplicate without user-selected canonical". Sometimes the wrong URL ranks, such as a collection-aware product URL instead of the clean one.
Cause
Shopify can serve the same product at several addresses. A product is always available at /products/handle, but it can also load at /collections/collection-handle/products/handle for every collection it belongs to, and with a ?variant= parameter for every variant. Sorting and filtering add more URLs on collections. Google says some duplicate content is normal and is not a violation of its spam policies, but it still has to pick one URL to show, and the more duplicates you create, the more crawling goes to copies.
View the data
| Value | |
|---|---|
| Clean /products/ URL | 1 |
| Collection-aware URLs | 4 |
| Variant URLs on clean path | 6 |
| Variant URLs on collection paths | 24 |
| Total crawlable URLs | 35 |
Source: QCK illustrative calculation
Here is what we found when we tested the Dawn demo store on October 27, 2026. Dawn handles canonicals well, so if your store behaves differently, a theme edit or app is usually the cause.
| URL type tested | Loads? | Canonical tag points to |
|---|---|---|
/products/handle | Yes | Itself |
/collections/all/products/handle | Yes | The clean /products/handle URL |
/products/handle?variant=ID | Yes | The clean /products/handle URL |
/collections/all?sort_by=price-ascending | Yes | The base collection, and the default robots.txt blocks sort_by |
/collections/all?page=2 | Yes | Itself, which matches Google's pagination advice |
Fix
- Check the canonical tag on each URL type. View the source of a product loaded through a collection path and confirm the canonical points to
/products/handle. Shopify's Liquidcanonical_urlobject does this in standard themes. If a developer hard-coded a canonical, remove it. - Link to the clean product URL. Some older or customized themes use the
withinLiquid filter to build collection-aware product links. Shopify's own documentation warns this can create duplicate URLs. Link toproduct.urlinstead so Google sees one address everywhere. - Rewrite duplicate product descriptions. Copying manufacturer text onto hundreds of products creates duplicates across other stores too. Start with your top sellers.
- Merge near-identical products. If you list the same item as separate products for each color, consider variants on one product instead.
Our full guide to canonical tags covers the code in more detail.
In a free 30 minute call we benchmark your store against your top three competitors on Google and AI answers, list the fixes that matter most and show the revenue math.
Crawling and indexing problems
Symptom
Important products or collections don't appear in Google, new products take weeks to show up, or the Page indexing report shows thousands of excluded URLs.
Cause
Shopify generates sitemap.xml automatically, with child sitemaps for products, collections, pages, blogs and articles, and its default robots.txt blocks carts, checkout, accounts, sorted collections and multi-tag URLs. Indexing problems usually come from somewhere else: the store is still password protected, the sitemap was never submitted, pages are thin or duplicated, or a robots.txt or noindex edit went wrong.
Use this table to read the most common Page indexing reasons the Shopify way.
| Page indexing reason | What it usually means on Shopify | What to do |
|---|---|---|
| Crawled, currently not indexed | Thin collections, tag pages, empty blog tags, near-duplicate products | Improve the pages that matter, leave the rest or noindex them |
| Discovered, currently not indexed | Google knows the URL but hasn't crawled it yet, often weakly linked products | Add internal links from collections, menus and related products |
| Alternate page with proper canonical tag | Collection-aware and variant URLs pointing to the product URL | Usually nothing. This is the canonical working |
| Blocked by robots.txt | Cart, checkout, sort and multi-filter URLs from the default file | Nothing, unless a page you want indexed is listed |
| Not found (404) | Deleted products or changed handles without redirects | Redirect URLs that have links or traffic to the closest match |
| Excluded by noindex tag | An app or theme snippet adding noindex, or intentionally hidden pages | Confirm every noindexed URL is meant to be hidden |
Fix
- Confirm the store is not password protected. Shopify's help center notes that sitemap readers and crawlers can't access a store in private mode.
- Submit
yourdomain.com/sitemap.xmlin Search Console under Indexing, then Sitemaps. - Hide pages you never want in search, such as internal search results, with a noindex tag. Shopify documents a snippet for the search template that goes in the
headoftheme.liquid:{% if template contains 'search' %}<meta name="robots" content="noindex">{% endif %}. On the Dawn demo store we tested, search result pages were indexable by default, so this is worth adding. - Strengthen internal links to products that sit in "Discovered, currently not indexed". Use our internal link checker to find pages with few links.
- Only then consider robots.txt changes.
If thousands of low-value URLs are indexed, read our guide to index bloat before you block anything.
Title tag and metadata problems
Symptom
Your results in Google show generic titles such as "Products, Store Name", the same description on many pages, or text Google pulled from the page instead of what you wrote. Click-through rate is low even where you rank well.
Cause
When the SEO title field is blank, the theme builds the title tag from the page name and store name. In Dawn, the title tag is the page title, plus "tagged" and the tag names on tag pages, plus the page number on paginated pages, plus the store name. That works, but it's rarely the best title for search. Shopify's product CSV documentation also says that when the SEO description is blank, the product description is used, so many product snippets start with whatever sentence opens the description. On the Dawn demo, the /collections/all page had no meta description at all because the collection had no description.
Fix
- Write a unique page title and meta description for your homepage (Online Store, then Preferences), top collections and best sellers, in each item's Search engine listing section.
- Keep titles to about 60 characters, which Shopify recommends to avoid truncation, and put the main keyword first.
- Add a short, useful description to every collection so the page has unique on-page text and a default meta description.
- Check each template has one clear H1. Our H1 checker flags missing or duplicate headings.
Our full guide to the Shopify SEO title covers where every field lives and the Liquid defaults.
Site speed and Core Web Vitals problems
Symptom
Search Console's Core Web Vitals report shows URLs as "Poor" or "Needs improvement", mostly on mobile, and Shopify's web performance dashboard shows slow loading or poor interaction scores.
Cause
Shopify hosts your store on its own infrastructure and CDN, so slow stores are usually slowed by what's on the page: large hero images and sliders, many app scripts that load on every page, leftover code from apps you've uninstalled, web fonts and heavy third-party widgets such as reviews, chat and popups.
Source: web.dev, Web Vitals (updated October 31, 2024)
Fix
- Audit your apps. List every installed app and remove the ones you don't use. After uninstalling, check your theme code for leftover snippets, since some apps add code that stays behind.
- Fix the largest image above the fold. This is usually your Largest Contentful Paint element. Serve it at the size it displays, and don't lazy load it.
- Reserve space for images, embeds and banners so the layout doesn't shift as they load. This improves Cumulative Layout Shift.
- Delay non-critical scripts such as chat widgets and popups until after the page is interactive. This helps Interaction to Next Paint, which replaced First Input Delay as a Core Web Vital in March 2024.
- Test on a theme copy first, then publish and watch field data for 28 days, since Core Web Vitals reports use rolling real-user data.
Good Core Web Vitals help, but Google describes page experience as one of many signals. Fixing a 4 second mobile load usually matters more for conversion than for rankings. See our Core Web Vitals for Shopify guide for fixes by metric.
Our free $100M AI Visibility Roadmap is built from 7,960 live pages and 197 A/B tests. It shows how stores get cited by ChatGPT, Google AI Overviews and Perplexity.
URL, redirect and migration problems
Symptom
Traffic falls after a migration, a redesign or a catalog cleanup. Search Console shows a rise in "Not found (404)" and backlinks point to dead pages.
Cause
Shopify's URL paths are fixed: products live under /products/, collections under /collections/, pages under /pages/ and articles under /blogs/blog-name/. Moving from another platform changes almost every URL. Changing a handle, deleting a product or merging collections also breaks URLs.
Shopify's help center sets out the rules for its URL redirects. You can only redirect from a URL that is broken, so a redirect won't work if the old URL still loads a page. You can't redirect fixed Shopify paths such as /products, /collections or /collections/all, or collection tag URLs. Redirects start working immediately, and you can import them in bulk from a CSV file.
Source: Shopify Help Center, URL redirects (checked October 27, 2026)
Fix
- Before any migration or handle change, export every live URL from your old sitemap, analytics and Search Console.
- Map each old URL to its closest new match. Send discontinued products to the most relevant collection, not the homepage.
- Import the map in Content, then Menus, then URL redirects, then Import.
- Check for redirect chains and loops with our redirect checker, and use the 404 redirect helper to match leftover 404s.
- If you sell in several markets with subfolders, create redirects for each subfolder, since Shopify notes that redirects don't automatically apply to them.
For the full process, see our Shopify SEO migration guide.
Content and site structure problems
Symptom
Your store is indexed and technically clean, but collections rank on page two or three, and product pages only rank for your brand name.
Cause
Many Shopify collections are just a grid of products with no text, so Google has little to understand the page's topic or to tell it apart from similar collections. Other common causes are product pages with one line of copy, a menu that buries key collections, and tag pages competing with real collections for the same keywords.
Fix
- Give every money collection unique copy. A short intro above the grid and a buying guide or FAQ below it gives Google context and helps shoppers choose.
- Build product pages that answer questions. Cover sizing, materials, use cases, shipping and returns. Add Product structured data with price, availability and reviews. Our schema validator checks your markup.
- Fix keyword cannibalization. If two collections or a tag page and a collection target the same term, pick one and redirect, merge or retarget the other. Our keyword cannibalization checker finds them from your Search Console data.
- Link from the menu and homepage to your most valuable collections, and from collections to related collections.
Content problems overlap with AI search too. ChatGPT, Google AI Overviews and Perplexity pull from pages that clearly answer a question, so a collection with a buying guide and FAQ has more chances to be cited than a bare product grid.
What to fix first on a Shopify store
You won't fix everything at once, so sort the work by impact and effort. This order works for most stores:
- Anything blocking indexing: password protection, a bad robots.txt edit, noindex on important templates.
- Broken URLs with links or traffic: redirect them to the closest match.
- Canonical and duplicate URL issues on your top collections and products.
- Titles and descriptions on the 20 to 50 pages that earn the most impressions.
- Speed fixes on templates that fail Core Web Vitals.
- Content for collections and products that rank on page two.
Recheck the Page indexing and Performance reports four to six weeks after each round of fixes. Google needs time to recrawl, and Shopify says title and description edits can take a couple of weeks to appear. Use our Shopify SEO checklist to keep the rest on track, or talk to us if you'd like a second pair of eyes on your store's technical SEO.
Book a free 30 minute call. We'll find the pages ready to move, prioritize the fixes and estimate what they're worth.