Shopify's defaults are built for shopping, not for indexing.
Twenty-two technical checks decide whether Google can crawl, index and read your store correctly. Your store passes an unknown number of them. The free audit runs all twenty-two and tells you which.
No keyword research, no backlinks, no promises about positions. Technical only — the part that is measurable from outside.
The same 22 checks the free audit runs, against this domain: 0 failed, 0 warnings. The other 7 test product and collection pages, which this site does not have. Raw JSON
Your product page, as Google reads it
Same page, same theme. On the left, the fields a crawler finds on a default Shopify template. On the right, the same fields after the sprint. Nothing here is content work — it is what the page declares about itself.
- canonical
- missingSame page also served at /products/runner. Google picks one.
- title
- Runner – My StoreTheme template, identical shape on every product.
- meta desc
- missingGoogle writes its own from the page body.
- h1
- 2 foundProduct name plus the section heading above it.
- schema
- ProductVariants need ProductGroup; price sits on the variant.
- breadcrumb
- missingNo BreadcrumbList, so no path in the result.
- canonical
- /products/runnerSelf-referencing, identical from both routes.
- title
- Runner · road shoe · My StorePer-template pattern with the distinguishing field.
- meta desc
- 138 charsWritten per template, inside the range Google shows.
- h1
- 1 foundOne per page, the product name.
- schema
- ProductGroupname, image, price, priceCurrency, availability.
- breadcrumb
- BreadcrumbListHome › Shoes › Runner, matching the URL.
- canonical
- selfEvery filter combination canonicalises to itself.
- title
- Shoes – My StoreSame title on every filtered variant of this page.
- meta desc
- missingNothing distinguishes one variant from another.
- h1
- 1 foundCorrect.
- schema
- missingNo ItemList or CollectionPage.
- crawlable
- yesFilters and sorting are reachable URLs spending budget.
- canonical
- /collections/shoesFiltered variants point at the clean collection.
- title
- Road shoes · My StoreOne title for the page that should rank.
- meta desc
- 124 charsWritten for the collection, not the filter.
- h1
- 1 foundUnchanged.
- schema
- ItemListProducts in the order the page shows them.
- crawlable
- clean onlyParameter variants no longer compete for budget.
- robots.txt
- defaultShopify default. Its last group blocks a crawler named Nutch, which trips careless tools.
- sitemap
- declaredPresent in robots.txt.
- X-Robots-Tag
- absentNothing in the response header.
- schema
- missingNo Organization or WebSite block.
- og:image
- missingLinks to the store render without a preview.
- llms.txt
- absentInformational only; AI crawlers are starting to read it.
- robots.txt
- reviewedThe * group verified line by line, nothing important blocked.
- sitemap
- declaredUnchanged.
- X-Robots-Tag
- absentChecked on all three templates, not just this one.
- schema
- OrganizationName, logo, URL and profiles.
- og:image
- setTitle and image on every shared link.
- llms.txt
- publishedWritten, and marked informational in the report.
Five things Shopify does by default that Google reads badly
Every one of these is verifiable on your own store in a browser, right now. None of them is a claim about your rankings.
- 01
Every product lives at two URLs
/products/xand/collections/y/products/xboth serve the same page. Which one Google keeps depends entirely on the canonical tag your theme emits. - 02
Filters and sorting mint crawlable variants
Each filter combination on a collection is a URL a crawler can reach and spend its budget on. On a catalogue of any size that is thousands of near-identical pages competing with the one you want ranked.
- 03
One title pattern, hundreds of pages
Themes build the title and meta description from a template. It is consistent, and it is why the same phrasing repeats across your whole catalogue with nothing distinguishing one page from the next.
- 04
Variant products need ProductGroup
Google asks for
ProductGroupwhere a product has variants, with price and availability on the variant. Many themes still emit a bareProductand lose the rich result. - 05
A noindex can arrive by HTTP header
X-Robots-Taglives in the response, not in the theme. You can read every template you own and never see the instruction that is keeping a page out of the index.
Twenty-two checks, and the whole list is public
You can repeat every one of these from your own browser. A check that cannot be run on your store is reported as unmeasurable — it is never quietly dropped to make the score look better, which is why the total is always twenty-two.
No keywords, no backlinks, no search intent, no content quality. All of that needs your Search Console and paid APIs, and cannot be measured from outside without inventing. It is listed as missing data in every report rather than guessed at.
Four weeks, and the fourth one is the proof
A schema change nobody has re-crawled is deployed, not finished. The last week exists because the work is not done until Google has come back and I can show you the before and after.
- 01 Crawling and indexingWeek 1
robots.txt, sitemap, noindex in every template, real 404s. If Google cannot get in, the rest is decoration.
- 02 DuplicatesWeek 2
Canonicals, the two product routes, filter and sort parameters, hreflang if you sell in more than one market.
- 03 Structured data and metadataWeek 3
ProductGroup with price and availability, breadcrumbs, organisation, collection lists, titles and descriptions per template.
- 04 Re-crawl and proofWeek 4
The audit runs again. Every check that failed is green, or the sprint is not finished. You get both runs side by side.
- All 22 checks, with the state of each
- Findings anchored to the checks that failed
- The four-week plan, yours to hand to anyone
- One fix you can apply today, without me
- A three-minute walkthrough on video
- Every failed check fixed, in your theme
- Canonicals, routes and parameters sorted out
- ProductGroup, breadcrumbs and collection schema
- Re-crawl in week four, with both runs published
Before you ask
Will this get me to page one?
No, and anyone who promises it is selling something else. This makes your store correctly crawlable, indexable and readable. What you rank for after that depends on your content and your market — neither of which I am touching.
Do I need the speed sprint too?
They are sold separately and neither depends on the other. If you are choosing, start with speed when your traffic is already there, and with SEO when it is not.
What counts as a failed check?
The audit lists each of the 22 with its state before we start. The guarantee covers exactly the ones marked as failing in that first run — agreed in writing, no moving target.
Do you need my Search Console?
Not for the audit — everything in it is measured from outside. During the sprint it helps for the re-crawl in week four, but it is not required.
Find out how many of the 22 you are passing
All 22 checks, findings anchored to the ones that fail, and a fix you can apply yourself. Within 48 hours, no call required.
Get your free SEO auditLooking for speed instead? The speed sprint is here.