{"id":8762,"date":"2026-08-11T02:21:10","date_gmt":"2026-08-11T02:21:10","guid":{"rendered":"https:\/\/dextora.agency\/insights\/category-pages-and-filters-where-buyers-are-lost\/"},"modified":"2026-08-11T02:21:10","modified_gmt":"2026-08-11T02:21:10","slug":"category-pages-and-filters-where-buyers-are-lost","status":"publish","type":"insight","link":"https:\/\/dextora.agency\/en\/insights\/category-pages-and-filters-where-buyers-are-lost\/","title":{"rendered":"Category Pages and Filters: Where Stores Lose Buyers Before the Product"},"content":{"rendered":"<p>Category pages get less attention than the product pages they lead to and the checkout they feed, which is odd, because most shopping sessions spend more time on them than on either. They are also where a specific and expensive failure happens: a visitor who wanted something you stock leaves without ever seeing it, because the path from a hundred products to the right three was harder than closing the tab.<\/p>\n<p>Baymard&#8217;s product list and filtering benchmark, built from more than twenty-one thousand manually scored parameters across 170-plus leading retailers, rates <a href=\"https:\/\/baymard.com\/blog\/current-state-product-list-and-filtering\" target=\"_blank\" rel=\"noopener\">58% of desktop and 78% of mobile implementations<\/a> as mediocre or worse. The mobile figure is the one worth sitting with, since that is where most of the traffic is.<\/p>\n<h2>Filters fail in a small number of predictable ways<\/h2>\n<p>Filtering is not a hard problem technically. It fails for design reasons, and the same handful repeat across catalogues.<\/p>\n<table>\n<thead>\n<tr>\n<th>Failure<\/th>\n<th>What the shopper experiences<\/th>\n<th>Fix<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Generic facets everywhere<\/td>\n<td>&#8220;Sleeve length&#8221; offered on a page of shoes<\/td>\n<td>Category-specific facet sets, defined per branch of the tree<\/td>\n<\/tr>\n<tr>\n<td>No result counts<\/td>\n<td>Selecting a filter that leads to an empty page<\/td>\n<td>Show the count next to each value, and disable zeroes<\/td>\n<\/tr>\n<tr>\n<td>Applied filters invisible<\/td>\n<td>Confusion about why so few products are showing<\/td>\n<td>Persistent chips with individual removal<\/td>\n<\/tr>\n<tr>\n<td>Filters buried on mobile<\/td>\n<td>Scrolling past forty products to find the controls<\/td>\n<td>A sticky filter button that stays reachable<\/td>\n<\/tr>\n<tr>\n<td>Full page reload per selection<\/td>\n<td>Losing scroll position on every click<\/td>\n<td>Update in place, preserve position and history<\/td>\n<\/tr>\n<tr>\n<td>Sorting confused with filtering<\/td>\n<td>Sorting by price and expecting the range to narrow<\/td>\n<td>Separate the two visually and label them plainly<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<div class=\"accent-block\">\n<p>Result counts are the highest-value item on that list and the most frequently skipped. They convert filtering from a guessing game into a navigation aid: a shopper who can see that &#8220;waterproof&#8221; leaves four products and &#8220;water-resistant&#8221; leaves forty makes a different and better-informed choice, and does not hit a dead end.<\/p>\n<\/div>\n<h2>Desktop and mobile want different patterns<\/h2>\n<p>The instinct to build one filtering interaction and use it everywhere is the source of much of the mobile gap in the benchmark.<\/p>\n<p>On desktop, filters sitting in a persistent left column and applying immediately is the pattern that tests best. The results are visible while the controls are being used, so cause and effect are obvious and no confirmation step is needed.<\/p>\n<p>On mobile, the same immediacy is disorienting. The filter panel covers the results, so applying instantly means changing something the shopper cannot see. The pattern that works is a panel with an explicit apply button that states the outcome \u2014 &#8220;Show 24 results&#8221; \u2014 so the shopper knows what they are getting before the panel closes. The count on that button does most of the work.<\/p>\n<h2>The combination that returns nothing<\/h2>\n<p>Filters create empty result sets far more often than search does, because shoppers combine constraints without knowing the inventory. A dead end here is a self-inflicted loss: the visitor was engaged enough to specify exactly what they wanted.<\/p>\n<p>Three things make it survivable. Prevent the impossible combination where you can, by disabling values that would return nothing. When it happens anyway, say which constraint caused it rather than showing a generic empty page. And offer the nearest available set by relaxing the least important filter, with the relaxation stated explicitly rather than performed silently, because a shopper who cannot tell that their size filter was dropped will assume the results are wrong.<\/p>\n<p>This mirrors the zero-results problem in search, and the same discipline applies to both, which is covered from the query side in <a href=\"https:\/\/dextora.agency\/en\/insights\/ecommerce-site-search-what-customers-type\/\">what customers type into site search<\/a>.<\/p>\n<h2>How to decide which facets a category gets<\/h2>\n<p>Facet sets are usually inherited from whatever the platform generated out of product attributes, which is why shoe pages offer sleeve length. Deciding them deliberately takes an afternoon per category branch and draws on three sources you already have.<\/p>\n<ol>\n<li><strong>The search log.<\/strong> Attributes people type into the search box are attributes they want to filter by. If &#8220;waterproof&#8221; and &#8220;size 43&#8221; appear repeatedly as queries, they belong in the filter panel of that category, not only in the index.<\/li>\n<li><strong>Support questions before purchase.<\/strong> Every pre-sale question about a property is a filter that would have answered itself. These are already logged somewhere, usually in a helpdesk nobody exports.<\/li>\n<li><strong>Return reasons.<\/strong> Returns caused by the wrong attribute point at a decision the shopper could not make on the site. Compatibility and dimensions dominate this list in most catalogues.<\/li>\n<\/ol>\n<p>Then cut. A panel with fifteen facets is a panel nobody reads; four to seven, ordered by how often they are used rather than alphabetically, covers the great majority of real refinement. Attributes that matter to only a handful of products belong on those product pages, not in a filter that is empty for everything else.<\/p>\n<h2>Navigation is half of this problem<\/h2>\n<p>Filtering only starts once the shopper reaches the right category, and a surprising share of category page failures are actually menu failures. Two patterns cause most of them.<\/p>\n<p>The first is a menu built around internal structure rather than customer language: departments named after supplier divisions, or a hierarchy that mirrors the warehouse. The second is a mega menu so large that it becomes its own findability problem, particularly on mobile, where a three-level accordion is a worse tool than a search box.<\/p>\n<p>The practical test costs nothing: give five people outside the company a product to find and watch where they go first. If they open search instead of the menu, the menu is not doing its job, and no amount of filtering work below it will compensate.<\/p>\n<h2>The SEO problem hiding underneath<\/h2>\n<p>Faceted navigation generates URLs. A catalogue with six facets and a handful of values each can produce tens of thousands of crawlable combinations, most of them near-duplicates of one another, and all of them competing for the crawl attention your actual category pages need.<\/p>\n<p>The decision is not technical but editorial: which filtered views are pages worth having, and which are states of a page. A useful rule is that a combination deserves indexing only if people search for it as a concept and it has enough inventory to be a satisfying landing page. &#8220;Waterproof hiking boots&#8221; usually qualifies. &#8220;Waterproof hiking boots, size 43, blue, sorted by price descending&#8221; never does.<\/p>\n<p>Implementation follows from that decision: indexable combinations get static, readable URLs, a distinct title and a paragraph of their own copy. Everything else stays out of the index and out of the sitemap, and the sitemap should reflect what you decided rather than what the system can generate. The mechanics of checking this sit inside <a href=\"https:\/\/dextora.agency\/en\/insights\/technical-seo-checklist-20-points-diy\/\">the twenty-point technical checklist<\/a>.<\/p>\n<h2>A category page is also a landing page<\/h2>\n<p>For most retailers, category pages attract more search traffic than the homepage, and a visitor arriving from a search engine needs slightly different treatment from one who navigated internally.<\/p>\n<p>Three additions handle it without turning the page into an article. A short paragraph above or below the grid that says what the category contains and who it suits, written for a person rather than for a keyword count. The most useful filters surfaced as links rather than buried in a panel, so the common refinements are one click away and crawlable. And guidance where the choice is genuinely hard, such as a sizing note or a two-sentence explanation of the difference between two adjacent product types.<\/p>\n<h2>What to put in the grid, and how much of it<\/h2>\n<ul>\n<li><strong>Enough information to skip the product page.<\/strong> Price, key differentiating attribute, availability. A grid of images and names forces every comparison into a new tab.<\/li>\n<li><strong>Consistent image treatment.<\/strong> Mixed backgrounds and inconsistent crops make a catalogue look untrustworthy even when every individual photo is good.<\/li>\n<li><strong>A sensible default order.<\/strong> &#8220;Featured&#8221; that nobody maintains is usually worse than best-selling, and default order affects revenue more than most teams test.<\/li>\n<li><strong>Pagination or loading that preserves position.<\/strong> Infinite scroll that loses the shopper&#8217;s place on back-navigation is one of the most reliable ways to end a browsing session.<\/li>\n<li><strong>Restraint in the number of products per row on mobile.<\/strong> Two columns of legible cards beat three of unreadable ones, particularly on the <a href=\"https:\/\/dextora.agency\/en\/insights\/website-speed-on-low-end-devices-guide\/\">hardware most of your audience actually owns<\/a>.<\/li>\n<\/ul>\n<h2>What to measure<\/h2>\n<ol>\n<li><strong>Filter usage rate,<\/strong> and which facets get used. Unused facets are clutter with a maintenance cost.<\/li>\n<li><strong>Empty result rate after filtering,<\/strong> tracked separately from search. This is usually invisible and usually worse than expected.<\/li>\n<li><strong>Click-through from grid to product page,<\/strong> by category. A low rate points at the grid card, not at the products.<\/li>\n<li><strong>Depth reached before exit.<\/strong> If shoppers routinely leave after the first screen of results, the default sort order is the first thing to question.<\/li>\n<\/ol>\n<p>All four are cheap to collect and none of them appear in a standard ecommerce dashboard, which is why the category page tends to be managed by opinion. Where this work sits relative to everything else competing for a quarter is set out in <a href=\"https:\/\/dextora.agency\/en\/insights\/ecommerce-trends-what-actually-affects-sales-guide\/\">what actually affects sales and what is noise<\/a>.<\/p>\n<h2>The short version<\/h2>\n<p>Baymard rates 58% of desktop and 78% of mobile product list implementations mediocre or worse, and mobile is where the traffic is. Filters fail in six predictable ways, of which missing result counts is the most damaging and the easiest to fix. Desktop wants instant filtering in a persistent column; mobile wants a panel with an apply button that states the number of results. Empty filter combinations should be prevented where possible, explained when they happen, and relaxed explicitly rather than silently. Faceted URLs are an editorial decision before they are a technical one: index the combinations people search for as concepts, keep the rest out of the index and the sitemap. Treat the category page as a landing page with a short human paragraph and crawlable refinement links, put enough in each grid card to avoid a trip to the product page, and measure filter usage, empty results after filtering, grid click-through and exit depth, because none of them appear in a default dashboard.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Baymard rates 78% of mobile product list implementations mediocre or worse. The six ways filters fail, why desktop and mobile need different patterns, how to choose a facet set, and the faceted URL decision.<\/p>\n","protected":false},"author":5,"featured_media":8753,"template":"","insight_category":[154],"insight_tag":[199,172,160],"class_list":["post-8762","insight","type-insight","status-publish","has-post-thumbnail","hentry","insight_category-guides","insight_tag-e-commerce","insight_tag-seo","insight_tag-ui-ux-design"],"acf":[],"_links":{"self":[{"href":"https:\/\/dextora.agency\/en\/wp-json\/wp\/v2\/insight\/8762","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dextora.agency\/en\/wp-json\/wp\/v2\/insight"}],"about":[{"href":"https:\/\/dextora.agency\/en\/wp-json\/wp\/v2\/types\/insight"}],"author":[{"embeddable":true,"href":"https:\/\/dextora.agency\/en\/wp-json\/wp\/v2\/users\/5"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/dextora.agency\/en\/wp-json\/wp\/v2\/media\/8753"}],"wp:attachment":[{"href":"https:\/\/dextora.agency\/en\/wp-json\/wp\/v2\/media?parent=8762"}],"wp:term":[{"taxonomy":"insight_category","embeddable":true,"href":"https:\/\/dextora.agency\/en\/wp-json\/wp\/v2\/insight_category?post=8762"},{"taxonomy":"insight_tag","embeddable":true,"href":"https:\/\/dextora.agency\/en\/wp-json\/wp\/v2\/insight_tag?post=8762"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}