Skip to content

Ecommerce SEO strategy

Regulated marketing

Category pages carry revenue and facets generate infinite URLs

Written by Eugene SuslovLast reviewed 29 August 2026No affiliate links
Sector
Retail and ecommerce
Model
Ecommerce
Competition
Brutal
Time to results
6 to 12 months
Typical monthly
$3,000 to $20,000

Key takeaways

  1. 1Your category pages carry the revenue and your product pages get the attention. Almost every brand has this the wrong way round, and the fix is a writing job rather than a technical one.
  2. 2The site is generating pages faster than you can name them. Facets, sorts, tags, variants and pagination multiply against each other, and the total is a number nobody at the company knows.
  3. 3The marketplace outranking you on your own product name is frequently your biggest sales channel. That is a commercial decision wearing a technical costume, and it should be taken as one.
  4. 4Three regulated claims fit in one line of product copy: where it was made, when it ships, and whether it renews. None of them is about the product and all three carry a rule.
  5. 5A URL for a thing that no longer exists is the only content problem in this directory that arrives by itself. Decide the rule once, apply it automatically, and stop deciding it per product.

SEO for retailers has an unusual problem: the website makes more pages than the business makes decisions. Facets, sort orders, tags, variants and pagination multiply against each other, and no human authored any of the result.

Every other industry in this directory worries about pages somebody wrote. Here the risk runs the other way. A catalogue of a few hundred products routinely produces a crawlable surface in the tens of thousands, and the total is usually a surprise.

So an ecommerce SEO strategy is first a question of what you allow to exist, and only then a question of what you write. Deciding that is unglamorous, it is architecture rather than content, and skipping it wastes everything downstream.

The second fact is commercial rather than technical. Marketplaces hold the product-name queries, and for most direct brands the marketplace holding them is also a substantial sales channel, which makes the obvious fix an expensive one.

Where the winnable ground sits is well established and widely ignored. Category pages, comparison and buying-guide content, and the brand's own name are what a direct brand can hold, and category pages are usually a grid with a title on top.

This is also the hardest page in this directory by search difficulty. The commercial terms are contested by agencies, platforms and publishers with real budgets, and a plan that promises movement in a quarter is describing a different market.

Who already ranks in dtc ecommerce

Search one of your own product names and see who answers it, then search the category it belongs to and see whether anybody has written anything at all. Nearly every ecommerce SEO audit finds the same asymmetry: the product terms are gone and the category terms are wide open.

What is on the results page

  • Shopping results and product listings above the organic block on almost every commercial query
  • Marketplaces holding the product-name results, frequently above the brand itself
  • Large retailers and publishers holding the category and best-of results
  • Review and comparison publishers on anything with the word best in it
  • A People Also Ask block full of sizing, materials, returns and shipping questions
  • Video results on how-to-use and unboxing queries
  • A heavy paid block on transactional terms
  • Almost nothing on the specific comparison queries a category actually generates
  • Amazon

    amazon.comClaim it

    Frequently the first result for your own product name, and frequently also one of your largest channels, which makes this a margin decision rather than a ranking one. If you sell there, the honest goal is to own the brand query and the category query and to let the marketplace have the product name. If you do not, that result is a reseller and worth a lawyer rather than a strategist.

  • Google Shopping and the merchant surfaces

    google.comClaim it

    Free listings, a merchant feed and a set of structured data requirements that overlap with but are not identical to the organic ones. The feed and the page have to agree on price and availability, and the commonest failure in this category is that they quietly stop agreeing after a promotion.

  • Large retailers and department stores

    target.com

    If you also sell wholesale, your stockists compete with you on your own products with far more authority. Worth treating deliberately: agree who owns which query, feed them accurate copy, and concentrate your own effort on the pages they cannot build, which are the ones about your brand rather than your products.

  • Review and comparison publishers

    nytimes.com

    The best-of results in most consumer categories belong to publisher review desks with affiliate revenue. You will not outrank them and you can be in them. Treat placement as public relations with a deadline calendar, because those articles are refreshed on a schedule you can find out.

  • Reddit and the category communities

    reddit.com

    Threads asking whether a brand is worth it rank on brand-adjacent queries and are read closely by people about to spend. You cannot manage them, and the questions they raise are usually answerable on your own site, which is the useful response.

  • Your reviews platform

    the platform's hosted domainClaim it

    The gatekeeper you pay for. Review content is frequently injected client-side or hosted on the vendor's own domain, so the most persuasive copy on the product page is sometimes invisible to a crawler. Check whether the reviews are in the page source before assuming they are working for you.

  • Pinterest and the visual surfaces

    pinterest.comClaim it

    Ranks on aesthetic and idea queries in home, apparel, beauty and craft categories, where the search is for a look rather than a product. Worth having where your category is visual and worth ignoring entirely where it is not, which is a judgement most brands make by copying somebody in a different category.

  • Affiliate and coupon sites

    coupon and deal aggregators

    They rank on your brand plus the word discount, and they intercept a customer who had already decided to buy. Deciding whether to feed them is a commissions question. Deciding to publish an honest page about your own offers, so that query has somewhere else to land, costs nothing.

