Skip to main content
E-commerce

Ecommerce Category Page SEO for Large Catalogs

A category page is not a longer product page. Its job is to help someone narrow a catalog down to a few candidates, and to show a search engine which products belong together.

That difference decides most of what follows. A search for “hiking boots” usually wants a page that lets someone compare options. A search for a model, a size or a SKU wants the product itself. A catalog has to serve both, which means deciding what each page type owns before optimizing either one.

This guide covers the category side: the hierarchy, the listing, the filters, and the URL decisions underneath them. The product side is covered separately, because product information, structured data and variants are a different set of problems.

Category Pages and Product Pages Do Different Jobs

Treating both as generic “landing pages” is what produces category pages full of product-page copy, and product pages that try to rank for terms a listing should own.

What each page type is responsible for

Aspect Category page Product page
The shopper is Still choosing, and wants to compare a set Choosing between buying this one and not buying
Query it fits Broad, feature-led or use-case, like waterproof hiking boots A model, SKU, size or exact product name
Its main job Narrowing a catalog without losing the good options Answering everything needed to commit
Fails when Filters mislead, the mix is wrong, or products sit pages deep Information is missing, or the data is unreadable to Google
Measured by Whether shoppers reach a product worth opening Whether the page answers the query that found it

The practical consequence: when a product page is collecting impressions for a broad comparison query, the fix is often a category or subcategory page that should exist and does not.

Audit the Categories Google Already Ranks

Category work has the same starting point as product work. Open the Performance report in Search Console, filter to category URLs, and read the queries against the page rather than the other way round.

What the report showsWhat to check
A broad comparison query lands on a product pageWhether a category or subcategory should own that search instead
A category has impressions and almost no clicksThe result itself. Title, price range shown, availability, image treatment, and which competing pages sit above it
A category ranks for an unrelated queryCategory naming, the product mix inside it, the H1, and the orientation copy
An important category has almost no visibilityIndexing, internal links, breadcrumbs, sitemap inclusion, and whether the demand exists at all
Many product pages rank for category-level searchesWhether the store is missing a category that shoppers are searching for
Filtered URLs are collecting impressionsWhether that filter state deserves a maintained page, or should be consolidated

The last two rows are the ones worth acting on first, because both point at a structural gap rather than a copy problem.

Let the Results Decide the Page Type

Before writing anything, run the query and look at what Google is already rewarding. If the first page is filled with listings, a product page will struggle there no matter how good it is.

Our data

43%
of position-one results were category pages

Across 379 commercial product keywords in six US retail sectors, category pages held 43 percent of position-one results, more than any other page type; blog and editorial content held 23 percent.

Garrett Digital SERP study of 379 commercial product keywords Verified

That finding comes from our own analysis of 379 commercial product keywords, and it does not mean category pages should replace product pages. It means broad commercial searches often return a page where someone can compare a relevant set before choosing one. The verticals differed sharply, so check your own results rather than inheriting the average.

Build Categories Around How Shoppers Narrow Choices

Categories tend to be built from how a business organizes inventory, which is rarely how a customer describes what they want. A catalog that mirrors the supplier list or the warehouse will bury products under labels nobody searches.

The depth question matters as much as the naming. A product sitting ten listing pages deep may still be crawlable, but it is harder for shoppers to reach and easier for a catalog to neglect. Shortening that path is often worth more than any single page edit. We work through that argument, with a worked example, in whether your categories are built for the business or the customer.

Two checks worth running against your own hierarchy. First, whether each category name matches language that appears in your Search Console queries or site-search logs. Second, whether a shopper landing on a parent category can tell, within one screen, how to get more specific.

Design Listings for Comparison

A listing page succeeds when someone can eliminate most of the options quickly and open one worth reading. Every element on it either helps that or gets in the way.

ElementThe job it does
BreadcrumbShows where the shopper sits in the hierarchy and offers a way back up
H1Names the category in the words shoppers use
Orientation copySays what the category contains and how to narrow it
FiltersRemove unsuitable products without hiding good ones
Default sortSurfaces products likely to help someone start
Product cardsSupport comparison with image, name, price, availability and the attributes that differ
Subcategory linksOffer a more specific path for shoppers who already know what they want
PaginationMakes deeper products reachable by people and crawlers
Buying guidanceExplains choices too complex for a card

Category copy is where stores commonly go wrong in a specific way. A block of keyword-led text above the products pushes the listing below the fold and answers a question nobody asked. Give a short orientation near the top, and put longer fit, compatibility or comparison guidance below the listing where it supports the decision without delaying it.

