← /research/ · research ·

Shopify SEO by Example: 30 Live Ranking Pages, Audited (2026)

We opened Chrome, ran the queries shoppers actually search, and audited the 30 Shopify and agency pages Google ranks. Here is exactly what they ship. Joel Shetler·shopifyseo

Most Shopify SEO writing is a generic checklist. The same nine bullet points, recycled. This one is different. We opened Chrome, ran the queries shoppers actually type, walked into the Shopify stores Google is actually ranking, and read the on-page work line by line.

Every claim below is grounded in a named, linked, currently-ranking page. You can open any of them in a new tab and re-verify in 30 seconds. That is the whole point of writing it this way.

A note on house style before we start: this report was researched and written by the team at Scratch, the desktop app we built for exactly this kind of catalog-wide editing. Section 13 is where we sell that to you, clearly labeled. Everything before it is field notes.

What is inside

A long report deserves a map. The sixteen sections, in order:

  1. Why this guide exists, and the method behind it
  2. The query landscape: what shoppers and founders actually search
  3. The title tag: the highest-leverage 60 characters on your store
  4. Meta descriptions: never the brand tagline
  5. H1, H2, H3: heading structure for crawlers and customers
  6. URL handles: short, descriptive, no IDs
  7. Image alts at scale: the unsexy lever everyone underdoes
  8. JSON-LD schema: Product plus AggregateRating plus FAQPage, stacked
  9. Reviews in the DOM: Yotpo, Okendo, Loox compared
  10. Word count and content depth: the 1,000 to 2,000 band
  11. Collection pages do real SEO work
  12. Trust signals in the first 200 characters
  13. Doing all of this on a 500-product catalog
  14. If you are an agency or growth lead selling this in
  15. FAQ
  16. All 30 audited pages, linked

1. Why this guide exists, and the method behind it

If you have spent any time searching "Shopify SEO best practices", you have seen the genre. Listicles that recycle the same bullets, agencies pitching themselves between the bullets, a Yoast-style how-to about installing an app, and Shopify's own docs (excellent, and they deserve to rank). None of it shows you what the winners actually do.

So we did the audit. Over a week in May 2026, in a single Chrome session:

  1. Pulled roughly 1,900 unique Google autosuggest queries across four consumer verticals (vitamin c serum, linen sheets, linen pants women, creatine gummies) and four practitioner seeds (shopify seo, shopify seo agency, shopify seo audit, ecommerce seo).
  2. Ran the 34 highest-intent commercial queries live against google.com (US, English, personalization off via pws=0) and parsed the organic results.
  3. Filtered out marketplaces (Amazon, Target, Walmart), editorial publishers (NYT/Wirecutter, Forbes, Allure, Glamour), and non-Shopify DTC platforms (Quince, Brooklinen, Beautycounter, Image Skincare, theordinary.com).
  4. Opened each remaining URL in Chrome and confirmed the Shopify footprint via window.Shopify.shop, cdn.shopify.com asset references, and the underlying *.myshopify.com domain.
  5. Extracted, for every confirmed page: title, meta description, H1, canonical, JSON-LD types, presence of Product and AggregateRating schema, image count and alt coverage, body word count, heading counts, link counts, and the fingerprints of any review apps (Yotpo, Judge.me, Okendo, Junip, Stamped, Loox, Reviews.io).