A hub labelled the category page, with six spokes: the products in it, the curated filtered pages, the buying guides, the internal links, the paid landing pages and the email campaigns.
Every spoke here is something a brand already invests in. The hub is usually a heading above a grid.

What people actually search

One cluster is lost, one is the whole opportunity, and the rest are worth what your margin says they are. Sorting by which of those three a term belongs to is more useful than sorting by volume, because the volume sits in the lost one.

Product name

Transactional, navigational

[exact product name]

The page that wins it: A product page, and a decision about the marketplace

Frequently held by a marketplace that is also your channel. Winning it back is a commercial trade rather than a technical fix, and it should be priced as one.

Category and subcategory

Commercial investigation

[material] [product type]

The page that wins it: A category page that is a page rather than a grid

The revenue cluster, and the one almost every direct brand leaves as a title above a product feed. Buying guidance, sizing, materials, care and internal links change what these pages can hold.

Attribute and use case

Commercial investigation

[product type] for [situation]

The page that wins it: A filtered landing page you chose to publish, not one a facet generated

The distinction that decides this whole architecture. A curated page with copy and a reason to exist is an asset; the same URL generated by a checkbox is a liability.

Comparison

Commercial investigation, late

[your product] vs [competitor]

The page that wins it: An honest comparison written by you

Somebody is answering this whether you do or not, usually an affiliate. The brands that write it fairly, including where they lose, tend to keep the query.

Brand

Navigational, with doubt

[brand] reviews

The page that wins it: Reviews on your own domain, in the page source

The cheapest cluster to win and the easiest to lose to a forum thread. What matters is that the answer exists somewhere you control and that it is readable without JavaScript.

Sizing, care and returns

Informational, pre-purchase

does [brand] run small

The page that wins it: A real page per question, linked from the product

Reduces returns as well as winning traffic, which makes it the only content in this playbook with two separate business cases. It is also the question most often answered inside a chat widget nothing can read.

Discount and offer

Transactional, margin-negative

[brand] discount code

The page that wins it: An honest offers page of your own

Intercepted by coupon aggregators who are paid for a customer who had already decided. You cannot stop the query. You can make sure it lands on your page rather than on somebody's commission.

Subscription and replenishment

Transactional, recurring

[product] subscription

The page that wins it: A plan page with the renewal and cancellation terms visible

The highest lifetime value cluster and the most regulated. The cancellation terms belong on the page because state law increasingly requires them there, and because burying them is what generates the chargebacks.

What the rules change

Heavier than the card originally suggested, and concentrated in an odd place: three of the four rules below land on product copy rather than on the product. Take advice on your own position; none of this is legal advice.

1

There is no federal click-to-cancel rule, and that made subscriptions harder

The Eighth Circuit vacated the FTC negative option rule in its entirety on 8 July 2025; California's amendments under AB 2863, signed 24 September 2024, took effect 1 July 2025

What it means

The vacatur was procedural rather than a judgement that the requirements were wrong, and it left the state automatic renewal statutes in place. California now requires consent to the renewal term as its own separate step rather than bundled into terms acceptance, and cancellation through the same medium the customer used to sign up.

So do this

Build to the strictest state you sell into rather than to the federal floor, because there is no federal floor. Put the renewal terms and the cancellation route on the plan page in the page's own HTML, make the consent its own checkbox, and keep a record of what each customer actually agreed to and when.

2

A shipping estimate is a representation

The FTC Mail, Internet, or Telephone Order Merchandise Rule at 16 CFR part 435

What it means

A seller must have a reasonable basis for the shipping time it states, or must ship within thirty days where it states none, and must offer a delay notice with the option to cancel and a prompt refund where it cannot. Ships in two days on a product page is a claim about your operations, not a design element.

So do this

Say what your fulfilment data actually supports, per product and per destination, and make the badge read from that data rather than from a theme setting. Then check what happens to it during a promotion, because that is when the estimate and the warehouse most often part company.

3

Made in USA has been an enforceable rule since 2021, not a policy

The FTC Made in USA Labeling Rule at 16 CFR part 323, in force since August 2021 and carrying civil penalties

What it means

An unqualified Made in USA claim requires that final assembly or processing and all significant processing take place in the United States, and that all or virtually all ingredients or components be sourced there. Designed in, assembled in and made with imported materials are different claims with different requirements.

So do this

Audit every product page, every collection banner and every alt attribute for the phrase, then either substantiate it or qualify it precisely. Qualified claims convert nearly as well and survive scrutiny, and the qualification is usually a more interesting sentence than the badge it replaces.

4

The advertised price has to be the price

State pricing statutes, of which California's SB 478 is the broadest, in force since 1 July 2024

What it means

Mandatory fees have to be in the advertised figure rather than added later, with narrow exceptions for government taxes and for shipping actually incurred. Handling charges, order fees and anything else you require are not exceptions, and the rule reaches the price wherever it is advertised rather than only at checkout.

So do this

Work out which of your charges are genuinely optional and put every mandatory one into the displayed price, including on category tiles, in the feed and in structured data. Where shipping is a real cost, state it as shipping rather than folding it into a fee with a different name.

