Ecommerce SEO is mostly a matter of deciding which of thousands of URLs should answer which search. As a catalog grows, the problem shifts from missing content to missing order: dozens of addresses showing the same products, category and filter pages competing with each other, and items that vanish at the end of every season.
The sections below follow the decisions a store owner makes in sequence: grouping searches, shaping the category tree, controlling filters, cleaning up product and variant data, staying within consumer law, then crawling and measurement. Each one ends with a check you can run this week; it also helps you judge an agency if you outsource ecommerce SEO.
01Five clusters of shopping searches
Searches that reach a store fall into five clusters, and each cluster needs a different page type.
- Broad category: "men's winter jacket", "espresso machine", "kids play mat". The shopper wants to see options, and Google mostly ranks category and listing pages here.
- Category with an attribute: "waterproof men's jacket", "espresso machine with grinder", "washable play mat". This is the natural target for subcategories and filter pages with real demand.
- Brand and model: brand names, model numbers, part numbers. Product and brand pages own these searches, and the people behind them are closest to buying.
- Comparison and choice: "which espresso machine to buy for a small kitchen", "down or synthetic fill". Buying guides answer them and link into the right category.
- Use and problems: "how to descale an espresso machine", "jacket size chart". These come after the purchase and feed repeat orders and loyalty.
Sort your Search Console queries into these five clusters and note which page type earns impressions in each. A cluster with no impressions is the first line of your plan; weakness in brand and model searches usually points to product titles; weakness in broad category searches usually points to the category architecture.
02A category tree built on the words shoppers use
The category tree should follow the words customers type, not the warehouse layout or a supplier's list. Stock filed internally as "outerwear" is searched as "parka", "rain jacket" or "puffer coat"; when the category name misses the searched word, the page title misses it too.
Ask three questions of every node in the tree. Do people actually search for this name? Are there enough products under it for a real choice? Does it target the same search as another category or a filter page? If the answer to the third question is yes, merge the two pages or give one of them a different target.
A keyword map is the written form of these decisions: each row holds a search group, the single URL that answers it, the page type and a priority.
The rest of the ecommerce SEO plan, from filter rules to copy priorities and internal links, is derived from this table. Before adding a category, write its row first: which search it takes, which page it might draw traffic from, where it sits in the menu.
03A written decision table for filter URLs
Faceted navigation, the lists narrowed by color, size, brand or price, is the area of a store that slips out of control fastest. The fix is one written decision per filter type, not case by case cleanup. Fill in the table in this order:
- List every filter type in the category: brand, color, material, size, price range, sort order, availability.
- Check search demand for each type; filters such as "leather", "waterproof" or a brand name are often searched, price ranges and sort orders almost never.
- Mark single filters with demand as permanent, crawlable, indexable pages, and give them their own title, a short introduction and a link from the category menu.
- Open a combination of two filters only when a clear search exists for it; once three or more filters stack, keep the URL out of the index.
- Limit crawling of the excluded combinations with robots.txt, or leave them crawlable with noindex; never use both on the same URL.
- Have the developer apply the rule at template level, then check title, canonical tag and status code on sample URLs.
The choice in step five has a cost. Google cannot read a noindex tag on a URL blocked in robots.txt. If filter URLs are already indexed and you want them gone, let them be crawled with noindex first, and restrict crawling only after they have dropped out.
04Category page copy, links and pagination
A category page becomes rankable through a few small, deliberate elements around the product grid. Piling a long block of text under the grid does not do the job; information that helps shoppers choose does.
Place a two or three sentence introduction above the grid: which types the category holds and what to look for when choosing. Right below it, link to subcategories and to filter pages with demand. Under the grid there is room for short answers to real questions such as "which size" or "which material lasts longer", plus a link to the relevant guide. For stores where sizes, colors and seasons dominate, we go deeper on our SEO for clothing and textile stores page.
Google's ecommerce guidance on pagination is clear: each page gets its own URL and a canonical tag pointing to itself, the first page is not made the canonical for the whole series, and pages link to each other with normal links. If you use a "load more" button or infinite scroll, note that Google does not click buttons; the same products must also be reachable through numbered page URLs.
As a check, look for the link to page two in the source code of a category page; if it only appears after JavaScript runs, deeper products may stay invisible to Google.
05Where unique product information comes from
Unique product copy comes from information the store already holds but never put on the page. Rewording the manufacturer's text adds nothing; facts that rival pages lack do.
- Customer questions: product questions arriving by live chat, email and messaging apps. If a question has come in three times, its answer belongs on the product page.
- Return reasons: notes such as "runs small" or "darker than the photo" show exactly where size and color information falls short.
- Your own measurements: real dimensions taken in the warehouse, weight, folded size, what is in the box and which models it fits.
- Your own photos: the product in hand, in use and next to an object that shows scale; file names and alt text should describe the product.
- Care and use: washing instructions, first setup steps, spare part information.
Do not try to rewrite the whole catalog at once. Start with products that have high impressions but low clicks in Search Console, and with your top revenue items; for the rest, add required fields to the product template. If the template holds a size chart, material, origin and care field, nobody can skip them when adding a product.
06Variants, product identifiers and Merchant Center
For color and size variants, decide on the URL first; markup follows from that decision. Will variants share one URL with a selector, or will each color have its own address? If people search by color name and the photos differ, separate URLs make sense; if only the size changes, one URL is enough.
With separate URLs, each variant carries a canonical tag pointing to itself and is tied to the group through hasVariant in ProductGroup markup, while variesBy states which attribute changes. With one URL, the selected variant is represented by a URL parameter, so each variant in Merchant Center opens on the right color and stock level.
Product identifiers are often forgotten. A GTIN for products with a barcode, and brand plus manufacturer part number for branded goods, help Google match the same item across sellers. Price, availability and images in the Merchant Center feed must match the page and the markup; changing a sale price on the site and leaving the feed until the next day can get products disapproved.
Before markup goes live, test a few sample products with our schema markup tool, then watch the warnings in the Search Console merchant listing reports. Sort that warning list by revenue share, not by product count.
07Sold out, seasonal and discontinued products
How a page behaves when stock runs out should never be debated item by item; it should follow a rule written in advance for each product type.
- Temporarily sold out: the page stays live, availability is updated in the markup, and the page offers a back in stock alert and similar products.
- Replaced by a new model: the old URL redirects with a 301 to the new model, so visitors and links reach a page that meets the same need.
- Gone for good with no equivalent: the page returns a 404 or 410. Redirecting every old product to the homepage is usually treated by Google as a soft 404.
- An old product with backlinks: if an item that earned links from other sites is retired, a redirect to the matching subcategory can make sense, as long as that category truly meets the same need.
Seasonal pages work the other way round. Back to school or holiday gift pages open at the same permanent URL every year and stay live off season; the content changes, the address does not. Links and signals earned in earlier years then carry over instead of starting from zero.
08Reviews, sale prices and consumer law
Star ratings and sale prices influence clicks in search results, but the law decides how they may be shown. SEO work should never push a display that breaks those rules.
In the UK, the Digital Markets, Competition and Consumers Act 2024 bans fake reviews and concealed incentivized reviews, and businesses that publish reviews must take reasonable and proportionate steps to prevent them; the CMA has published guidance on what that means in practice. In the EU, a price reduction must generally be shown against the lowest price of the previous 30 days. In practice, a review widget cannot be set to hide negative ratings, and a struck through price cannot be an arbitrary "list price".
Markup needs the same discipline. AggregateRating should be calculated only from reviews written for that product and visible on the page; a store wide score or ratings collected on other platforms do not belong in product markup. A sale price sent to Merchant Center must apply on the same dates as on the page.
Keep delivery times, returns terms and cancellation rights one click away from every product page. They are also the source for shipping and returns markup; marking up a return window that the page never states is wrong.
09Crawling, log analysis and speed in a large catalog
In a store with tens of thousands of URLs, the first question is where Googlebot spends its time. The answer comes from server logs, not guesswork; you can load them into our log file analyzer and group Googlebot requests by URL type.
- Parameter share: how much crawling goes to filter, sort, session and tracking parameter URLs?
- Internal search: are on site search result pages crawled and indexed? They should generally stay out of the index.
- Sitemap segments: are category, product and guide URLs in separate sitemaps? Separate files show at a glance in Search Console which page type is not getting indexed.
- JavaScript dependence: are links in the product grid present as normal links in the HTML the server sends, or are they built only in the browser?
For speed, the yardstick is Core Web Vitals, with "good" thresholds measured at the 75th percentile of visits: LCP, the time until the largest element loads, at 2.5 seconds or less; INP, the delay before the page responds to a tap or click, at 200 milliseconds or less; CLS, how much the layout shifts while loading, at 0.1 or less. In stores, INP is most often hurt by filter panels and heavy third party tags, CLS by product images loaded without set dimensions and promo banners that appear late.
10URL planning for replatforming and international stores
Changing platforms and opening a new language or country store both reshape a store's URL structure, so both should run on one plan. Most losses after a migration come from old and new URLs that were never mapped to each other.
Before the move, take a full crawl of the current site, mark the URLs that earn traffic and links, and write a new destination for every old URL. Instead of mapping by hand, compare the URL lists with our redirect mapping tool and resolve only the leftovers manually. Redirects must not chain; each old URL goes to its final target in one step. When choosing a platform, test with your developers how far you can control filter URLs, canonical tags and markup; we also run that assessment through our ecommerce consulting service.
For selling abroad, each language and country version lives at its own URL and lists itself and every other version in hreflang.
Category names should not be translated word for word but chosen again from what people search in the target market; "duvet cover set" in the UK and "comforter set" in the US are different searches. Forcing visitors to a version by IP address can stop Googlebot from seeing the others, so offer a language selector instead. In Merchant Center, currency, shipping and returns are set up per country.
11Product visibility in AI assistants
A growing share of product research now starts in chat based assistants, which compile answers from web pages, product data and reviews. Appearing there takes no trick, only clear, consistent product information that is easy to quote.
The question type assistants get most often is a comparison: "which hiking boot is lightest", "which espresso machine suits a small kitchen". Buying guides that answer such questions, product pages that state dimensions and features in plain sentences, and concise FAQs all raise the chance of being cited. Writing the product name and model code the same way on every channel helps assistants recognize the product.
On the technical side, check that robots.txt does not block AI search crawlers by accident; several security plugins switch them off by default. Then define around ten sample shopping questions for your product range, ask them in assistants at regular intervals, and log whether your store, competitors and marketplaces appear. We describe this monitoring method on our AI visibility page. Answers shift over time, so one response proves little; repeat the same set for several months to see a trend.
12Measurement, reporting and a realistic timeline
The core question of an ecommerce SEO report is how many orders and how much revenue organic traffic brings, category by category. A ranking list and session counts cannot answer it; GA4 ecommerce events and Search Console data have to be read together.
In GA4, set up view_item_list, view_item, add_to_cart, begin_checkout and purchase with item ID and category parameters. That shows basket and order rates for organic sessions by landing page type. In Search Console, build query filters that split searches into category, brand and product groups, and follow impressions and clicks per group. In the EEA, Google requires consent mode for measurement features, and non essential tracking needs consent first; note in the report that data from visitors who decline will be missing.
If you also advertise, organic and paid listings compete for the same searches; one table for both exposes wasted spend. We explain that combined view on our ecommerce advertising page.
Set the timeline honestly. Technical fixes such as index cleanup and crawl rules can show in Search Console within a few weeks; progress on competitive category searches takes months. No agency can promise a specific position. The right expectation is a set of monthly milestones: fewer needless URLs in the index, more impressions for priority categories, and an organic revenue share you can actually track.
13Six common ecommerce SEO mistakes and better options
These mistakes look small on their own, but their effect multiplies as the catalog grows, and they hurt ecommerce SEO most in large stores. Each has a better alternative, usually a rule written once.
- Opening every filter to the index: hoping for long tail traffic, stores index every combination and bloat the index. Turn only searched filters into permanent pages instead.
- Redirecting all old products to the homepage: shoppers do not find what they wanted, and Google often counts it as a soft 404. Send products with an equivalent to that equivalent and let the rest return 404 or 410.
- Stuffing category copy with keywords: a long, repetitive block under the grid helps nobody. A short introduction that aids the choice and answers to real questions are enough.
- Separate teams for feed and site: the price changes on the site, the feed catches up days later. Feed product data from one source and check the gap regularly.
- Migrating without a redirect plan: the new platform goes live and old URLs return errors. Set no launch date before the mapping table is complete and tested.
- Tying reports to rankings alone: effort goes into categories that climb but do not sell. Tie the report to orders and revenue by category.
14Choosing an SEO partner and taking the first step
The real test for an SEO partner is whether they can put filter, variant and stock rules in writing and get them implemented on your platform.
Ask these questions in the first call:
- What criteria decide which filter URLs are indexed, and where is that decision written down?
- What rule would you propose for sold out and discontinued products?
- How do you test changes on one category group first and measure the outcome?
- In whose name are the Search Console, GA4 and Merchant Center accounts set up?
- Will the report show orders and revenue by category?
Watch the proposal stage as well. An agency that promises a position or a traffic figure before looking at your store, reports only rankings, or leaves no written record of its changes will cause trouble in a catalog with thousands of URLs. The output of ecommerce SEO is not only traffic: the filter table, the stock rule, the keyword map and the template changes are assets that should stay with your store when the engagement ends.
Our method, priorities and task tracking are described on our SEO consulting page, and fixed scope tiers are listed in the SEO pricing section. To start, share your store URL, your platform and your three priority categories through the contact form; we review crawling and indexing and send the first steps in writing.