Layered navigation is the block of filters — price, color, size, brand — that lets a shopper cut a 2,000-product category down to the handful they might actually buy. On a large catalog it is not a nicety; it is the difference between a customer finding the product and a customer leaving. Yet on most Magento stores it is either half-configured (only price shows up), silently broken (filters appear but return nothing), or quietly leaking crawl budget through thousands of filtered URLs Google should never see.
The takeaway up front: layered navigation is driven by attribute settings plus category settings, powered by your search engine, and it needs a deliberate SEO decision about filtered URLs. Get those three right and it works. Skip any one and you get the broken states above. This guide walks each one.
How Layered Navigation Actually Works
A filter only appears if three conditions line up, and understanding them saves hours of guessing.
1. The attribute must be filterable. In Stores → Attributes → Product, open an attribute (say color) and set Use in Layered Navigation to Filterable (with results) — this shows only options that have matching products and their counts — or Filterable (no results), which shows every option regardless. Prefer with results; a filter listing "Purple (0)" wastes a click and erodes trust.
2. The attribute input type must be filterable. Only Dropdown, Multiple Select, and Price input types can filter. A text field or text area cannot, no matter what you set above. This is why a freeform "material" text attribute never shows as a filter — it has to be a dropdown with defined options.
3. The category must be an anchor. In Catalog → Categories, open the category, expand Display Settings, and set Anchor to Yes. An anchor category rolls up products from its subcategories and, critically, is the mode in which Magento renders the filter block. A non-anchor category shows a plain product grid with no filters. If a whole category tree is missing filters, an unchecked Anchor on a parent is the usual cause.
The counts and available options themselves come from your search engine. Since Magento 2.4, OpenSearch or Elasticsearch is mandatory, and layered navigation aggregations are computed there rather than in MySQL. If filters are stale, empty, or wrong after a catalog change, the fix is almost always reindexing (bin/magento indexer:reindex catalog_search) and confirming the search engine connection under Stores → Configuration → Catalog → Catalog Search.
Price Filters: Automatic vs. Manual Ranges
Price is a special case worth configuring on purpose. Under Stores → Configuration → Catalog → Catalog → Layered Navigation, the Price Navigation Step Calculation controls how ranges are built:
- Automatic (equalize price ranges) divides the price axis into even steps like $0–100, $100–200. Simple, but on a catalog with a few expensive outliers it produces awkward empty bands.
- Automatic (equalize product counts) builds ranges so each holds a similar number of products — usually the most useful default for a varied catalog.
- Manual lets you set a fixed step (e.g. 50) so ranges are always predictable.
Set the Display Price Interval as One Price option if you want "$100" instead of "$100–$200" when a range collapses to a single value. Small detail, but price is the filter shoppers reach for most, so it is worth making legible.
The SEO Trap Nobody Warns You About
Here is where layered navigation quietly damages stores. Every filter a shopper applies generates a URL: ?color=red, then ?color=red&size=m, then ?color=red&size=m&price=100-200. On a category with a handful of filterable attributes, the number of unique crawlable URL combinations runs into the thousands. Left unmanaged, three problems follow:
- Crawl budget waste. Googlebot spends its visits crawling near-identical filtered pages instead of your real category and product pages.
- Duplicate and thin content. Dozens of filtered URLs show overlapping product sets, splitting ranking signals.
- Index bloat. Filtered URLs land in the index and compete with the pages you actually want to rank.
Magento adds a canonical tag pointing filtered pages back to the base category if you enable it under Stores → Configuration → Catalog → Catalog → Search Engine Optimization → Use Canonical Link Meta Tag for Categories. That helps, but a canonical is a hint, not a wall — Google still crawls the URLs. The stronger pattern is to keep filtered combinations out of crawling and indexing entirely. In practice that means one of:
- A
robotsrule / meta robotsnoindex,followapplied to parameterized filter URLs, so they are followed for discovery but never indexed. - A well-scoped
robots.txtdisallow for the specific filter parameters that add no SEO value (though this blocks crawling, not indexing, so pair it carefully). - An SEO-focused layered navigation extension that rewrites a chosen filter into a clean, indexable URL (for example
/shoes/nikeas a real landing page) while noindexing the messy multi-filter combinations.
Decide this deliberately. A single brand or category filter can be a valuable indexable landing page; a three-attribute combination almost never is. Getting the rule right is part of the same discipline that makes the rest of your store design convert rather than merely exist.
Performance: Filters Are Not Free
Every filterable attribute adds work to the search-engine index and to each aggregation query. A store that marks thirty attributes filterable "just in case" pays for all thirty on every category render. Two rules keep it lean:
- Only make an attribute filterable if shoppers actually filter by it. Color, size, brand, and price earn their place. An internal "supplier code" does not.
- Reindex and cache properly. Layered navigation leans on the full-page cache like the rest of the storefront; a category that misses cache recomputes aggregations every time. If filtering feels slow, the problem is usually cache misses or an unhealthy search engine, not the feature itself — the same frontend and caching fundamentals in our Magento performance guide apply here.
Note that the old flat catalog setting, once recommended to speed up category pages, is deprecated in current Magento and can actively conflict with the search-engine-driven flow. Leave it off unless you have a specific, tested reason.
UX: Which Filters, In What Order
Configuration makes filters work; UX makes them useful.
- Lead with the filters shoppers think in. For apparel that is size, color, and price; for electronics it might be brand and a key spec. Put them at the top of the block.
- Use swatches for color and visual attributes instead of text links — they scan faster and reduce mis-clicks, especially on mobile.
- Show result counts (the Filterable (with results) setting) so shoppers know a filter leads somewhere before they click.
- Get mobile right. On a phone the filter block usually belongs behind a prominent "Filter" button that opens a drawer, not stacked above the product grid where it buries the products. This is a common gap in stock Luma styling and a frequent reason for a custom template or extension.
- Consider multi-select. Native Magento lets a shopper pick one value per attribute at a time by default; letting them select "red AND blue" is a real UX upgrade many stores want.
When an Extension Earns Its Keep
Native layered navigation covers the basics well. You start looking at an extension when you need AJAX filtering (updating results without a full page reload), "from–to" price sliders, multi-select filters, brand or category filters as visual blocks, or the SEO-friendly filter URLs described above. Those are real gains — but a layered navigation extension sits directly on your highest-traffic pages and touches search, indexing, and caching, so it is exactly the kind of module to scrutinize before installing. Run it through the same pre-install audit you'd use for any extension: check compatibility, test on staging, and measure the category-page load before and after.
FAQ
Why do my Magento filters not show up on a category page?
Almost always the category is not set as an anchor. Open the category under Catalog → Categories, expand Display Settings, and set Anchor to Yes. If filters still don't appear, confirm the attribute's Use in Layered Navigation is set to filterable and its input type is Dropdown, Multiple Select, or Price.
Why does a filter appear but return no products?
This usually means the search index is stale or the attribute is set to Filterable (no results), which shows options even when nothing matches. Reindex catalog search (bin/magento indexer:reindex catalog_search), verify the OpenSearch/Elasticsearch connection, and switch the attribute to Filterable (with results).
Should filtered URLs be indexed by Google?
Generally no, with a deliberate exception. Multi-filter combinations create near-duplicate, low-value pages that waste crawl budget and should be noindex,follow or canonicalized to the base category. A single high-value filter — a brand or subcategory — can be worth turning into one clean, indexable landing page.
Does layered navigation slow down my store?
Only if it's over-configured or the cache and search engine are unhealthy. Each filterable attribute adds aggregation work, so limit filters to attributes shoppers actually use, keep full-page cache effective, and make sure your search engine is properly connected and indexed.
Do I need an extension for Magento layered navigation?
Not for the basics — native filtering handles price, dropdown, and swatch attributes. Consider an extension when you need AJAX updates, price sliders, multi-select, visual brand filters, or SEO-friendly filter URLs, and vet it carefully because it sits on your busiest pages.
Next step
Layered navigation rewards precision: make the right attributes filterable, turn categories into anchors, keep the search engine indexed, decide deliberately what Google may crawl, and design the filter experience around how shoppers actually browse — especially on mobile. Configured with intent, it turns a sprawling catalog into a fast path to purchase; left on autopilot, it either hides your filters or quietly floods the index.
Ready to build a storefront shoppers can navigate fast? Explore Magetique to get started.