One line of product copy, Made in the USA, ships in two days, cancel anytime, with each of the three phrases underlined and connected to the separate rule that governs it.
Three regulators in eight words, and not one of the three phrases is about the product.

Proving expertise

The buyer is sending money to a brand they may not have heard of last week. Everything below reduces the specific fear that produces an abandoned basket, and most of it also reduces returns.

  • A real company name, address and registration, findable in one click
  • Returns and refunds written as a page in plain language, with the timescales
  • Reviews on your own domain, in the page source, unfiltered and answered
  • Sizing and fit information specific to the product rather than to the category
  • Materials, provenance and care, described precisely enough to be checked
  • Who made it, where, and under what arrangement, where you can say so
  • Real photography of the product in use, credited and consistent
  • A named person to contact, and a response time you meet
  • Any Made in USA or sustainability claim, qualified precisely

How to build a ecommerce SEO strategy

Twelve months, and the first quarter is architecture rather than writing. An ecommerce SEO strategy that starts with content while the facets are still generating pages is adding good work to a system that is diluting it.

  1. 1

    Weeks 1 to 6

    Find out how many pages you actually have

    • Crawl the site and count the URLs, then compare the number to the product count
    • List every facet, sort and tag, and how they combine
    • Decide which filtered combinations are worth publishing and block the rest
    • Fix the canonical and pagination rules, and check the feed agrees with the page
    • Audit every Made in USA, shipping estimate and mandatory fee on the site
    • Decide the rule for what happens to a discontinued product URL

    You end up with
    A crawlable surface you chose, and product copy whose claims you can substantiate

  2. 2

    Weeks 6 to 16

    Make the category pages into pages

    • Write real copy on the top twenty category and subcategory pages
    • Publish the curated filtered pages you decided to keep, with their own copy
    • Build sizing, materials, care and returns as pages linked from the product
    • Move reviews into the server-rendered HTML
    • Add product group, offer, collection and breadcrumb structured data
    • Write the offers page so the discount query has somewhere of yours to land

    You end up with
    The revenue cluster answered by pages rather than by grids

  3. 3

    Weeks 14 to 30

    Take the ground the marketplace cannot

    • Write honest comparisons against the competitors people actually name
    • Build buying guides for the decisions your category genuinely involves
    • Publish the brand story, the sourcing and the people, properly
    • Put the subscription terms on the plan page and make the consent its own step
    • Get into the publisher review cycles ahead of their refresh dates
    • Decide, in writing, which queries you concede to the marketplace and why

    You end up with
    A domain that answers the questions a product listing cannot

  4. 4

    Weeks 26 to 52

    Measure margin, not sessions

    • Report revenue and contribution by landing page type
    • Track returns rate by landing page, because content changes it
    • Track first-order and repeat-order revenue separately, by source
    • Watch indexed page count as a standing metric, not a one-off audit
    • Review the marketplace concession annually against its actual margin
    • Re-audit the claims and the shipping estimates after every peak season

    You end up with
    A report in contribution and repeat rate, and a page count that is still the one you chose

Technical fixes with the best payoff

The defining problem is multiplication, and it is a feature rather than a bug in every platform in this market. Four facets with five values each is more combinations than most catalogues have products, and the platform will serve every one of them.

  • The facets are generating the catalogue twice over

    A sprint, then a standing report

    Colour, size, material, price band and sort order combine multiplicatively, and each combination is a URL. A few hundred products routinely produces tens of thousands of crawlable pages, almost all of them near-identical, which dilutes everything and makes the genuinely useful filtered pages impossible to find.

    List the facets, decide which combinations are worth a page as a commercial judgement, and publish those deliberately with their own copy. Block the rest at the parameter level rather than relying on canonical tags, which are a hint. Then re-crawl and check the number came down.

  • The category page is a title and a grid

    A day per category

    Category terms are the revenue cluster and most direct brands ship them as a heading above a product feed with no text at all. There is nothing on the page for a search engine to understand it by, and nothing for a buyer who has not yet decided which variant they want.

    Buying guidance at the top or bottom, the differences between the products in the grid, sizing and care, and internal links to the subcategories and guides. Two hundred useful words beats two thousand written to fill a space, and the test is whether it helps somebody choose.

  • Nobody has decided what a dead product URL does

    A day to decide, a sprint to automate

    Products sell out, get discontinued, get replaced by a new version. Every platform handles this differently by default and most default badly: a soft 404, a redirect to the home page, or a page that stays live saying nothing is available. It is the only content problem in this playbook that arrives without anybody doing anything.

    Decide the rule once. Temporarily out of stock keeps the URL and says when it returns. Replaced redirects to the successor. Discontinued with no successor redirects to the parent category. Then automate it, so nobody is making this decision per product at eleven at night.

  • The reviews are not in the page source

    An afternoon of configuration

    Review platforms commonly inject content after load or host it on their own domain. So the single most persuasive material on the product page, and a large body of natural language about the product, is invisible to a crawler and to an answer engine.

    Check the page source for a review you can see on screen. If it is not there, ask the vendor for a server-rendered option, which most now have, and make sure the review structured data describes reviews that are genuinely on the page.

  • The feed and the page disagree

    A sprint

    Price and availability live in the merchant feed and on the product page, and they drift apart during promotions, when a discount applies in one place before the other. The mismatch suppresses listings and, where a mandatory fee is involved, is a pricing problem as well as a technical one.

    Generate the feed from the same source as the page rather than from a scheduled export, and add a check that compares the two daily. Run it deliberately the morning a promotion starts, which is when it will fail.

  • Variants are separate pages competing with each other

    A sprint

    Every colourway as its own URL, each with the same description, all competing for the same query. The opposite failure, one page with no variant information at all, loses the specific searches entirely. Both are common and the correct answer depends on whether people search for the variant.

    Find out whether the variant is searched. Where it is, give it a URL with genuinely different copy and imagery. Where it is not, consolidate to one page and express the variants in structured data rather than in the sitemap.

  • The internal linking runs through the navigation and nothing else

    A sprint

    In a large catalogue the menu cannot reach everything, so deep categories and curated pages end up with a single link from a sitemap. They then behave like orphans regardless of how good the copy is.

    Link from category copy to subcategories and guides, from guides to the products they discuss, and from product pages to the category and to genuinely related items rather than to an algorithmic carousel that renders client-side.

