Skip to content
Ecommerce Pune Online store development
Search PUBLISHED 24 AUGUST 2026 · 15 MIN READ

Why your category pages do not rank

Category pages target the queries that actually convert, and on most stores they are empty, buried under filter URLs, or competing with each other. Here is how to tell which one you have.

Ask most store owners which pages bring in search traffic and they will say product pages. Look at the queries that actually convert and it is usually the category pages, and on most stores those are the pages nobody has touched since launch.

Somebody searching for a specific product number is already deciding between sellers. Somebody searching for a category is deciding what to buy, which is the more valuable moment and the one a category page is supposed to own.

When those pages do not rank it is almost never mysterious. In our experience it is one of four things, sometimes two of them at once, and the diagnosis is usually a twenty minute job rather than an audit.

This covers all four, how to tell which you have, and the order to fix them in. There is a practical section near the end on actually editing a WooCommerce category page, because that is where most people get stuck between knowing what to write and having somewhere to put it.

Why category pages carry more than product pages

Worth establishing before the fixes, because it changes where you spend effort. It is also the shortest answer to why SEO is important for ecommerce at all: these pages meet demand that already exists, rather than paying to create it.

They match the query people actually type

Almost nobody searches for a specific SKU unless they already know it. They search for a category with a qualifier: a material, a use, a price band, a city. A category page is the natural answer to that shape of question and a product page is not.

They survive your catalogue changing

Product pages come and go with stock. A category page persists for years, accumulating links and history, and every ranking it earns compounds instead of disappearing when a line is discontinued.

They distribute authority downward

A category page that ranks passes signal to every product it links to. Fixing one category page can move a hundred product pages that nobody has to touch individually.

They are where the buying decision narrows

The visitor is choosing between options rather than confirming one, which is the moment your copy, your filters and your range can actually influence the outcome.

If you have limited time, spend it on your top ten category pages rather than spreading it across four hundred product pages. The arithmetic is not close, and it is the single most common misallocation of effort we see on Indian stores.

Reason one: there is nothing on the page

The most common and the easiest to fix. A default category page is a heading, a grid of products and pagination. Strip out the product titles, which appear on their own pages anyway, and there is close to no unique content on it at all.

A search engine is being asked to rank that page for a competitive commercial term against pages that explain, compare and advise. It has nothing to work with, and no amount of ecommerce SEO elsewhere compensates for an empty page.

What to actually write

Not four hundred words of keyword-stuffed filler above the grid, which is the standard advice and which nobody reads. Write the thing a knowledgeable shop assistant would say to somebody standing in front of that shelf.

How to choose between these

The two or three variables that actually differ across the range, and who each suits. This is the most useful paragraph you can write and almost no store has it.

What the range covers

Price band, sizes, materials, what you deliberately do not stock and why. Specificity here answers the question that would otherwise become a phone call.

The questions you get asked

Whatever your support inbox receives about this category, answered on the page. You already have this content, written by customers, in your own inbox.

Where it should sit

A short introduction above the grid, and the longer detail below it. Pushing the products down the page to make room for copy is a trade that usually loses more than it gains.

Do not generate this. Category copy written by a machine at scale reads exactly like category copy written by a machine at scale, and it is the specific thing Google spam policy on scaled content abuse describes. A hundred words that only your business could have written beats four hundred that anyone could.

Reason two: filter URLs are eating your crawl budget

The technical problem that does the most damage on larger catalogues, and the one most owners have never heard of.

Every filter on your category page probably generates a URL. Colour, size, brand, price. Combine four filters with five options each and you have generated hundreds of URLs from one category, most of them showing near-identical products, all of them crawlable. On a large store this runs into tens of thousands of pages.

The consequence is not a penalty. It is that a crawler spends its time on combinations nobody searches for instead of on the pages you care about, and your genuinely important pages get visited less often. Google's own guidance on faceted navigation is direct about this: most filter URLs should be blocked in robots.txt rather than given a noindex tag, because a noindexed page still has to be crawled before the tag is seen.

The four categories every filter falls into

Type Example What to do Why
Index-worthy A filter people search for by name, like a brand within a categoryGive it a real URL and real copyIt is a category in its own right and has demand
Canonicalisable Sort order, or a view that changes presentation onlyCanonical back to the unfiltered categorySame products, different arrangement
Blockable Multi-select combinations nobody searches forDisallow the parameter in robots.txtBlocking stops the crawl before it costs anything
Fragment only Anything you can apply without a page loadKeep the state after a # and out of the pathZero crawl impact, no downside
Do this once For every filter you haveWrite it downIt is a policy, not a task