What follows is the synthesis: 17 live Shopify stores, plus 11 live B2B pages (agency landings, SaaS publisher guides, "best of" listicles, and Shopify's own properties) that win the practitioner SERPs deciding who gets hired.

A note on this page itself. We built this report to demonstrate, by existing, the principles it teaches. The title front-loads the head term and is year-stamped. The description names the finding in one sentence. The page carries Article and BreadcrumbList JSON-LD (open the source) plus the FAQPage block at the bottom. The body runs past 7,500 words on a sixteen-section H2 spine. If this report ranks for "shopify seo by example" or "shopify seo best practices", it will have proved its own argument.

Before any on-page work, see the shape of what real people type. Two audiences, two tails.

The shopper tail is huge and modifier-driven

The four consumer seeds produced 1,432 unique autosuggest queries. The tail branches predictably:

Attributes: korean, vegan, organic, non-comedogenic, with ferulic acid, european flax, made in usa, made in portugal, oeko tex certified, creapure, nsf certified, third party tested.

Use case or persona: for sensitive skin, for hyperpigmentation, for hot sleepers, for women over 50, for teen boys, for kids, plus size, petite.

Retailer or availability: target, walmart, costco, sephora, cvs, walgreens, amazon, trader joe's.

Comparison or decision: vs cotton, vs bamboo, vs powder, vs the ordinary, like skinceuticals, morning or night, before or after retinol.

This is the single most important pattern for catalog planning: your head query is one collection page, and every modifier is its own collection page. Do not fight for "linen pants women" alone. Own "wide leg linen pants women", "white linen pants women", "linen pants women plus size", "linen pants women petite", and ten more.

The practitioner tail is tiny and procurement-driven

The four B2B seeds produced only 442 unique queries, roughly 30% the size of the consumer tail. The audience is small and the questions repeat. What dominates is geography ("shopify seo agency in mumbai", "ecommerce seo company in jaipur") and procurement venues (upwork, fiverr).

Trust queries name names

The most interesting practitioner finding: a handful of operator names appear inside Google's autocomplete. Real people type shopify seo coalition technologies, ecommerce seo growmatic, ecommerce seo rankstar, ecommerce seo backlinko, ecommerce seo mastery by kristina azarenko. Doing enough volume that your name becomes a suggestion is the only durable moat in this market.

About 50 commercial queries from the ~1,900 we harvested
vitamin c serum                           linen sheets
best vitamin c serum                      best linen sheets
vitamin c serum for dark spots            best linen sheets for hot sleepers
vitamin c serum for hyperpigmentation     linen sheets king
vitamin c serum korean                    european flax linen sheets
vitamin c serum drugstore                 linen sheets made in portugal
vitamin c serum with ferulic acid         linen sheets vs cotton
vitamin c serum like skinceuticals        linen sheets oeko tex certified

linen pants women                         creatine gummies
white linen pants women                   best creatine gummies
wide leg linen pants women                creatine gummies for women
linen pants women plus size               creatine gummies third party tested
linen pants women high waisted            creatine gummies vs powder
linen pants women petite                  creatine gummies made in usa
quince linen pants women review           creatine gummies nsf certified

shopify seo                               ecommerce seo
shopify seo agency                        ecommerce seo agency
shopify seo audit                         ecommerce seo checklist
shopify seo checklist                     ecommerce seo case study
shopify product page seo                  ecommerce technical seo
shopify product description seo           best ecommerce seo agency
shopify meta description seo              ai shopify seo
shopify bulk edit descriptions            shopify hydrogen seo
shopify bulk edit alt text                shopify seo migration

3. The title tag: the highest-leverage 60 characters on your store

Of every Shopify SEO change you will ever make, ranked by ROI per minute, the page title sits at the top. It is two seconds in the admin. It is the first thing the crawler reads. It is the only sentence in the SERP a shopper might click. And almost every Shopify store ships the same broken default: "{Brand}: {Product}".

The formula that is actually winning

Across 17 ranking PDPs, the working title format is one of two shapes:

{Product} [+ one differentiator] | {Brand}
{Benefit-modifier} {Product} | {Brand}

Real live titles, each from a page Google ranks on page one today:

Live title (verbatim) What is working
Guava Vitamin C Dark Spot Serum Product plus benefit in five words. Brand inferred from the URL and the click.
Vitamin C Serum - TruSkin Naked head term. Works because TruSkin built brand recognition for "vitamin c serum" specifically.
20% Vitamin C Serum + E Ferulic Acid Travel Size | Timeless Skin Care Strength, actives, size variant, brand. Crammed, but every word maps to a query.
Natural Linen Sheet Set | MagicLinen Color modifier, product, brand. Reads as a noun phrase a shopper would type.
Sheet Sets | CULTIVER - USA Plural head, brand, geography. The geography modifier is doing real work.
Best Organic French Linen Bed Sheets - SIJO Three modifiers stacked (Best, Organic, French) on a page ranking #1 for "best linen sheets". The most aggressive title in the sample.
Creatine Gummies | Bloom Nutrition Naked head term, brand. Ranks #1 for "creatine gummies for women", #2 for "creatine gummies".
Lemme Creatine Gummies Brand plus head term, no separator. Works because "Lemme" is itself a discovery search.

The agency-page title formula is different

For the practitioner audience, the working shape is:

{Authority claim} {Service} | {Outcome claim} | {CTA}
The {N} Best {Category} {Year}
Live title (verbatim) What is working
#1 Rated Shopify SEO Services | Top Shopify SEO Agency | Get Help Three pipe-separated intent phrases. Reads like ad copy. Ranks #1 for "shopify seo agency".
4 Best Shopify SEO Agencies to Improve Your Sales in 2026 | Break The Web "N Best" listicle plus benefit plus year. Publisher lists itself at #1 inside.
The 8 Best Shopify SEO Agencies To Increase Revenue in 2026 Same pattern. 17 H2s on the page, one per agency.
Shopify SEO: How to Generate More Store Traffic (2026) Shopify's own blog title. Verb-form benefit plus year. 4,949 words behind it.
Free Shopify SEO Audit | Improve SEO On Shopify | Eastside Co Free, tool name, outcome, brand. The "Free" lead-magnet positioning carries it.
My List of the Top 45+ Shopify SEO Experts in 2026 First person ("My"), a specific count (45+), a year. A listicle of listicles.

What to actually change in your Shopify admin

Go to Online Store, then Preferences for the homepage title, and Products, then a product, then the SEO listing preview for every product. Override the templated default. The most expensive mistake in Shopify SEO is shipping a theme-default "{shop_name} - {product_title}" across a 500-product catalog.

The 200-product audit. More than 200 products and you have never custom-written their titles? Your catalog is almost certainly running one templated pattern. Manual rewrite time: about three days of tab-and-type. With Scratch, an AI drafts a title per product against your formula, you scroll the diffs, you approve in batches. See section 13.

4. Meta descriptions: never the brand tagline

The meta description is the second-largest CTR lever after the title. None of the ranking pages we audited use brand boilerplate. Every one of them either describes the product mechanically or stacks proof.

Four live meta descriptions, dissected

Glow Recipe, Guava Vitamin C Dark Spot Serum. Position 3 for "vitamin c serum for dark spots".

"Brighten dark spots & even skin tone with our new clinically advanced Guava Vitamin C Dark Spot Serum, a potent brightening serum that treats & prevents dark spots with 5 forms of vitamin C, guava, and tranexamic & ferulic acids..."

Front-loads the benefit verb ("Brighten"). Names two query targets ("dark spots", "skin tone"). Lists differentiated actives because shoppers in this niche type those terms.

Gorilla Mind, Creatine Gummies. Position 7 for "creatine gummies".

"Get 5g of premium Creapure® creatine in convenient, great-tasting gummies. Build strength, power & lean muscle without powders. Third-party tested via HPLC."

A single proof-stacked sentence: dosage ("5g"), branded ingredient ("Creapure®"), outcome ("strength, power & lean muscle"), trust signal ("Third-party tested via HPLC"). Every clause maps to an autocomplete query.

Coyuchi, Organic Linen Sheets & Bedding. Position 7 for "linen sheets king".

"Experience natural, pure luxury with our 100% organic linen sheets. Durable and temperature regulating, our linen bed sheets feel soft and gentle from day one."

Mechanical ("100% organic", "temperature regulating") plus softness reassurance ("soft and gentle from day one"), which is a direct rebuttal to the autocomplete query "are linen sheets scratchy".

Parachute Home, Linen Bedding. Position 8 for "linen sheets".

"Our signature linen, woven at 175 GSM for long-lasting durability and the relaxed, lived-in softness that only gets better over time. Named CNN's Best Linen Sheets of 2025"

A clinic in social proof: spec ("175 GSM") plus third-party endorsement ("Named CNN's Best Linen Sheets of 2025") in one line.

The formula

[Benefit verb] [head term] [+ 1 spec] [+ 1 proof]
155 characters max

In May 2026, 155 characters fits comfortably in desktop SERPs. Google has been showing longer descriptions for some queries but truncates around 155 to 165 reliably. Lead with a verb. Include the head query target. Include one verifiable spec. End with one trust signal.

5. H1, H2, H3: heading structure for crawlers and customers

A body page's heading hierarchy does two jobs at once. It tells the crawler what the page is about (H1) and it makes the page scannable for the visitor (H2 and H3). The ranking pages do both.

Page H2s H3s What that means
FLAX, Wide Leg Linen Pants collection 59 0 One H2 per product card. The collection reads as a long taxonomy.
Bed Threads, homepage 105 0 Homepage as catalog: H2 per category, sub-category, editorial block, testimonial.
Piglet in Bed, Linen Bedding collection 22 0 500-word editorial above the grid, product H2s below.
Sijo, LuxeWeave Linen Sheet PDP 2 0 Minimalist PDP with FAQs and review text doing the lifting.
Gorilla Mind, Creatine Gummies PDP 14 0 Heavy on H2s: Benefits, Ingredients, Dosage, How To Take, FAQs, Reviews, Comparisons.
Coalition Technologies, Shopify SEO landing 12 26 A B2B services page treated like an article. Every "we do X" gets a subheading.
Shopify Blog, Shopify SEO 10 25 Classic editorial spine: 10 sections, each with 2 to 3 sub-points.
Go Fish Digital, 17-Step Checklist 5 18 Listicle format: 5 themed sections, 17 steps as H3s underneath.

The actionable pattern

6. URL handles: short, descriptive, no IDs

Every ranking page in our sample has a URL handle that reads as a noun phrase a human would type.

/products/guava-vitamin-c-dark-spot-serum
/products/20-vitamin-c-e-ferulic-acid-serum-1-oz
/products/natural-linen-sheet-set
/products/luxeweave-linen-sheet-set
/products/creatine-gummies                  <- Bloom (plain match)
/products/gorilla-mind-creatine-gummies     <- Gorilla Mind (brand + match)
/products/lemme-creatine-gummies            <- Lemme (brand + match)
/collections/linen-pants-for-women
/collections/wide-leg-linen-pants-for-women
/collections/linen-bedding
/collections/sheets-sets
/collections/king-size-linen-bedding

The interesting trade-off: /products/creatine-gummies wins on plain match (Bloom Nutrition), while /products/gorilla-mind-creatine-gummies trades exact match for a brand modifier, and both rank. The Bloom URL ranks for the head query. The Gorilla Mind URL ranks for "gorilla mind creatine" branded discovery and the head query.

The Shopify-specific URL audit

7. Image alts at scale: the unsexy lever everyone underdoes

Of the 13 deeply-audited Shopify product pages, image-alt coverage ranges from 0.6% (MagicLinen) to 89% (Timeless Skin Care). That gap is the most striking on-page disparity in the entire sample.

Page Total images With alt >5 chars Coverage
MagicLinen, Natural Linen Sheet Set 168 1 0.6%
Parachute Home, Linen Bedding (collection) 127 32 25%
Sijo, LuxeWeave Linen Sheet 151 60 40%
Glow Recipe, Guava Vitamin C 80 38 48%
Cultiver, Sheet Sets (collection) 82 50 61%
TruSkin, Vitamin C Serum 95 63 66%
Maryruth Organics, Creatine Gummies 316 218 69%
Piglet in Bed, Linen Bedding (collection) 138 110 80%
Timeless, 20% Vitamin C 66 57 86%
Bloom Nutrition, Creatine Gummies 87 76 87%
Gorilla Mind, Creatine Gummies 44 39 89%
LOGEIX, homepage 53 53 100%

The strange and important finding

MagicLinen ranks #10 for "european flax linen sheets" with 1 useful alt out of 168 images. That is a page winning despite ignoring one of Shopify's stock SEO levers. Brand authority plus Product and AggregateRating schema is making up for the gap.

Read that as "alts do not matter" and you will be wrong. Read it as "fixing your alts is one of the easiest, cheapest, most under-done wins available to a Shopify store with even a small brand." Closing the gap from 0.6% to 80% on a 500-product catalog is the difference between invisible and indexable for image search, between failing and passing accessibility, and a small but real lift on body relevance.

The alt-text formula

{product name} {color or variant} {use context, optional}

  good: "Natural linen sheet set, oatmeal, on bed in morning light"
  good: "Guava vitamin C serum, 30ml glass dropper bottle"
  bad:  "IMG_4451.jpg"
  bad:  "product image"
  bad:  ""

Where bulk-alt work breaks in Shopify. Shopify exposes alt text per image, but the admin is a tab-through-every-image grind. The API supports updates, yet the real work is the script that derives the right alt from the filename, the variant context, and the product taxonomy. Vision-plus-context AI is the realistic 2026 path, provided you keep a human in the diff loop. We wrote up exactly that for WordPress in generate alt text with AI. The technique transfers straight to Shopify.

8. JSON-LD schema: Product plus AggregateRating plus FAQPage, stacked

Across the audited Shopify pages, 9 of 13 PDPs emit JSON-LD with a Product type, and 7 stack AggregateRating or Review on top. The stars-in-SERP that this produces are still visible, and still moving CTR, in May 2026.

The minimum viable Shopify PDP schema

{
  "@context": "https://schema.org/",
  "@type": "Product",
  "name": "Guava Vitamin C Dark Spot Serum",
  "image": ["https://cdn.shopify.com/.../GUAVA_SERUM-01.jpg"],
  "description": "Brighten dark spots & even skin tone with...",
  "sku": "GR-GUAVA-30",
  "brand": { "@type": "Brand", "name": "Glow Recipe" },
  "offers": {
    "@type": "Offer",
    "url": "https://www.glowrecipe.com/products/guava-vitamin-c-dark-spot-serum",
    "priceCurrency": "USD",
    "price": "45.00",
    "availability": "https://schema.org/InStock"
  },
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.6",
    "reviewCount": "1800"
  }
}