Filters and Pagination Need a URL Policy

Filters are where a category system quietly turns into a URL problem. Three things get treated as one and should not be.

LayerExampleWhat it is
Category or subcategory/running-shoes/trail/A durable group, worth maintaining and linking to
Filter state/running-shoes?brand=asics&size=10A shopper narrowing the current result set
Curated landing page/running-shoes/wide-fit/A filtered view promoted to a real destination because the demand justifies maintaining it

Google’s position on the middle row is blunter than most advice acknowledges. It describes parameter-based faceted navigation as capable of generating infinite URL spaces that harm a site, and says there is often no good reason to allow crawling of filtered items at all. Its suggested pattern is to let crawlers reach the individual product pages plus one unfiltered listing.

Promoting a filter state to a maintained landing page is a judgment call rather than something Google endorses. The test we use is whether you would build, link to and maintain that page if the filter system had not generated it for you. If not, it is a shopping tool rather than a search destination.

Two implementation details are documented plainly and get missed often.

External guidance

404, at that URL
Google on filter combinations that return nothing

Google says to return a 404 status code when a filter combination returns no results, and specifically not to redirect to a shared not-found page. The error should be served at the URL where it was encountered.

Google Search Central, managing crawling of faceted navigation URLs Verified

Note the distinction underneath that, because merging the two rules causes real damage. A filter combination returning nothing takes a 404 at its own URL. An empty permanent category is a different case, where Google’s URL structure guidance says to use a noindex robots meta tag, and to consider a 404 only if the site removes the category automatically.

External guidance

each page, its own canonical
Google on canonical tags in a paginated sequence

Google says not to use the first page of a paginated sequence as the canonical page, and to give each page its own canonical URL. It also confirms it no longer uses rel="next" and rel="prev".

Google Search Central, pagination and incremental page loading Verified

One thing not to decide by template. A store may run the same filter component across dozens of categories, but whether a filtered state is worth publishing depends on the product mix, the shopper need behind it, the query demand, and whether anyone will maintain it. Filters generating a URL is not the same as the business wanting a page there.

Pagination has its own pattern. Link the pages sequentially with real <a href> links, give each page a unique URL such as ?page=3, and avoid fragment identifiers for page numbers. Google treats paginated URLs as separate pages and does not require artificially different copy on each one, so the same title and description across a sequence is acceptable. What each page does need is its own URL, its own self-referencing canonical, and a crawlable path to the next one. Google’s crawlers do not click buttons or trigger interactions that require a user, so a “load more” control or infinite scroll cannot be the only route to deeper products.

Give Important Products a Path Through the Catalog

Google’s e-commerce site structure guidance describes the shape directly: link from menus to category pages, from category pages to subcategories, and from subcategories to all product pages. It uses <a href> elements rather than JavaScript events on other elements, and it recommends linking to every product you want indexed.

That makes the category system the main discovery mechanism for a catalog. A sitemap or a Merchant Center feed helps, and neither substitutes for a browsable path a shopper could also follow.

The audit is simple to run and uncomfortable to read the first time. Pick a small sample that includes high-traffic products, slow sellers, out-of-stock items, recent additions and products deep in the hierarchy, then count the clicks from the homepage to each one. Anything you cannot reach through categories and pagination is relying on search or luck.

Measure Whether Shoppers Reach Products

Bounce rate and time on page say almost nothing useful about a listing. Someone who lands, scans, filters once and opens a product had a good visit and a short one.

MeasureThe question it answers
Impressions and clicks by category URLIs Google showing this category, and do searchers choose it
Queries per categoryDoes the category match the words shoppers use
Category to product-card clicksCan shoppers find something worth opening
Filter usageWhich attributes people narrow by, and which nobody touches
Zero-result filter statesWhere the catalog creates dead ends
Product-card clicks by sort orderWhether the default order helps people start
Add to cart after a category landingWhether the category leads into a purchase path
Crawl activity for filter and parameter URL patternsWhether filter combinations are consuming crawl attention

Review the Structure as the Catalog Changes

Category structure decays quietly. Products get added to whichever category is closest, a supplier’s attribute values arrive inconsistent, a filter that made sense at 200 products stops making sense at 2,000.

A review worth repeating is short. Pull the category rows from Search Console and compare them against the last run, check whether any category has grown past the point where it needs subcategories, sample the filter states for empty results and inconsistent values, and walk the click path to a handful of products that are not selling. The gap you are looking for is between how the catalog is organized and how shoppers ask for things.

Selling Online and Not Getting Found?

We work on the pages that carry an online store: categories, product pages and the feeds behind them.