Before and after. On the left, a catalogue multiplied by five facets into an unnamed total. On the right, the same catalogue plus a small number of filtered pages somebody chose to publish.
The left side is not an estimate. It is a multiplication your platform will perform for you tonight.

Structured data that applies here

The types below fit this industry specifically. Most of them earn no rich result on their own, which is worth knowing before anyone sells the work on that basis. What they do is describe the entity precisely, which matters for how search engines and answer engines resolve who you are.

  • ProductGroup with variants

    Any product sold in sizes, colours or configurations

    The correct shape for a variant family, and it appears on no other playbook in this directory because nothing else here sells the same thing in six colours. Building it forces the decision about whether variants deserve their own URLs, which is the technical question above.

    ProductGroup with variants.jsonld
    {
      "@context": "https://schema.org",
      "@type": "ProductGroup",
      "@id": "https://[YOUR-DOMAIN]/products/[SLUG]#group",
      "name": "[PRODUCT NAME]",
      "description": "[What it is, what it is made of, who it suits.]",
      "brand": { "@type": "Brand", "name": "[BRAND]" },
      "productGroupID": "[PARENT SKU]",
      "variesBy": ["https://schema.org/color", "https://schema.org/size"],
      "hasVariant": [
        {
          "@type": "Product",
          "sku": "[VARIANT SKU]",
          "gtin13": "[GTIN]",
          "color": "[COLOUR]",
          "size": "[SIZE]",
          "image": "https://[YOUR-DOMAIN]/img/[VARIANT].jpg",
          "offers": {
            "@type": "Offer",
            "url": "https://[YOUR-DOMAIN]/products/[SLUG]?variant=[ID]",
            "price": "[PRICE INCLUDING EVERY MANDATORY FEE]",
            "priceCurrency": "USD",
            "availability": "https://schema.org/InStock",
            "itemCondition": "https://schema.org/NewCondition"
          }
        }
      ]
    }
  • Offer with shipping and returns

    Every product page, generated from real data

    The fields that decide how a listing is displayed, and the ones most often filled from a theme default rather than from the warehouse. Fill the delivery time from what your fulfilment data supports, because the same figure is a representation under the shipping-time rule.

    Offer with shipping and returns.jsonld
    {
      "@context": "https://schema.org",
      "@type": "Offer",
      "url": "https://[YOUR-DOMAIN]/products/[SLUG]",
      "price": "[PRICE INCLUDING EVERY MANDATORY FEE]",
      "priceCurrency": "USD",
      "availability": "https://schema.org/InStock",
      "shippingDetails": {
        "@type": "OfferShippingDetails",
        "shippingRate": {
          "@type": "MonetaryAmount",
          "value": "[0.00]",
          "currency": "USD"
        },
        "shippingDestination": {
          "@type": "DefinedRegion",
          "addressCountry": "US"
        },
        "deliveryTime": {
          "@type": "ShippingDeliveryTime",
          "handlingTime": {
            "@type": "QuantitativeValue",
            "minValue": "[0]", "maxValue": "[1]", "unitCode": "DAY"
          },
          "transitTime": {
            "@type": "QuantitativeValue",
            "minValue": "[2]", "maxValue": "[5]", "unitCode": "DAY"
          }
        }
      },
      "hasMerchantReturnPolicy": {
        "@type": "MerchantReturnPolicy",
        "applicableCountry": "US",
        "returnPolicyCategory": "https://schema.org/MerchantReturnFiniteReturnWindow",
        "merchantReturnDays": "[30]",
        "returnMethod": "https://schema.org/ReturnByMail",
        "returnFees": "https://schema.org/FreeReturn"
      }
    }
  • CollectionPage with its ItemList

    Every category page you decided to publish

    Worth adding only once the category page has copy on it, because the node describes a page with a point of view rather than a feed. The list should contain the products actually rendered in the HTML, not the whole catalogue behind the filter.

    CollectionPage with its ItemList.jsonld
    {
      "@context": "https://schema.org",
      "@type": "CollectionPage",
      "@id": "https://[YOUR-DOMAIN]/collections/[SLUG]#page",
      "name": "[CATEGORY NAME]",
      "description": "[What is in this category and how to choose within it.]",
      "isPartOf": { "@id": "https://[YOUR-DOMAIN]/#store" },
      "mainEntity": {
        "@type": "ItemList",
        "numberOfItems": "[COUNT ACTUALLY ON THE PAGE]",
        "itemListElement": [
          {
            "@type": "ListItem",
            "position": 1,
            "url": "https://[YOUR-DOMAIN]/products/[SLUG]"
          }
        ]
      }
    }
  • OnlineStore

    Referenced sitewide from the home page

    The organisation node for a shop rather than a generic business, and the place the store-wide return policy belongs so it does not have to be restated on every product. Fill the contact point honestly; it is one of the few entity fields a nervous buyer will actually check.

    OnlineStore.jsonld
    {
      "@context": "https://schema.org",
      "@type": "OnlineStore",
      "@id": "https://[YOUR-DOMAIN]/#store",
      "name": "[BRAND]",
      "url": "https://[YOUR-DOMAIN]/",
      "logo": "https://[YOUR-DOMAIN]/logo.png",
      "foundingDate": "[YYYY]",
      "address": {
        "@type": "PostalAddress",
        "streetAddress": "[STREET]",
        "addressLocality": "[CITY]",
        "addressRegion": "[ST]",
        "postalCode": "[00000]",
        "addressCountry": "US"
      },
      "contactPoint": {
        "@type": "ContactPoint",
        "contactType": "customer service",
        "email": "[EMAIL]",
        "telephone": "[+1-555-000-0000]"
      },
      "hasMerchantReturnPolicy": {
        "@type": "MerchantReturnPolicy",
        "applicableCountry": "US",
        "returnPolicyCategory": "https://schema.org/MerchantReturnFiniteReturnWindow",
        "merchantReturnDays": "[30]"
      },
      "sameAs": ["[SOCIAL PROFILE]", "[SOCIAL PROFILE]"]
    }
  • FAQPage

    Sizing, returns, subscription and category pages

    The questions that stop a purchase here are about fit, returns and cancellation rather than about the product. Match the visible wording exactly, and keep the subscription answers aligned with the strictest state you sell into rather than with the federal position, which no longer exists.

    FAQPage.jsonld
    {
      "@context": "https://schema.org",
      "@type": "FAQPage",
      "mainEntity": [
        {
          "@type": "Question",
          "name": "[Question exactly as it appears on the page]",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "[Answer exactly as it appears. Give the real return window, the real fit guidance and the real cancellation route.]"
          }
        }
      ]
    }
  • BreadcrumbList

    Product, category and guide pages

    More load-bearing here than in most industries, because a deep catalogue has a real hierarchy and the breadcrumb is often the only place it is expressed. Assembling it usually reveals the curated filtered pages have no parent, which is why they behave like orphans.

    BreadcrumbList.jsonld
    {
      "@context": "https://schema.org",
      "@type": "BreadcrumbList",
      "itemListElement": [
        { "@type": "ListItem", "position": 1, "name": "Home",
          "item": "https://[YOUR-DOMAIN]/" },
        { "@type": "ListItem", "position": 2, "name": "[CATEGORY]",
          "item": "https://[YOUR-DOMAIN]/collections/[SLUG]" },
        { "@type": "ListItem", "position": 3, "name": "[SUBCATEGORY]",
          "item": "https://[YOUR-DOMAIN]/collections/[SLUG]" },
        { "@type": "ListItem", "position": 4, "name": "[PRODUCT]",
          "item": "https://[YOUR-DOMAIN]/products/[SLUG]" }
      ]
    }