The last row is the strongest pattern for a new build and the one worth arguing for while there is still time. Filter state held in a URL fragment never reaches the server as a distinct page, so no crawler ever sees it, and the customer still gets a shareable link.

Which of these you can implement depends on how much of the platform you control. Self-hosted stores can do all four; hosted platforms vary considerably in what they will let you touch, which is one of the few places platform choice genuinely affects search rather than just being said to. The Shopify and WooCommerce comparison covers where those boundaries sit.

Reason four: your categories are competing with each other

The one that is hardest to see from inside the business, because every category made sense to whoever created it.

Stores accumulate categories. Somebody adds one for a campaign, somebody else adds a near-synonym, and a product ends up in three places. Now three pages target roughly the same query with roughly the same products, and none of them is clearly the best answer. Search engines pick one, often not the one you would have chosen, and the signal that should have gone to a single page is split across three.

How to find it

  • Export your category list and read it. Genuine duplicates are usually obvious once they are in one column.
  • Search your own site for a category term and see how many of your pages come back.
  • In Search Console, look for one query where the landing page keeps changing between your own URLs.
  • Look for categories with fewer than about five products, which are usually a tag pretending to be a category.
  • Check whether any category exists only because a campaign needed a landing page two years ago.

The fix is consolidation, not deletion. Pick the page that should win, merge the products into it, and redirect the others to it permanently. Deleting them instead throws away whatever links and history they had accumulated, which is the part that was worth something. At scale this is a migration-shaped job rather than an afternoon.

A useful rule while you are in there: a category should exist because customers shop that way, not because your product data has a field for it. Material, colour and size are usually filters. Use case and product type are usually categories. Getting that distinction right prevents most of this from recurring.

Category structure and subcategories

Related, and worth its own section because subcategories are where the previous problem usually starts.

A subcategory earns its existence when it has enough products to be worth browsing separately and somebody searches for it as a thing. Below that, it is a filter, and creating it as a subcategory produces a thin page that competes with its parent.

Situation Make it a Reason
Fifteen products, people search the term SubcategoryReal demand and enough range to browse
Three products, nobody searches it FilterA page that thin will never outrank its parent
Describes an attribute, not a product type FilterColour and size are how you narrow, not what you sell
Seasonal or campaign grouping Filter or a landing pageIt should not permanently fragment the structure
The test Would somebody browse itRather than narrow with it

Two structural points that matter more than depth. Every category should be reachable from the navigation in a couple of clicks, because a page nobody links to is a page nobody crawls often. And the hierarchy should be stable, since restructuring categories means changing URLs, and changing URLs means redirects and some loss.

Which is why this is worth getting right at build time rather than fixing later. It is one of the decisions in an ecommerce website build that is genuinely expensive to reverse, alongside URL structure and how products are modelled.

Actually editing a WooCommerce category page

The practical gap between knowing what to write and having somewhere to put it, which is where a lot of people give up.

Where the copy goes

Products, then Categories, then edit the category. The description field there is what renders on the category archive. That is where the introduction belongs, and by default it appears above the product grid.

Getting longer copy below the grid

The default position is above the products, which is fine for a short paragraph and bad for four. Most well-built themes offer a second field or a setting for content below the grid. If yours does not, it is a small template change rather than a plugin.

Adding subcategories

The same screen, setting a parent on the child category. Read the table above before you create one, because most subcategories people add should have been filters.

Changing the layout itself

The archive template. Editing it in a child theme, or through your theme's own category settings, survives updates. Editing the parent theme directly does not, and it is the most common reason category customisations vanish.

Showing subcategories on the shop page

A WooCommerce setting under Appearance, Customise, WooCommerce, Product Catalog. It controls whether the shop and category pages show products, subcategories, or both, and it is a setting rather than a code change.

Whatever you change, change it in a child theme or a site-specific plugin. Keeping that discipline is what a maintenance plan is for. Category template edits made directly in a parent theme disappear on the next update, and they disappear silently, which means you find out when somebody notices the copy is gone weeks later.

The same applies to any snippet you add for this. Keeping template and functional changes somewhere that survives updates is the difference between a store that is maintainable and one that quietly reverts, which is most of what separates a WooCommerce build that ages well from one that does not.