The stacking that is underused

Coalition Technologies' agency landing page stacks four types on one URL:

@type ["Organization", "LocalBusiness"]
  + @type "FAQPage"  (8 Q&A pairs on pricing, timeline, deliverables)
  + @type "Product"  ("Shopify SEO Services")

Product on a services page is unconventional but unambiguous to the crawler. It says "this URL represents a buyable thing", and it is part of why this page ranks #1 for "shopify seo agency". You can do the same with a storefront's own services pages (custom orders, gift wrapping, subscriptions).

How Shopify themes already help, and where they do not

9. Reviews in the DOM: Yotpo, Okendo, Loox compared

Every ranking PDP in our sample injects review text into the page DOM at first render, not behind a "show reviews" click. This matters because the crawler reads what is in the HTML when it arrives, not what loads after.

Review app Pages detected (of 13) What it ships
Yotpo 10 (77%) Star ratings plus AggregateRating JSON-LD, written reviews, Q&A widget.
Okendo 7 (54%) Visual reviews with photos, attribute filters (skin type, age, hair color), UGC carousels.
Loox 7 (54%) Photo and video reviews, "happy customers" widgets, post-purchase email flows.

The interesting pattern

Six of the 13 stores ship Yotpo, Okendo, and Loox simultaneously. That is not redundancy by accident. Each writes different markup the crawler picks up: Yotpo handles stars and aggregate ratings, Okendo handles the visual review grid, Loox handles the photo and video proof carousel. Glow Recipe, Timeless, Sijo, Bloom Nutrition, Gorilla Mind, and MaryRuth are all triple-stacked.

