| 1
Acquisition

Ecommerce SEO Audit: The Checklist, in the Order That Finds Money

Most ecommerce SEO audits open with keyword research, which is the fourth thing that matters. Start with what Google has actually indexed.

Gabriel RuimyCofounder, Qosmic ·

Most ecommerce SEO audits open with keyword research. That's roughly the fourth thing that matters, and starting there is why so many audits produce a spreadsheet nobody acts on.

Start with what Google has actually indexed. On a store with a few hundred products, that number is almost never what you'd guess, and the gap is usually where the problem lives.

Two audits side by side: can they find you / will they buy

An SEO audit is not a CRO audit

They get run together and they answer different questions.

An SEO audit asks whether people can find you. Indexation, templates, crawl budget, page speed, structured data. The output is a list of pages Google is handling badly.

A CRO audit asks whether the people who found you will buy. Value proposition, buying block, cart friction. The output is a list of places you lose the sale.

You need both, and they fail independently. A store can rank beautifully and convert at 0.8%. A store can convert at 4% on two hundred sessions a month. Running one audit and calling it done is how people end up confidently fixing the half that wasn't broken.

Do the SEO one when traffic is flat or falling. Do the CRO one when traffic is fine and revenue isn't.

Layer one: what's indexed

Open Google Search Console, go to the Pages report, and compare the number of indexed pages against the number of pages you meant to have.

Three failures show up here, and they're the most expensive ones on this list.

Too many pages indexed. Faceted navigation is the usual cause. Every filter combination generates a URL, and if those are crawlable you can turn two hundred products into forty thousand near-identical pages. Google spends its crawl budget on filter permutations and your actual collection pages get visited monthly instead of daily.

The bar: filtered and sorted URLs should not be indexable. Parameter URLs either canonicalize to the clean version or carry noindex.

Too few pages indexed. Products that exist, are linked, and simply aren't in the index. Usually thin content, sometimes an accidental noindex left over from a theme change, occasionally a robots.txt line somebody added during a migration and never removed.

The bar: every product you want to sell is indexed. Check a sample of ten by URL.

The wrong pages indexed. Search results pages, cart URLs, tagged variants, /collections/all alongside every individual collection. None of these should compete with the pages you built on purpose.

If this layer is broken, nothing below it matters. You can write perfect titles for pages Google will not crawl.

[@portabletext/react] Unknown block type "ctaBox", specify a component for it in the `components.types` prop
Faceted navigation turning 200 products into 40,000 URLs

Layer two: templates

Ecommerce SEO is a templating problem more than a writing problem. You don't have two hundred title tags, you have three templates that generate two hundred title tags, and fixing the template fixes all of them at once.

Title tags. Every page has a unique one, the product name appears before the brand name, and it's under about sixty characters so it doesn't truncate. The common failure is a template like {{ product.title }} – {{ shop.name }} where the shop name eats a third of the space on every page you own.

Meta descriptions. Not a ranking factor, very much a click-through factor. The bar is that they exist and read like a sentence a person wrote. Shopify falls back to the first chunk of your product description, which is why so many stores have descriptions that start mid-sentence.

H1s. One per page, matching the page's actual subject. Themes routinely put the store name or a slider caption in the H1 on the home page.

Canonical tags. Products reachable through multiple collection paths need a single canonical URL. This is Shopify's most common duplicate-content trap, because /collections/shoes/products/x and /products/x are both live by default.

Image alt text. Descriptive, not keyword-stuffed. This is the one every SEO app will offer to bulk-generate for you, and it's also the lowest-value item in this section.

One title template generating 200 bad titles, and the fixed version

Layer three: content

Collection pages are the ones that rank, and on most stores they're a headline and a product grid. That's a page with nothing on it as far as a search engine is concerned. A few hundred words of genuinely useful text above or below the grid is usually the single highest-return SEO change available to an ecommerce store.

Product descriptions written by the manufacturer are on forty other sites. Google knows. So does the reader.

Thin or empty collections with two products, or none, should be consolidated or removed. Every one of them is a weak page attached to your domain.

Blog content that exists to hold keywords and gets no traffic after six months is a liability, not an asset. Prune it or improve it.

The bar for this layer: could a person land on this page from search and get what they came for without clicking anything else?

Layer four: technical

Speed. Shopify retired the speed score and replaced it with Core Web Vitals, measured on real visits. The bars are LCP under 2.5 seconds, INP under 200 milliseconds, CLS under 0.1, at the 75th percentile. Apps are the usual cause of failure.

Structured data. Product schema with price and availability, breadcrumbs, and organization markup. Most themes ship some of this and few ship all of it. Validate it rather than assuming, because a schema error is invisible until you look.

Internal linking. Collection pages should link to related collections, and products should link back to their collection. Most Shopify stores are a flat pile of products linked only from a mega menu.

XML sitemap and robots.txt. Shopify generates the sitemap automatically, which is good, and it includes everything, which is not always good. Check that it doesn't list pages you noindexed.

Redirects. Every migration leaves broken URLs. A 404 that used to rank is lost traffic you're still paying for in lost sales.

This is the layer where tools genuinely help. Screaming Frog or Sitebulb for the crawl, Search Console for what Google actually sees, PageSpeed Insights for the waterfall.

It's also where we work, so weigh this accordingly: Qosmic reads your live storefront and reports what's failing, then generates the pages and fixes from a plain-English description and stages them as drafts for you to approve. Detection and repair in the same place. A crawler will hand you a CSV of four hundred problems; the gap between that CSV and somebody actually shipping the fixes is where most SEO audits die.

The checklist

Run these in order. The first section gates everything after it.

Indexation

  1. Indexed page count matches intended page count, roughly
  2. Faceted and filtered URLs are not indexable
  3. A sample of ten products is individually indexed
  4. Search, cart and account URLs are excluded

Templates

  1. Title tags unique, product name first, under ~60 characters
  2. Meta descriptions written, not auto-truncated
  3. One H1 per page, matching the subject
  4. Canonicals resolve product duplicates
  5. Alt text descriptive on product images

Content

  1. Collection pages carry real text, not just a grid
  2. Product descriptions are yours, not the manufacturer's
  3. No thin or empty collections
  4. Old blog posts either earn traffic or get pruned

Technical

  1. LCP under 2.5s, INP under 200ms, CLS under 0.1
  2. Product, breadcrumb and organization schema present and valid
  3. Collections link to related collections
  4. Sitemap excludes noindexed pages
  5. No 404s on URLs that previously ranked

Eighteen checks. Half a day by hand on a store of a few hundred products, and the first four will account for most of what you find.

The 18 checks as a scorecard by layer

How often

Quarterly, and immediately after any of these:

  • A migration or replatform. These break redirects and canonicals every single time.
  • A theme change. Themes own your title templates, H1s and schema.
  • A bulk product import. The fastest way to generate four hundred thin pages.
  • Adding or removing apps. Several SEO apps write tags into your theme and leave them behind on uninstall.
[@portabletext/react] Unknown block type "ctaBox", specify a component for it in the `components.types` prop

The short version

Start with indexation. If Google has the wrong pages, nothing below it counts.

Fix templates, not pages. You have three title tag patterns, not two hundred title tags.

Collection pages are what rank and they're usually empty. That's the biggest single opportunity on most stores.

Technical comes last, not because it's unimportant, but because a fast, well-marked-up page that Google isn't crawling is still a page Google isn't crawling.

And keep this separate from your conversion audit. One gets people to the door. The other decides whether they buy.

Grow your store with one click.