Shopify
Shopify SEO checklist: 25 fixes for collections, products and speed
A practical Shopify SEO checklist with 25 fixes for collection pages, product pages, duplicate URLs, apps, speed, schema and Shopify Markets, from real store audits.
Key takeaways
- Collections are usually a Shopify store's best ranking pages. Give each one unique intro text and clean filters.
- Product pages need unique descriptions, complete variants, reviews and correct product schema.
- Shopify creates duplicate product URLs through collections. Link to the canonical /products/ URL in your theme.
- Apps are the biggest speed problem on most stores. Remove what you don't use and defer the rest.
Shopify gets a lot right out of the box: sitemaps, canonical tags, HTTPS and mobile-friendly themes. But every store I audit has the same handful of problems, and fixing them is often worth more than any amount of new content. Here's the checklist I use, grouped by area.
Impact
- Quick winsCollection intros, /products/ internal links, meta titles
- Big betsCatalogue restructure, unique product copy at scale
- Fill-insAlt text, handle clean-up, breadcrumbs
- LaterBlog guides, Markets and hreflang for new countries
Effort
Collections (fixes 1 to 6)
Collections are the pages that rank for category searches like "oud perfume" or "men's automatic watches". They deserve the most attention.
- Map one keyword theme to each collection. Avoid two collections targeting the same search.
- Add unique intro text. Two or three helpful sentences above the products, with more detail below the grid if needed. Not a block of keywords.
- Write custom SEO titles and meta descriptions. Shopify's defaults are just the collection name.
- Keep filters from creating junk URLs. Filter and sort parameters should not be indexed or linked as separate pages. Check your theme and filter app.
- Link collections to each other. Related collections and sub-collections linked from the description and navigation.
- Avoid empty or tiny collections. A collection with two products rarely ranks. Merge or noindex until it's built out.
Product pages (fixes 7 to 13)
- Replace manufacturer descriptions. Copy that appears on hundreds of sites won't rank. Write unique product descriptions.
- Use descriptive product titles. Brand, product name and key attribute: "Maison Oud Nuit Extrait de Parfum 100ml" beats "Oud Nuit".
- Fill in every variant properly. Sizes, colours and concentrations with their own SKU, price and image.
- Write useful alt text. Describe the image: "Oud Nuit 100ml bottle with gold cap".
- Show reviews in the HTML. Many review apps load reviews with JavaScript only. Make sure search engines can see them.
- Handle sold-out products sensibly. Keep the page live with alternatives if it may return; redirect it to the closest product or collection if it's gone for good.
- Check product schema. Price, availability, brand, SKU and reviews, without duplicate schema from multiple apps.
Duplicate URLs and site structure (fixes 14 to 18)
- Link to /products/ URLs, not /collections/x/products/ URLs. Shopify canonicalises the collection-path version to /products/, but many themes still link to it internally. Update the product card snippet in your theme.
{%- comment -%} Before: links to /collections/oud/products/oud-nuit {%- endcomment -%}
<a href="{{ product.url | within: collection }}">
{%- comment -%} After: links to /products/oud-nuit {%- endcomment -%}
<a href="{{ product.url }}">- Keep URL handles short and readable. Fix handles like /products/copy-of-new-product-2 before they gather links.
- Redirect changed handles. Shopify can create redirects automatically when you change a handle. Make sure the box is ticked.
- Review robots.txt.liquid. Shopify lets you edit robots.txt. Use it carefully to stop crawling of internal search and filter URLs.
- Use breadcrumbs. They help navigation and give search engines a clear hierarchy.
Speed and apps (fixes 19 to 22)
- Audit your apps. Uninstalling an app doesn't always remove its code. Check theme files for leftover snippets.
- Defer non-essential scripts. Chat widgets, pop-ups and tracking can load after the main content.
- Compress and size images. Upload images at the size they're shown and let Shopify serve modern formats.
- Choose a lightweight theme. A fast, well-maintained theme beats a heavy theme with every feature switched on.
International and content (fixes 23 to 25)
- Set up Shopify Markets properly. Use subfolders like /ar-ae/ or /en-sa/ with hreflang for each market and language. More in my international SEO service.
- Translate URLs and content, not just labels. Arabic stores need Arabic keyword research and native copy. See Arabic SEO.
- Use the blog for buying guides. "Best oud perfumes for men" or "How to choose a dive watch" articles that link to your collections.
What I usually find in Shopify audits
Across the Shopify stores I've worked on, from perfume retailers to gifting brands, the same four issues account for most lost traffic:
- Collections with no text at all. Just a title and a product grid. Google has nothing to rank them on.
- Leftover app code. Apps uninstalled months ago still loading scripts on every page.
- Duplicate products for each size. 50ml and 100ml listed as separate products, splitting reviews and links.
- Internal links to collection-path URLs. Thousands of links pointing at non-canonical versions of products.
None of these needs a redesign. Most can be fixed in a few days on a duplicate theme, then reviewed and published.
A collection intro template
Use this structure for each important collection. Keep the top part short so products stay above the fold:
| Part | Length | Example (oud collection) |
|---|---|---|
| Opening line | 1 sentence | "Oud perfumes, from smoky Cambodian oud to soft rose-oud blends." |
| Who it's for | 1 sentence | "For evening wear, cooler months and anyone who loves rich, long-lasting scents." |
| Links | 2–3 links | Rose oud, oud gift sets, oud for men |
| Below the grid | 150–300 words | How to choose, concentrations, how to wear it, FAQs |
How to prioritise
If you can only do five things this month, do these: unique collection intros on your top ten collections, internal links pointing to /products/ URLs, an app clean-up, unique descriptions for your best sellers, and a schema check. Those cover most of the gap I see between stores that rank and stores that don't.