The other interesting pattern

Cultiver ships only Okendo and still ranks #5 and #2 for two head queries. Parachute and TruSkin ship only Yotpo. So you do not need all three. You do need at least one that writes the ratings into both the DOM and the JSON-LD.

The "Reviews (1,427)" anti-pattern. If your theme renders a "Reviews (1,427)" button that lazy-loads the review text on click, the crawler gets the button label and nothing else. Both Yotpo and Loox have an inline rendering mode. Switch to it. Test by viewing source and searching for an actual review snippet.

10. Word count and content depth: the 1,000 to 2,000 band

The lazy advice that "longer is always better" is wrong. The ranking PDPs in our sample cluster in a tight band.

Page Words on PDP What the words actually are
TruSkin, Vitamin C Serum PDP 315 Short PDP backed by a content cluster on the same domain.
Bloom Nutrition, Creatine Gummies 1,002 Description, ingredient list, benefits, FAQs.
Sixstar Pro, Creatine Gummies 1,094 Description, ingredients, dosing, how-to, FAQs.
Linoto, Flax Linen Sheet Set 1,207 Description, size chart, care, made-in-USA story.
Timeless, 20% Vitamin C + Ferulic 1,234 Description, how-to, ingredient mechanism, FAQs, reviews inline.
Gorilla Mind, Creatine Gummies 1,354 Description, Creapure claim, testing, dosing, FAQs.
Glow Recipe, Guava Vitamin C 1,377 Description, actives, skin-type matrix, how-to, FAQs.
MaryRuth, Creatine Gummies 1,542 Vegan story, dosing, FAQ, reviews, ingredient list.
Lemme, Creatine Gummies 1,988 Founder story, science, ingredients, FAQs, reviews inline.
Sijo, LuxeWeave Linen Sheet 4,227 The outlier. About 3,000 of those words are FAQs and rendered reviews.

