Shopify technical SEO: what 20 live stores got wrong
Shopify technical SEO has a reputation for being either solved by the platform or endlessly complicated. We found the truth sits in between. In September 2026 we crawled the public storefronts of 20 live Shopify stores while calibrating SEO Bison's store audit. The stores were a mix of sizes and niches, and all are anonymised.
We had one rule for the audit: a check stays only if it separates healthy stores from struggling ones. A check that every store passes tells you nothing, and neither does one that every store fails. Most of the technical checks we tried were dropped for exactly that reason. The ones below survived, which means they are the issues that actually differ from one Shopify store to the next.
Shopify technical SEO issues we found, most to least common
The denominators differ. For some checks, the structured data or product data on a few stores could not be read reliably, so we left those stores out of that check instead of guessing. Each row shows the exact number of stores we could judge.
| Issue | Stores affected | What it means |
|---|---|---|
| Test or "copy of" URLs in the sitemap | 12 of 20 | Leftover duplicates are submitted to Google as real pages |
| No breadcrumb structured data | 11 of 18 | Search results cannot show your category path |
| Incomplete brand identity markup on the homepage | 10 of 17 | Logo, site name or social profiles are not declared |
| Noindex on a sitemap page or the homepage | 4 of 20 | The store asks Google to index pages it also tells Google to skip |
| Sitemap URL whose canonical points elsewhere | 3 of 20 | The submitted URL says a different page is the real one |
| Empty collections that are still indexable | 2 of 20 | Thin pages with nothing on them are open to indexing |
| Product structured data missing recommended details | 2 of 16 | Image, description, brand, SKU or GTIN not all present |
| Product structured data missing price or availability | 1 of 20 | The offer block is incomplete |
None of this is a ranking study. We did not measure whether fixing any of it moves a store up or down. These are findings about how stores are set up, and what that setup tells search engines.
Leftover test and "copy of" URLs
This was the most common problem in the sample. When you duplicate a product to use as a template, Shopify creates a new product, often with a handle like copy-of-your-product. If it is active, it lands in your sitemap and can be indexed. The same goes for test products and collections made while building the store.
Why it matters: these pages are near copies of real ones, and you are submitting them yourself. That is the kind of duplication covered in our guide to duplicate content on Shopify.
How to check: open yourstore.com/sitemap.xml, follow the products and collections sitemaps, and search the page for "copy" and "test". Also filter your admin product list by title.
How to fix:
- In Shopify admin, go to Products and open the leftover product.
- If it is not needed, delete it. If it must stay, set its status to Draft or Archived so it leaves the sitemap.
- Repeat under Collections.
- If the page already had traffic or links, add a URL redirect in your Shopify admin (type "URL redirects" into the admin search bar to find it).
Be careful with the word "test" in a real handle. A product like a pregnancy test is legitimate. Judge by whether the page is a real offering.
No breadcrumb structured data
Breadcrumb markup tells search engines where a page sits in your site, such as Home, then a collection, then a product. It lets results show that path instead of a bare URL. Shopify's default Dawn theme does not output it, so a store that has never changed its theme setup will usually lack it.
How to check: paste a product URL into Google's Rich Results Test and look for a Breadcrumb item in the detected structured data.
How to fix: there is no setting for this in Shopify admin. You need either a theme that includes breadcrumb markup or an app that adds it, or a developer to add it to your theme. Pick one that outputs real BreadcrumbList data, then retest a product page. More on how this markup works in our structured data guide.
Incomplete brand identity markup
Search engines look for a few facts about who you are: an Organization logo, a WebSite name, and sameAs links to your social profiles. They help connect your site to your brand elsewhere. In 10 of 17 stores, at least one of these was missing from the homepage.
How to check: run your homepage through the Rich Results Test or a schema validator and look for Organization and WebSite entries with a logo, a name and sameAs.
How to fix: first fill in what the theme can use. In the theme editor, upload your logo and add your social links in the theme settings. Then check whether the markup now appears. If the theme still outputs nothing, you need an app or a theme edit.
Noindex on pages you submit
This one is less common but the most serious in the list. A noindex meta tag tells Google to keep a page out of its index. In 4 of 20 stores, that tag sat on a page listed in the store's own sitemap, or on the homepage. The store was asking Google to look at a page while telling it not to keep it.
How to check: open the page, view the source and search for "noindex". Shopify lets you hide products and collections from search engines through the search engine listing settings or a theme condition, so it is easy to set and forget.
How to fix: if the page should be found, remove the noindex condition in the theme code or the app that added it. If it should stay hidden, take it out of the sitemap by making it a draft or archiving it. For sitemap behaviour in general, see our sitemap and robots.txt guide.
Canonicals pointing at a different page
In 3 of 20 stores, a URL in the sitemap had a canonical tag naming another page. That sends mixed signals about which URL is the real one. Not every difference is a problem. A variant parameter, a different host between a custom domain and the myshopify address, letter case, a trailing slash, and the path through a collection to a product all resolve correctly on Shopify. We only count a canonical that names a genuinely different page.
How to check: view the page source, find the canonical link tag and compare it with the page's own address.
How to fix: this usually comes from a theme edit or an app. Remove the override so the page points to itself.
The rarer problems
Empty collections (2 of 20). A collection with no products is a thin page. Add products, or hide the collection from search engines. Our collection page SEO guide covers what a useful one needs.
Missing product details (2 of 16). Product structured data should carry an image, a description, a brand, and a SKU or GTIN. Fill the SKU and barcode fields on each variant, set the vendor, and add an image and description.
Missing price or availability (1 of 20). The offer block inside Product data lacked a price or availability. This is a theme or app problem, so check any app that rewrites product markup.
What you can ignore
- robots.txt and sitemap existence. Every store in the sample had both. Shopify generates them for you.
- Canonical tags being present. They were present everywhere. The issue is only when one points to the wrong page.
- Shopify's default robots.txt rules. Rules such as blocking /collections/*sort_by* are normal and correct. They keep sorted and filtered duplicates out of the index. Do not delete them.
- Product data you cannot see in the HTML. Some themes build product structured data with JavaScript. Google can render it even though a simple crawler cannot, so a missing result in a basic tool is not proof that the data is missing.
How we ran this
The sample was 20 live Shopify stores, crawled in September 2026. We read public storefront HTML only. No store admin access was used, and the stores are anonymised. This is not a ranking study, and we did not measure how any of these issues correlates with rankings. Where a store's data could not be read reliably, we excluded it from that check, which is why some denominators are below 20. SEO Bison's store audit runs these checks on your own store.
Frequently asked questions
Is Shopify technical SEO handled by the platform?
Partly. Shopify gives every store a robots.txt, a sitemap and canonical tags. The problems we found came from what merchants add on top: duplicated products, theme edits, apps and missing markup.
Which issue should I fix first?
Start with noindex on pages you want found, because it directly blocks indexing. Then remove leftover test and copy URLs, since that was the most common problem.
Do I need an app for breadcrumb markup?
You need either a theme that outputs it, an app that adds it, or a developer to edit your theme. Shopify admin has no setting for it.
Will fixing these improve my rankings?
We did not test that. These checks describe how clean your setup is, and clean setups are easier for search engines to read. We make no claim about ranking or traffic.
Want SEO blog posts like this for your own Shopify store? See how the SEO Bison blog writer works, or try it free.