Optimizing Category Pages in an Online Store
How to optimize ecommerce category pages: target phrase, title and H1, copy, internal links, filters, pagination and an audit checklist for online stores.
Key takeaways
Ecommerce SEO is the work that makes the categories, products and filters of an online store easy to find, understand and choose in Google results. Unlike a brochure site, a store has thousands of URLs, stock that changes and search intent with direct commercial value, so mistakes show up in sales.
This guide is a panorama: it walks through each area in the order you would fix it and points to detailed articles. If you would rather have a specialist set the architecture and priorities for your store, there is our ecommerce SEO service. The examples use an imaginary school-supplies shop, so we do not rely on invented data about any real client. Romania-specific points (RON prices, local marketplaces) are explained for foreign readers.
The differences are in scale and risk, not in principles.
The practical upshot: in a store, half the SEO work is control, deciding which pages you want indexed and which not, and the other half is quality, making the pages that matter useful.
Google's ecommerce documentation explains that it understands site structure through links: from menus to categories, from categories to subcategories, and then to all products. If a product page is not linked from any category, Google may miss it, because a crawler does not type searches into your store's search box.
Practical rules:
<a href> elements, not just JavaScript buttons.The category is usually the store's most valuable SEO page. How to build one element by element is covered in category page optimization. For choosing phrases, see keyword research, and for distributing links, our guide to internal linking and site architecture.
A product page has two jobs: be found for specific searches and persuade. The basics:
| Element | What you do | What to avoid |
|---|---|---|
| Title tag | Product type, key attribute, brand or model, unique per page | The same title on all variants |
| H1 and description | Original text: who it is for, what it solves, sizes, materials | Copying the supplier's text |
| Images | Several angles, clear file names, descriptive alt text, a modern format | Large unoptimized images, empty alt text |
| Specifications | A clear table, units of measure, compatibility | Information only inside images |
| Reviews | Real buyer ratings visible on the page | Invented or copied reviews |
| Questions | Answers to questions actually received from customers | Generic FAQ lists |
| Internal links | To the category, accessories, similar products | A page with no links to other products |
Images have their own chapter: image optimization for SEO. For variants (color, size), Google's documentation asks that each variant be identifiable by its own URL, for example /backpack/blue or /backpack?color=blue. When you use optional query parameters, the URL without the parameter is the canonical one. More on canonicals in our article on canonical tags and duplicate content.
Structured data describes the product to machines: name, image, price, currency, availability, ratings. Google distinguishes between product snippets (pages where you cannot buy directly) and merchant listings (pages where you can buy). Its documentation recommends providing as much rich product information as you can, not a strict list of fields.
A minimal example in JSON-LD:
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Ergonomic school backpack 18 L",
"image": ["https://example.com/img/backpack-18l.webp"],
"description": "Backpack with an ergonomic back panel, for grades 1-4.",
"sku": "GH-18L-WHT",
"brand": { "@type": "Brand", "name": "ExampleBrand" },
"offers": {
"@type": "Offer",
"url": "https://example.com/backpacks/ergonomic-backpack-18l",
"priceCurrency": "RON",
"price": "249.00",
"availability": "https://schema.org/InStock"
}
}Rules that keep you out of trouble:
Implementation details are in our JSON-LD structured data guide, and you can draft the structure with the schema generator.
Filters (color × size × price × brand) can generate a huge number of URLs, often with the same content. Google's faceted navigation documentation says the most effective way to prevent their crawling is robots.txt, while rel=canonical and nofollow are secondary signals that are less effective over time. One more detail: for filter combinations that return no products, it recommends a 404 status.
Example rules for parameters with no search demand:
User-agent: *
Disallow: /*?*sort=
Disallow: /*?*price_min=
Disallow: /*?*price_max=A decision table per filter:
| Filter | Search demand? | What you do |
|---|---|---|
| Brand | Usually yes | A stable, indexable filter page with its own content |
| Color, size | Sometimes | Index only combinations with verified demand |
| Sort order, price, items per page | No | Block crawling in robots.txt |
| Combinations with no results | No | Return a 404 |
Note: a page blocked in robots.txt cannot be read by Google, so any canonical or noindex on it is never seen. Pick one method per URL type. You can draft the rules with the robots.txt generator.
Google recommends a unique URL for each page in a list (for example ?page=2), each with its own canonical rather than a canonical pointing to page one. Links to the next page should be <a href> elements. Google no longer uses rel=next and rel=prev. “Load more” buttons or infinite scroll can hide products, because the crawler does not click buttons; in that case, add classic links or a sitemap.
The rules depend on the situation. The table summarizes a sound, widely used policy; Google's documentation explicitly covers empty categories, while the rest is common practice.
| Situation | What you do |
|---|---|
| Temporarily out of stock | Keep the page, with a stock message and alternatives; OutOfStock markup |
| Discontinued, with a replacement | A 301 redirect to the replacement product |
| Discontinued, no replacement | A 301 to the category if relevant, or a 404/410 if not |
| Category with no products | noindex or a 404, per Google's recommendation |
| Seasonal page | Keep a permanent URL and reactivate it every year |
The logic of redirects is explained in our guide to 301 and 302 redirects. Mass-redirecting products to the home page is a common mistake: the user does not find what they wanted.
Stores often load heavy themes, many scripts and large images. On a phone, that means slow pages at exactly the moment of decision. Core Web Vitals are experience metrics that Google measures; how to read and fix them is in our article on Core Web Vitals. For a first check, run the site speed test.
Not every search around a store is a direct purchase. Many people search “how to choose...” or “difference between...”. Buying guides, comparisons and answers to questions capture these searches and lead readers to categories. Each article should link to the category or products it recommends, and search intent must be respected: see search intent.
| Indicator | Where | What you watch |
|---|---|---|
| Impressions and clicks on categories and products | Search Console | Growth on priority pages |
| Indexed pages vs pages in the sitemap | Search Console | Whether what you want indexed actually is |
| Revenue and orders from organic traffic | Analytics | SEO's real contribution to sales |
| Mobile speed | Core Web Vitals report | Regressions after theme changes |
A useful report does not stop at traffic: it ties traffic to orders. The structure of a monthly report is in our article on SEO KPIs.
In large stores you cannot fix everything at once, so order by impact: first what affects the whole site (indexing, filters, speed), then high-margin categories, then products with demand. Check each step in Search Console before the next.
If you sell unique products at unbeatable prices but with no organic search demand (for example a new, unknown brand), SEO will bring less at first and you need other channels. If the niche is dominated by large marketplaces on every relevant term, the strategy should target long-tail searches and guides rather than generic terms. And if margin or stock cannot support extra orders, growing traffic is not the priority.
Ecommerce SEO is won through order: you control what gets indexed, make key categories and products useful, mark up data correctly and measure sales, not just visits. Next step: pick the five categories with the highest margin and check each against the list in our category page guide. If you want a plan built for your store, see our ecommerce SEO service.
Frequently asked questions
Product count does not decide it. Search demand in your niche and your margin do. A store with 100 products in a niche with clear search demand can outperform one with thousands of products and no strategy. First check that people actually search for your categories.
Rarely on generic terms, but often on niches and specific searches. A small store's advantage is specialization: buying guides, comparisons, descriptions that answer real questions. On the most contested terms, competing against large platforms is usually an uphill fight.
Usually not. The same text appears on many other sites, so your page adds nothing distinct. Start with the products that have the most potential: add verified specifications, benefits for the buyer, sizes, compatibility and answers to questions customers actually ask.
Use Product structured data with an offer (price, currency, availability) and, if you have authentic product reviews, ratings. Google does not guarantee display. The markup must match what users see on the page, and you can complement it with a feed in Google Merchant Center.
For combinations with demand (for example “ergonomic school backpacks”), create a stable category or filter page with a clean URL, its own title and content, included in internal links and the sitemap. All other combinations stay unindexed and, preferably, uncrawled.
Related service
Keep reading
How to optimize ecommerce category pages: target phrase, title and H1, copy, internal links, filters, pagination and an audit checklist for online stores.
Internal linking explained: how to design site architecture, choose anchor text, find orphan pages, and direct authority toward the pages that bring revenue.
Pages not indexed in Google Search Console: what each status means, how to find the cause and what to do, from noindex and canonicals to Crawled, not indexed.
Send us your website address and we’ll reply with a free initial analysis and a concrete SEO strategy — no strings attached.