What gets you to 1,000+ words on a PDP

  1. Product description (150 to 300 words)
  2. Ingredients, materials, or specs list (100 to 200 words)
  3. How to use, fit guide, or care instructions (100 to 200 words)
  4. "Why our X", a positioning paragraph that names the differentiator (about 100 words)
  5. FAQ block, 5 to 12 questions, each answered in 1 to 3 sentences (300 to 500 words)
  6. Inline rendered reviews, which the crawler counts. This is where you scale up.

The Sijo outlier at 4,227 words is misleading until you read the page. The long body is mostly inline reviews and a long FAQ. Sijo is not writing more marketing copy. It is letting more customer voice surface in the HTML.

Templating the long parts. Items 1 through 4 are the same shape on every product, which is exactly what makes them templatable at scale. We walk through doing it safely in bulk-rewrite Shopify product descriptions with AI: the AI drafts every description against your rules, you review each as a diff, only the approved ones publish.

11. Collection pages do real SEO work

In two of the four consumer verticals we audited (linen sheets and linen pants women), the #1 organic spot is held by a collection page, not a product page. The pattern is consistent. These collection pages all carry editorial copy above and below the product grid.

Collection page Position and query Structure
Piglet in Bed, Linen Bedding #1 for "linen sheets" 22 H2s, 1,108 words
FLAX, Wide Leg Linen Pants #3 for "wide leg linen pants women" 59 H2s, 1,095 words
MagicLinen, Linen Pants for Women #1 for "linen pants women" editorial above and below grid
Cultiver, Sheet Sets #5 for "linen sheets" 12 H2s, 739 words
Coyuchi, Linen Sheets & Bedding #7 for "linen sheets king" 10 H2s, 683 words
Parachute Home, Linen Bedding #8 for "linen sheets" 14 H2s, 587 words