Working out which problem you have

Twenty minutes in Search Console and your own site tells you nearly everything. Match the symptom to the likely cause rather than fixing all four at once.

What you see Most likely cause What to check next
Category pages get impressions but almost no clicks Thin content, or a title that does not match intentWhat the page says above the grid, and its title tag
Product pages rank but categories do not Thin categories, or nothing linking to themInternal links pointing at the category
Search Console reports far more pages than you have Filter URLs being crawledThe Pages report, filtered to crawled and not indexed
The ranking URL for one query keeps changing Two categories competingYour category list, read as one column
Only the first page of a category is indexed Infinite scroll, or canonicals pointing to page oneWhether page two is reachable with JavaScript off
Everything looks right and nothing ranks Genuinely competitive term, or the site is too newWhether anything at all ranks yet, before changing more
Do this first Before writing anythingDiagnosis beats effort

That last row deserves saying plainly. A store three months old with no links is not failing to rank because of a technical fault, and rewriting forty category descriptions will not change it. Sometimes the honest answer is that it is early, and the effort belongs somewhere with a faster return, such as selling products online through channels that already have demand, or getting the catalogue into Google's free product listings, which do not wait on authority the way a category ranking does.

The order to fix them in

Sequence matters, because two of these change what the others are measuring.

  • Consolidate competing categories first, so you are not about to write copy for a page you will merge away.
  • Fix crawl waste next, because it changes how often everything else gets looked at.
  • Fix pagination and confirm page two onward is reachable without JavaScript.
  • Then write copy, starting with your ten most valuable categories rather than all of them.
  • Add internal links to those ten from products, guides and the homepage.
  • Wait. Category pages move over months, not weeks, and changing more while waiting makes the result unreadable.

Change one thing at a time and give it a month, for the same reason you would with anything else you are measuring. Doing all six in a week means that if rankings move you will not know which change did it, and if they fall you will not know what to undo.

Most of this is work an in-house team can do, and there is no reason to pay someone for the parts you can write yourself. The parts that genuinely need a specialist are the crawl analysis on a large catalogue and the consolidation plan, because both are easy to get wrong in ways that cost traffic. That is what an ecommerce SEO engagement spends most of its first months on.

Want to know which of the four you have?

Send us your store URL and the category pages you expected to rank. We will tell you what is actually wrong, in enough detail that you can fix it yourself if you want to.

Questions we get asked about this

How much content should a category page have?

Enough to answer how somebody chooses between the products on it, which is usually a short paragraph above the grid and a longer section below. Length is the wrong target. A hundred words that only your business could have written outperform four hundred generic ones, and generated category copy at scale is the specific thing Google spam policy on scaled content abuse describes.

Should I block filter URLs in robots.txt or noindex them?

Google's faceted navigation guidance points to blocking in robots.txt for most filter combinations, because a noindexed URL still has to be crawled before the tag is seen, so it consumes crawl budget anyway. Reserve noindex for URLs you want visited but not listed, and canonical for filters that show the same products in a different arrangement.

Does rel next and rel prev still matter for pagination?

No. Google deprecated it in 2019 and now treats a paginated series as ordinary linked pages. Leaving the tags in place does no harm and no good. What matters is that every page in the series is reachable through a crawlable link, carries a self-referencing canonical rather than one pointing at page one, and has a unique title.

Is infinite scroll bad for SEO?

It is bad when it is the only way to reach products. Googlebot loads the first screen and stops, so anything below that does not exist for search unless a paginated fallback exists alongside it. As an enhancement over real pagination it is fine, and plenty of stores run both.

Should this be a subcategory or a filter?

A subcategory if it has enough products to browse and people search for the term itself. A filter if it describes an attribute like colour or size, or if it would hold three products. Creating thin subcategories is how stores end up with categories competing against each other, which is one of the four reasons this guide is about.

How long before category page changes show in rankings?

Months rather than weeks, and longer on a newer site. That is why changing one thing at a time matters more here than almost anywhere else: if you rewrite copy, consolidate categories and change your filter handling in the same week, you will not be able to tell which of them worked.

Written by Yogesh Jadhav

Founder, Ecommerce Pune

More than ten years in software development, now building and maintaining online stores for businesses across Pune and Pimpri-Chinchwad on Shopify, WooCommerce and custom code. Everything here comes out of that work rather than from a content calendar.