What it costs

Editorial estimates rather than quotes, and unusually wide for a single-market business. Two things drive the top of it: the first quarter is engineering, and the terms are contested by publishers and platforms with real budgets rather than by other brands your size.

Lean

$3,000 to $7,000
  • The crawl, the facet decision and the parameter rules
  • Copy on the top twenty category pages
  • Sizing, care and returns published as pages
  • The claims audit across Made in USA, shipping and fees
  • Product group, offer and breadcrumb structured data

Who it suits

A single-category brand with a few hundred products

Where it stops

It fixes the architecture and answers the revenue cluster. It will not win comparison or best-of terms held by publisher review desks.

Funded

$7,000 to $13,000
  • Curated filtered landing pages with their own copy
  • Comparison and buying-guide content on a real cadence
  • Reviews moved into the server-rendered HTML
  • The subscription and offers pages built to the strictest state
  • Reporting by landing page type, including returns rate

Who it suits

A multi-category brand with a marketing team and a merchandiser

Where it stops

It will not take the product-name queries back from a marketplace, and no tier here will, because that is a channel decision rather than a search one.

Enterprise

$13,000 to $20,000
  • Architecture maintained as the catalogue and the platform change
  • Original category research published where it is defensible
  • International and multi-currency structure done properly
  • Publisher and review-desk relationships worked to their refresh calendar
  • Attribution stitched from first touch to contribution and repeat order