The pattern

Where this falls apart in stock Shopify

Out of the box, a Shopify collection page shows a header image, the collection title, and the product grid. No body copy slot. Most modern themes (Dawn 9+, Sense, Studio) added a "Show collection description" toggle and a "Show description below product grid" setting. Find both, enable both. If your theme is older, add a custom section with a rich-text block above and below the grid in collection-template.liquid. That is one Liquid file change with permanent impact on every collection page on your store.

12. Trust signals in the first 200 characters

For categories with active consumer skepticism (supplements, skincare, anything with as-seen-on-TikTok baggage), the title and meta are not just for the head query. They are for the trust-modifier queries the autocomplete tail makes visible.

From the creatine-gummies autosuggest tail alone:

are creatine gummies legit
creatine gummies third party tested
creatine gummies lab test results
creatine gummies dont have creatine
creatine gummies underdosed
which creatine gummies actually contain creatine
creatine gummies nsf certified
creatine gummies informed sport
creatine gummies independent testing
creatine gummies made in usa
creatine gummies clean ingredients
creatine gummies no gelatin
creatine gummies halal
creatine gummies vegan
creatine gummies organic
creatine gummies kosher

The pages that rank for these put the trust signal in the title, meta, or H1, not buried below the fold:

The reverse holds. Stores that bury the trust modifier ten paragraphs into the body do not rank for the trust queries. Put the spec in the first 200 characters of the first text block on the page.

13. Doing all of this on a 500-product catalog

Every component in sections 3 through 12 is just text in a Shopify field. The bad news: there are at least five fields per product (title, meta description, body copy, image alt, URL handle), and four to six per collection page. A 500-product catalog is roughly 3,000 individual edits before you have touched a single blog post.

There are exactly three honest paths.

Path A. Hire it out

An agency at the level of Coalition Technologies, OuterBox, or LOGEIX will charge between $3,500 and $12,000 a month for ongoing Shopify SEO. The first 60 days are mostly the audit and the mass-edit pass. This is the right call if you have a team of zero, a catalog over 1,000 SKUs, and a budget that absorbs five-figure monthly fees.

Path B. Write a script against the Admin API

Shopify's Admin GraphQL API supports bulk updates via productUpdate, productImageUpdate (for alts), and collectionUpdate. A competent engineer can ship a script that pulls every product, runs each through a templated formula, and pushes the updates back in an afternoon. The hard part is not the API. It is writing a formula that produces good copy. "{Variant color} {Product type} | {Brand}" is a templated title, but it is also the template that produced your current bad titles. You need a model in the loop that can write distinctively, and a human reviewing every diff before it goes live, because a bad title shipped to 500 products is much worse than no edit at all.

Path C. AI in the loop, human in the diff

