WooCommerce index bloat: which pages to noindex, and why

Index bloat is when Google indexes hundreds of thin pages, like tag archives, author pages, attachment pages and filtered product URLs, that compete with your real categories and products. Keep categories, products and useful guides indexed; noindex or remove thin archives and filter combinations; and keep your sitemap limited to pages you want to rank.
- WordPress creates a page for every tag, author, date and image; WooCommerce adds product tags and filters.
- Thin pages compete with your categories and waste Google’s crawl time.
- Keep categories, products and useful guides indexed; noindex or remove the rest.
- Check traffic before you noindex anything: some archives quietly earn visits.
What is index bloat on a WooCommerce store?
WordPress creates a page for almost everything: every tag, every author, every uploaded image, every date. WooCommerce adds product tags and layered-navigation filter URLs on top. Left alone, Google can index far more thin pages than real products.
Those pages rarely rank, but they still cost you. Google spends crawl time on them, they compete with your categories for the same searches, and they dilute how Google judges the quality of your site overall.
The fix isn’t to hide everything. It’s to make sure the pages Google sees are the ones you’d want a shopper to land on.
How do you find index bloat on your store?
Start by comparing what Google has indexed with what you actually want indexed:
- Count your real pages. Add up products, categories and useful posts. That’s roughly the number you want indexed.
- Open Search Console → Pages and compare the indexed total. If it’s several times your real page count, you have bloat.
- Look at the URL patterns in the indexed list: /tag/, /author/, /?attachment_id=, /product-tag/ and ?filter_ are the usual suspects.
- Check your sitemap index. If your SEO plugin lists tag, author or attachment sitemaps, those page types are being offered to Google.
- Search Google for
site:yourstore.com/tag/andsite:yourstore.com/product-tag/for a quick sense of scale.
What does index bloat look like in practice?
Consider an example store with 300 products, 25 categories and 40 blog posts: about 365 pages worth ranking. Over the years it has collected 600 product tags, a dozen author and date archives, an attachment page for every product image and a few thousand filter combinations.
Search Console might report several thousand indexed pages, with fewer than one in ten of them ones the store actually wants found. Google spends most of its crawl visits on pages that will never sell anything.
Which WooCommerce pages should you noindex?
Every store is different, so check Search Console before changing anything. As a starting point:
| Page type | Usually | Why |
|---|---|---|
| Product categories | Index | Your main ranking pages for category searches |
| Products | Index | Rank for specific product and model searches |
| Product tag archives | Noindex | Thin, overlapping lists that compete with categories |
| Blog tag and date archives | Noindex | Duplicate lists of posts already linked elsewhere |
| Author archives (single-author shops) | Noindex | A copy of the whole blog under another URL |
| Media attachment pages | Redirect or remove | An image on an empty page; newer WordPress versions disable them for new sites |
| Filter and sort URLs (?filter_, ?orderby=) | Noindex or block | Endless combinations of the same products |
| Cart, checkout, my account | Noindex | WooCommerce already marks these noindex; check your SEO plugin hasn’t overridden it |
What about WooCommerce filter URLs?
Layered navigation creates a URL for every combination of filters: colour, size, price, brand. Two or three filters across a few categories can produce thousands of crawlable URLs showing the same products in a different order.
Most of them shouldn’t be indexed. Keep them noindexed, or block crawling of the filter parameters once Google has dropped them. The exception is a filter combination people genuinely search for, like “black leather boots”. Don’t rely on a filter URL for that; build it as a proper category with its own copy and meta tags.
How do you clean up index bloat without losing traffic?
Carefully, and in this order. A blanket noindex can remove pages that quietly earn traffic.
- Pull the data. Export indexed pages from Search Console and check which ones actually get clicks.
- Keep the earners. Any tag or archive page with real traffic gets improved and kept, or redirected to the closest category.
- Noindex the rest using Yoast SEO or Rank Math settings, page type by page type.
- Fix the sitemap. Remove noindexed page types so your sitemap only lists pages you want to rank.
- Watch Search Console for a few weeks as Google drops the thin pages and recrawls your categories.
How long does the clean-up take to show?
The settings take an afternoon. Google takes longer. Noindexed pages drop out as Google recrawls them, which can take a few weeks for active pages and longer for pages it rarely visits.
Watch two numbers in Search Console: the indexed page count should fall towards your real page count, and impressions for your categories and products should hold or rise. If category impressions drop, check you didn’t noindex something that was earning traffic.
Which plugin settings control this?
Both major SEO plugins can handle it; the settings just live in different places:
- Yoast SEO: in Settings, set “Show in search results” per content type and taxonomy, and turn off author archives, date archives and media pages where they add nothing.
- Rank Math: under Titles & Meta, set robots meta to noindex per post type and taxonomy, and disable author and date archives on single-author shops.
- Both: check the sitemap settings afterwards so noindexed types aren’t still listed.
- WooCommerce itself: leave the default noindex on cart, checkout and account pages alone.
If you’d rather not touch the settings yourself, this clean-up is part of every WordPress SEO engagement we run, alongside technical SEO and speed.