Who it suits

Brands with several thousand products, or with a replatform coming

Where it stops

What limits this is merchandising and margin rather than visibility. Search cannot make a category more profitable, and a plan that promises it is describing a different problem.

How to do it with no budget

Less of this playbook is free than most, because the first quarter is engineering. The steps below are the ones a merchandiser can do without a development ticket, and the first one is the most valuable thing on the whole list.

  1. 1

    Count your own URLs

    1 hour

    Search Console page indexing report

    Compare the number to your product count. If it is an order of magnitude larger, you have found the single biggest problem on the site and you did not need a crawler to find it.

  2. 2

    Write copy on your five biggest category pages

    2 hours per page

    Your platform's editor

    Buying guidance, the differences between the products in the grid, and links to the subcategories. These are the pages that carry the revenue and they are usually a heading above a feed.

  3. 3

    Check whether your reviews are in the page source

    20 minutes

    View source in any browser

    Search the source for a review you can see on screen. If it is missing, the most persuasive content on the product page is invisible, and the fix is a vendor setting rather than a project.

  4. 4

    Audit the site for Made in USA

    2 hours

    Your browser's search function, plus your platform's search

    Product pages, collection banners, image alt text and the footer. Either substantiate the claim or qualify it precisely; qualified claims are more interesting sentences and they survive scrutiny.

  5. 5

    Decide what a dead product URL does

    1 hour

    A document and thirty minutes

    Out of stock, replaced, discontinued. Three rules, written down once, is the difference between a decision and a nightly improvisation by whoever is on the platform.

  6. 6

    Write the offers page

    2 hours

    Your platform's editor

    Your real offers, honestly described. The discount query is being answered by an affiliate today, for a customer who had already decided to buy from you.

  7. 7

    Read your subscription flow as a customer

    1 hour

    A test order and a stopwatch

    Sign up, then cancel, in the same medium. Count the steps and note where the terms first appear. That walkthrough finds more compliance risk than any document review.

The tool stack

Weighted towards data rather than research, because the questions here are about what exists and what it earns. Two of the entries below are systems you already pay for and have never pointed at a marketing question.

  • Watch competitor prices and stock without doing it by hand

    ScrapingBeeSEO APIRead the review

    In this category a competitor's price and availability change what your page has to say, and both change daily. Automate the watch and put the output in front of the merchandiser rather than the marketer.

    Free routeA weekly manual check of your ten most contested products

  • Monitor the marketplace listings that outrank you

    ApifySEO APIRead the review

    Worth doing mainly to find unauthorised resellers, which is a legal question rather than a search one. It also tells you which of your product names the marketplace is genuinely winning, which is the input to the concession decision.

    Free routeA saved search and a calendar reminder

  • Work out what a retained subscriber is worth

    Marketing Automation ROI CalculatorFree toolOpen the tool

    Subscription economics decide how much the plan page is worth building properly. Run it with your real cancellation rate rather than the one in the deck, because the gap between them is usually the whole argument.

    Free routeFree

  • Publish categories, guides and curated pages as related content

    Builder.ioHeadless CMSRead the review

    Category copy, buying guides and curated landing pages are editorial content living inside a commerce platform, which is the awkward seam in every DTC stack. Modelling them separately is what stops the guides being built as blog posts nobody links to.

    Free routeFree tier for a small site

  • Know which landing page types actually earn

    Your analytics, grouped by page type

    Group product, category, guide and comparison pages and report revenue and contribution by group. The result usually reorders the content plan, because category pages get a fraction of the attention and carry most of the money.

    Free routeAlready paid for

  • Find out whether content is changing your returns

    Your returns data, joined to the landing page

    Sizing and fit content has two business cases and almost nobody measures the second one. A page that reduces returns by a point is worth more than the traffic it earns.

    Free routeFree, and rarely done

  • Keep the feed and the page honest with each other

    Your merchant centre diagnostics, checked daily

    Set the check to run the morning a promotion starts rather than weekly, because that is when price and availability part company and when a mismatch costs the most.

    Free routeFree

  • Watch the indexed page count as a standing number

    Search Console, in the monthly report

    Not an audit finding, a metric. If it starts climbing on its own, something has begun generating pages again, and finding out in the report is much cheaper than finding out in six months.

    Free routeFree

Take it from here

Everything below is yours to take. Fill the [BRACKETS] and it is ready to use. Start with the URL inventory, because until the page count is a number somebody chose, everything else is being diluted.

Checklist

Turns the page count from an accident into a decision. It is the first hour of this playbook and usually the most surprising one.

URL INVENTORY AND FACET DECISION - [BRAND] - [DATE]

WHY THIS IS FIRST
Your platform will generate a page for every combination of every
filter. Four facets with five values each is 625 combinations
before you count sort orders and pagination. Nobody decided that.