This is the workflow that is actually working in 2026. Pull your catalog's content down to local files, point an AI agent at them with a prompt that names your formula and your brand voice, let it draft every title, meta, alt, and description, then walk through the diffs and approve the ones you want before they ship.

This is what we built Scratch for. Scratch pulls content from your Shopify (or WordPress, HubSpot, Notion, anything with an API) into local files. You run any AI agent you like against them, in the editor you already use. Scratch shows you the diffs. Only the changes you approve push back to live. We use it on our own pages. It is the only path of the three where the edit is reviewable and reversible.

Disclosure. We make Scratch. This section is also a sales argument for what we sell. That said, paths A and B are real paths, listed here because they are what most stores actually use. Shipping fewer than 50 edits a month? You do not need Scratch or an agency. You need a Wednesday afternoon and a clear template. Shipping hundreds? You need one of the three.

The bulk-edit fields, ranked by ROI on a Shopify catalog

  1. Product titles. The headline change. Highest CTR lift per edit.
  2. Meta descriptions. The second highest. Five minutes per product, multiplied.
  3. Image alt text. Invisible to most visitors, large for image search and accessibility.
  4. Product descriptions. The longest text per row. The most rewarding to template.
  5. Collection intros and outros. Fewer of them, but they punch heavier.
  6. URL handles. Only edit existing ones with a 301 in place. For new products, get them right at first publish.

14. If you are an agency or growth lead selling this in 2026

The B2B half of our research surfaced patterns that do not map to consumer PDPs but matter if your job is to sell Shopify SEO services. Five archetypes own every B2B SERP slot.

Archetype Who plays it The move
A. Shopify-owned property help.shopify.com, shopify.com/blog, apps.shopify.com, shopify.dev Owns all brand-plus-intent queries. Do not fight it. Capture slot 2.
B. SaaS publisher blog Semrush, Ahrefs, NitroPack, Siteimprove, Yotpo 3,000 to 5,000-word beginner guides backed by domain authority, converting content into trials.
C. Agency landing page Coalition Technologies, LOGEIX, OuterBox, Ecomx Single-conversion sales pages. Winners stack FAQPage + LocalBusiness + Product schema and write 2,500+ words.
D. Agency listicle Break the Web, Siege Media, First Page Sage, Searchbloom "The N Best [thing] in 2026". List yourself at #1, link to 3 to 7 named competitors.
E. Lead-gen tool or free audit eastsideco.com/shopify-seo-audit, seo-hero-ai-audit-tool Form-based capture pages. Very low word count, very high intent.

The agency-page on-page audit

Page Words Internal links Schema
Coalition Technologies 2,539 326 of 344 Org + LocalBusiness + Product + FAQPage
Shopify Blog, Shopify SEO 4,949 208 of 264 none
Semrush blog 4,594 159 of 189 BreadcrumbList + Article
Ahrefs blog 3,144 156 of 169 none
Break the Web 2,450 85 of 93 Article + BreadcrumbList
LOGEIX 735 43 of 43 Organization
Siege Media 2,277 175 of 189 none
Eastside Co 584 66 of 72 BreadcrumbList
First Page Sage 1,902 164 of 182 none
Go Fish Digital 2,774 146 of 185 none
One Little Web 9,527 158 of 370 none

The five plays

  1. The agency landing. 2,500+ words. FAQPage + LocalBusiness + Product schema. A year-stamped title with three pipe-separated intent phrases. 300+ internal links from this page to your case studies, sub-services, and blog. Coalition Technologies is the reference implementation.
  2. The listicle. "The N Best [thing] in 2026". List yourself at #1. Link to 3 to 7 named competitors, which signals you are a citation source and not a content farm. 2,000 to 2,500 words. Article + BreadcrumbList schema. (We're hoping the latest core search update makes these less effective. Our research suggests otherwise.)
  3. The deep guide. 3,000 to 5,000 words. Article schema. Year-stamped title. This is the SaaS-blog play, and it requires existing domain authority to land top three.
  4. The lead magnet. 500 to 800 words, one embedded form, one diagnostic query ("X audit", "X calculator", "X checklist generator"). Do not pad the page. Pad the audit output.
  5. The case study. A specific brand, a specific number, before-and-after screenshots. "From 145 to 986 daily clicks in 3 months" is a real autocomplete result. The named numbers are what get cited downstream.

Get your name into Google's autocomplete

