
- Shopify handles canonical tags, sitemap.xml, robots.txt and title tags automatically, so the work is in what the platform cannot decide for you.
- Link to products by their main /products/ URL, and keep collection filters from creating thousands of crawlable pages.
- Shopify's generated robots.txt already blocks sorted collection URLs and many tag and filter combinations; editing robots.txt.liquid is an unsupported customisation that can cost traffic if done wrong.
- App scripts and heavy images are the usual causes of slow Shopify stores; remove what you do not use.
- Check product structured data, redirects for removed products and international settings before chasing new content.
What should you fix first in technical SEO on a Shopify store?
Start with how products are linked and indexed (main product URLs, collection filters and robots.txt), then speed (app scripts and images), then structured data, redirects for removed products and international settings. Shopify already does several things for you: its SEO overview says canonical tags are added automatically to prevent duplicate content, sitemap.xml and robots.txt are generated, and themes create title tags. The technical work on Shopify is about what the platform cannot decide for you.
Our Shopify development and SEO teams usually work through these items in this order.
Why do product URLs need attention?
Many themes link to products through collection paths, such as /collections/shoes/products/runner, even though the main address is /products/runner. Shopify's canonical tag points search engines to the main URL, but Google's guide to canonicalization treats rel="canonical" as a strong signal rather than a rule, and internal links matter too. Where your theme allows it, link product cards to the main /products/ URL so every internal link supports the same address.
How should collection filters be handled?
Filters by size, colour or price can create a huge number of URL variations. Google's guidance on faceted navigation recommends keeping crawlers away from filter URLs you do not want indexed, for example with robots.txt rules. Shopify's generated robots.txt already disallows sorted collection URLs and many tag and filter combinations, which you can see by opening /robots.txt on your own store. If you want a specific filtered page to rank, such as "black running shoes", it is usually better to create a real collection with its own description than to rely on a filter URL.
Should you edit robots.txt.liquid?
Only for a clear reason. Shopify's guide to editing robots.txt.liquid says the default file is optimal for most stores, calls editing it an unsupported customisation, and warns that incorrect use can result in loss of all traffic. If you do change it, add or remove specific rules in the Liquid template rather than replacing the whole file, compare the rendered output with the old one, and check crawling in Search Console afterwards.
What usually slows Shopify stores down?
- App scripts loaded on every page, including apps no longer in use.
- Large images uploaded at full camera size.
- Heavy themes with sliders, animations and many sections on the homepage.
- Third-party tags for chat, reviews, analytics and ads added over time.
Remove unused apps and leftover theme snippets first, then compress images and simplify above-the-fold sections. Our Core Web Vitals guide explains how to measure the result with real-user data.
Is product structured data correct?
Most modern Shopify themes output product structured data, but it is often incomplete or duplicated by apps. Test a few product pages with Google's Rich Results Test and check that price, availability and reviews match what the page shows. Remove duplicate markup added by apps so search engines see one clear description of each product. If you also run Google Shopping, keep the feed consistent with the page; our guide to Merchant Center feed basics covers that side.
How should you handle removed products and changed URLs?
| Situation | What to do |
|---|---|
| Product replaced by a close equivalent | Redirect to the new product |
| Product temporarily unavailable | Keep the page and show it as out of stock |
| Product gone for good, no replacement | Redirect to the most relevant collection |
| Handle changed | Add a URL redirect from the old handle |
Check Search Console's page indexing report for not-found pages after every larger catalogue change. Keep a simple record of redirects you add, so they can be reviewed later and you never create chains where one redirect points to another.
What about international stores?
Shopify's Markets SEO guide says hreflang tags, canonical URLs, sitemaps and crawler access for international stores are handled automatically. Your job is to make sure translated content is real and complete, that prices and availability are correct per market, and that you do not redirect visitors in ways that stop search engines from seeing each version.
How much does the theme matter?
A lot. The theme decides heading structure, how product cards link, which structured data is output, how images are loaded and how much code runs on every page. When choosing or rebuilding a theme, check a product page and a collection page for a single H1, descriptive image alt text, lazy-loaded images below the fold, clean structured data and fast loading on a mid-range phone. Customisations added over the years are worth reviewing too, because old snippets often load scripts nobody uses any more.
What about blog posts and content pages?
Shopify's blog and pages work well for helpful content, such as buying guides and care instructions. Link them to the relevant collections and products, and link back from product pages where it genuinely helps the shopper. Avoid thin tag pages and duplicate blog posts that compete with your collections.
How do you measure progress?
Use Search Console to track indexed pages, crawl issues and clicks to product and collection pages, and compare like-for-like periods. Pair it with real-user speed data and sales by landing page, so technical fixes are judged by what they do for traffic and revenue.
What is a sensible order of work?
- Check indexing in Search Console and fix pages that should be indexed but are not.
- Point internal links at main product URLs and review filter handling.
- Remove unused apps and leftover scripts, then optimise images.
- Fix structured data and duplicates.
- Set up redirects for removed products and changed handles.
- Review international settings if you sell in several markets.
Larger catalogues, custom themes and headless builds need a closer look; our ecommerce development team handles those audits.
Frequently asked questions
Does Shopify have SEO problems that other platforms do not?
Every platform has quirks. Shopify's main ones are fixed URL patterns, product pages reachable through collection paths, and limited control over some files. In return it handles canonicals, sitemaps and hosting performance well. Most ranking problems on Shopify come from content, apps and themes rather than the platform itself.
Can we change Shopify's URL structure?
Not the core patterns: products live under /products/, collections under /collections/ and pages under /pages/. You can choose the handle, the last part of the URL, for each item. Pick clear handles at launch, because changing them later needs redirects.
Should we block collection filters in robots.txt?
Shopify's generated robots.txt already blocks sorted collection URLs and many filter combinations. Change it only if Search Console shows crawling problems the defaults do not solve, and test carefully, because Shopify warns that incorrect robots.txt edits can cost all your traffic.
Do Shopify apps hurt SEO?
Apps themselves do not, but the scripts many of them load can slow pages down, and some leave code behind after they are uninstalled. Audit installed apps regularly, remove those you do not use, and check the theme for leftover snippets after removing an app.
How do we handle products that are discontinued?
If a close replacement exists, redirect the old product URL to it. If the product may return, keep the page live and mark it out of stock. If neither applies, redirect to the most relevant collection. Avoid sending every removed product to the homepage.
Last updated