1. THE NUMBERS
   Products in the catalogue:            [______]
   Variants:                             [______]
   Categories and subcategories:         [______]
   URLs known to Search Console:         [______]
   URLs in your sitemap:                 [______]
   RATIO of indexed URLs to products:    [___] : 1
   If that ratio is above about 5:1, this template is the most
   valuable thing on the page.

2. THE FACETS
   List every filter, every sort and every parameter.
   FACET              VALUES   INDEXED?  SEARCHED?  DECISION
   [_____________]    [____]   [ Y/N ]   [ Y/N ]    [_______]
   [_____________]    [____]   [ Y/N ]   [ Y/N ]    [_______]
   [_____________]    [____]   [ Y/N ]   [ Y/N ]    [_______]
   [_____________]    [____]   [ Y/N ]   [ Y/N ]    [_______]
   [_____________]    [____]   [ Y/N ]   [ Y/N ]    [_______]

   Decision options: PUBLISH (write copy, link it, sitemap it) /
   BLOCK (parameter rules, not just canonical) / ALLOW BUT NOT
   INDEX.

3. THE PAGES WORTH PUBLISHING
   Only where somebody actually searches the combination AND you
   will write copy for it.
   URL                              QUERY IT SERVES     WRITTEN?
   [___________________________]    [_______________]   [ ]
   [___________________________]    [_______________]   [ ]
   [___________________________]    [_______________]   [ ]

4. THE BLOCK LIST
   [ ] Sort order parameters
   [ ] Pagination beyond page [__]
   [ ] Price band filters
   [ ] Multi-select combinations of more than [__] facets
   [ ] Session, tracking and internal search parameters
   [ ] Blocked at the parameter level, not by canonical alone
   [ ] Internal links to blocked URLs removed

5. RE-CHECK
   Re-crawl after:                  [__] weeks
   URLs known to Search Console:    [______]
   Change:                          [______]
   Add this number to the monthly report permanently.

What to publish

Write the things a product listing cannot carry. Everything worth publishing here either helps somebody choose between your own products or answers a question that a marketplace page structurally has no room for.

  • Category page copy

    Twenty properly, then the rest as they matter

    The revenue cluster, and the pages almost every brand ships as a heading above a grid. Buying guidance, the differences within the grid, and links onwards.

  • Curated filtered pages

    A handful, chosen commercially

    The attribute and use-case cluster, published deliberately with their own copy rather than generated by a checkbox. The difference between the two is this whole playbook.

  • Sizing, fit, materials and care

    One per product family

    The only content here with two business cases: it wins pre-purchase queries and it reduces returns. Most brands answer it inside a chat widget nothing can read.

  • Honest comparisons

    One per competitor people actually name

    Somebody is answering these already, usually for a commission. Brands that write them fairly, including where they lose, tend to keep the query and the trust.

  • Buying guides

    Monthly, from the questions support fields

    Where a category involves a genuine decision, the guide is what a marketplace listing cannot be. It also gives the category pages something to link to and be linked from.

  • The offers page

    Once, kept current

    The discount query exists whether or not you serve it, and it is currently landing on somebody's affiliate commission for a customer who had already chosen you.

And what not to

  • Filtered URLs generated by facets nobody decided to publish
  • Category pages that are a heading above a product feed
  • An unqualified Made in USA claim with nothing behind it
  • A shipping estimate set in the theme rather than by your fulfilment data
  • A mandatory fee added after the advertised price
  • Subscription terms that appear for the first time in the confirmation email
  • Manufacturer product descriptions copied verbatim onto your own pages
  • Blog posts about your industry that no buyer of your product would search for
A category page screen with one region marked out: the empty band between the heading and the product grid, labelled nothing is here, beside a list of the six things that belong in it.
Nothing in that band needs a developer. Every one of the six is a merchandiser with an afternoon.

The expensive mistakes

Writing content before controlling the URL count

Costs you Good pages added to a site where tens of thousands of near-identical ones are competing for the same signals

Decide what may exist, block the rest at the parameter level, then write

Optimising product pages and ignoring category pages

Costs you Effort spent on queries a marketplace already holds, while the pages that carry the revenue stay as grids

Category copy first, product pages second, and a written decision about which product names you concede

Leaving the dead product rule to the platform default

Costs you Soft 404s, redirects to the home page and pages that stay live saying nothing is available, all accumulating quietly

Three rules decided once and automated, so nobody improvises it per product

Treating the marketplace as a search problem

Costs you Months of effort against a listing that is also one of your largest channels, with no plan for the revenue if it works

Price the trade explicitly, concede what is worth conceding, and put the effort where the marketplace cannot follow

Setting the shipping badge in the theme

Costs you A representation about your operations, made by a designer, that is wrong exactly when it matters most

Read the estimate from fulfilment data, per product and per destination, and check it during promotions

Reporting sessions and conversion rate

Costs you A number that flatters discount traffic and hides which page types are actually profitable

Revenue and contribution by landing page type, with returns rate beside it

What to measure

Two corrections make this report useful. Group by landing page type rather than by channel, because the page type is the thing you control, and put returns rate next to revenue, because content moves both.

Leading indicators