The autocompletes "shopify seo coalition technologies", "ecommerce seo growmatic", "ecommerce seo rankstar", "ecommerce seo backlinko", "ecommerce seo mastery by kristina azarenko" exist because real procurement-side search volume runs against the brand. Doing enough work that your name becomes a suggestion is the durable moat.

15. FAQ

Is Shopify good for SEO?

Yes, but in 2026 the question is the wrong shape. Shopify ships sensible defaults: fast CDN, clean URLs, JSON-LD hooks, a sitemap. The remaining 80% of SEO outcomes comes from how the operator uses those defaults: titles, meta descriptions, body content, schema, internal linking, and getting reviews into the DOM. We audited 17 live Shopify stores ranking on page one of US Google for high-intent commercial queries. Every one ships the same set of components. None of them ship anything Shopify does not allow.

What is the ideal word count for a Shopify product page?

Across 17 ranking PDPs we measured, body word count clusters between 1,000 and 2,000 words. The single outlier is Sijo's LuxeWeave Linen Sheet Set at 4,227 words, but most of that extra mass is rendered FAQs and review text, not marketing prose. "More is better" is wrong. The working pattern is 1,000 to 2,000 words of structured copy plus inline-rendered reviews.

Do I really need JSON-LD Product schema on every page?

9 of 13 deeply-audited ranking Shopify product pages emit JSON-LD with a Product type. 7 of them stack AggregateRating or Review on top. The pages that ship both get stars in the SERP and visibly higher CTR. Shopify themes will emit basic Product schema for you. The AggregateRating piece almost always comes from a review app.

Yotpo vs Okendo vs Loox, which review app?

10 of 13 audited stores ship Yotpo, 7 ship Okendo, 7 ship Loox. 6 stores ship all three. Each writes different markup the crawler picks up. If you have to pick one, pick what your category cluster uses. If you can afford two, Yotpo plus Loox covers the most ground (stars plus visual UGC).

Should the head query target a product page or a collection page?

In our linen-sheets and linen-pants verticals, the #1 organic result is a collection page in both cases. Collection pages with 500+ words of editorial copy outrank PDPs for the head term. PDPs win the long tail: specific SKUs, sizes, modifiers. Strategy: the collection page targets the head, the PDPs target the modifier tail, and both interlink.

How do I implement these changes across 500 products?

Five fields per product, six per collection page, so roughly 3,000 edits for a 500-product catalog. Three honest options: hire an agency, write an Admin API script with a templated formula, or use AI to draft and have a human review every diff. We built Scratch for the third. See section 13.

Will AI-written product descriptions hurt my SEO?

AI-written copy is not the risk. Un-reviewed AI-written copy is. Google's helpful-content guidance penalizes low-effort, undifferentiated, or duplicate text, none of which is intrinsic to AI generation. Stores using AI well in 2026 use it to draft, not to ship. The workflow is: AI drafts, human reviews, only approved copy goes live.

Is the "list yourself first" agency listicle play legitimate?

Empirically, yes. Three of four ranking "best Shopify SEO agency" listicles in our audit list the publisher's own agency at position #1. Google has not penalized the pattern. It works because the listicle still includes 3 to 7 named competitors (a citation-source signal) and the publisher is genuinely competent in the category it is listing itself into.

How often should I re-audit?

For PDPs and collection pages, every quarter, plus a full pass any time you do a theme migration or replatform. For the meta descriptions on your top-20 traffic pages, monthly, because CTR moves and the year-stamp goes stale. For the title-tag pattern across the whole catalog, annually.

Does AI-generated content rank?

It ranks if it is good. Google's stance is that quality is the metric, not the typing machine. The pages in this audit using AI for drafting are also clearly human-edited: specific brand voice, verifiable claims, the occasional informal aside. Un-edited AI output reliably gets buried under un-edited AI output from someone else.

16. All 30 audited pages, linked

Open any one of these in a new tab, view-source on it, and cross-check the claims above. That is the point of writing the report this way.

Shopify stores, consumer SERPs

Practitioner SERP winners


Researched and written by the team at Scratch, May 2026. We bulk-edit content from your CMS, an AI agent, and a human in the diff. Have a Shopify SEO tactic that is working and did not make this report? Email curtis@scratch.md. We update this guide.

See it run on your own content.

Curtis runs these calls himself. Thirty minutes, no pitch, no slides. He connects your platforms live and shows you your content as an editable, reviewable diff. Bring anything sticky: a refresh, a migration, or a rebrand.

See it run on your content → or download it free