Move first. They predict, they do not prove.

  • Indexed page count

    Search Console page indexing report

    A standing metric rather than an audit finding. A count that starts climbing on its own means something is generating pages again, and the report is a far cheaper place to discover that than a crawl six months later.

  • Impressions on category and comparison clusters

    Search Console, grouped by cluster

    Deliberately excludes the product-name terms, which are conceded where a marketplace holds them. These are slow: this is the hardest page in this directory and three to six months before movement is normal.

  • Share of product listings shown against the catalogue

    Merchant centre diagnostics

    Mostly a data quality measure. Sudden drops are usually a feed and page mismatch after a promotion rather than anything editorial.

  • Brand query volume

    Search Console, brand terms only

    The one leading indicator that responds to everything else you do, including the things search cannot claim credit for. Report it as context rather than as a result.

Business indicators

The ones a manager acts on.

  • Revenue by landing page type

    Analytics, grouped into product, category, guide and comparison

    The report that reorders the plan. Category pages routinely carry a large share of revenue while receiving a small share of the attention, and no channel-level report shows it.

  • Contribution after discount and shipping

    Finance, joined to the landing page group

    Revenue flatters discount traffic. A coupon-led order and a full-price order from a buying guide are different businesses, and only contribution separates them.

  • Returns rate by landing page

    Returns data joined to the entry page

    The second business case for sizing and fit content, and the one nobody measures. A page that lowers returns is worth more than the sessions it brought.

  • Repeat order rate by acquisition source

    Your commerce platform

    The number that decides whether a channel is worth its cost. First orders from discount queries and from buying guides repeat at very different rates, and the difference only appears after a quarter.

The verdict

Ecommerce is the one industry in this directory where the website creates its own problem. Nothing else here has an architecture that manufactures pages faster than anybody can decide whether they should exist.

So the first quarter is not writing. It is choosing what may exist, deciding what a dead URL does, and making sure the page and the feed agree, none of which produces anything anybody wants to look at.

After that the opportunity is unusually clear and unusually ignored. Category pages carry the revenue and are almost always grids, and the questions that reduce returns are answered inside a chat widget nothing can read.

Two things separate a real proposal for ecommerce SEO services from an expensive one. Ask whether the first deliverable is a URL count, and ask anybody selling SEO services for retailers what they intend to do about the marketplace, because the honest answer is usually to concede and say so.

FAQ

DTC ecommerce SEO questions

  • Why does our site have so many more URLs than products?
    Because your filters multiply. Four facets with five values each is 625 combinations before sort orders and pagination, and every platform in this market will serve all of them. Compare the URL count in Search Console with your product count; if the ratio is above about five to one you have found the biggest problem on the site, and it is an architecture decision rather than a writing one.
  • Should we optimise product pages or category pages first?
    Category pages, and it is not close. They carry a large share of the revenue in most catalogues, they are usually shipped as a heading above a product grid, and the terms they target are far less contested than product names. Product-name queries are frequently held by a marketplace that is also one of your channels, which makes them a commercial trade rather than a ranking task.
  • What should happen to a product URL when the product goes away?
    Decide three rules once and automate them. Temporarily out of stock keeps the URL live with a return date and a notification option. Replaced by a successor redirects to it, with the successor page naming what it replaced. Discontinued with no successor redirects to the parent category, never to the home page. Left to the platform default this decision gets improvised weekly.
  • Is there still a click-to-cancel rule?
    Not federally. The Eighth Circuit vacated the FTC negative option rule in its entirety on 8 July 2025 on procedural grounds, days before enforcement was due to begin. What remains is the state patchwork, and California's amendments in force since 1 July 2025 require separate consent to the renewal term and cancellation in the same medium as sign-up. Build to the strictest state you sell into.
  • Can our product pages say Made in USA?
    Only if final assembly and all significant processing happen in the United States and all or virtually all components are sourced there. This has been an enforceable rule with civil penalties since August 2021 rather than a policy statement. Qualified claims such as assembled in a named place from domestic and imported parts are safe, more specific, and generally more interesting to read.
  • How do we compete with a marketplace on our own product names?
    Usually you should not, and the honest version of that answer is a written memo rather than a shrug. If the marketplace is also a substantial channel, taking those queries back has a revenue cost that belongs in the plan. Concede the product names deliberately, then put the effort into category, comparison and brand content, where a listing structurally cannot follow you.
  • Do our reviews help if they load after the page does?
    Not for search, and possibly not for answer engines either. Review platforms commonly inject content client-side or host it on their own domain, so the most persuasive material on the product page and a large body of natural language about the product are invisible. Check the page source for a review you can see on screen; most vendors now offer a server-rendered option.
  • What does ecommerce SEO cost?
    The tiers above are editorial estimates rather than quotes, and the spread is wide at $3,000 to $20,000 a month. Two things push the top: the first quarter is engineering rather than writing, and the commercial terms are contested by publishers and platforms with real budgets. Expect three to six months before anything moves.

Run it yourself, or have someone own it

Everything above is written to be run without us, and the free path is genuinely most of the value for a single-location business. Where these plans stall is almost never the plan. It is that nobody owns it after the first month. That is the job we do, with search as one distribution layer inside a wider system rather than the whole engagement.