Product Selection & Sort Order for Category Pages
Which products a category page shows, and in what order, is a merchandising decision most stores never brief their SEO on. This is how default sort order shapes crawling and internal links, how to handle out-of-stock products within a listing, and how to keep sort-order URLs from becoming duplicate content.
A category page makes two decisions every time it renders: which products appear (selection) and in what order (sort). Selection affects content-quality signals and how far your internal links reach; sort order affects duplicate content (via ?sort= URL variants) and which products get crawled most reliably. The accuracy spine: Google explicitly names sort order (?order=price) as a duplicate-content case — canonicalize sort variants to the base view or block them, since pure sort has essentially zero standalone keyword demand. Pick one default sort as the canonical, indexed view; a diversity-based Featured/Relevance default (Baymard's research) usually serves both conversion and crawl goals. Out-of-stock products shouldn't lead the default sort — Mueller says stock isn't a normal-search ranking factor, but an OOS-heavy listing reads as low-value and wastes crawl/link equity. itemListOrder schema is descriptive only, with no ranking effect.
TL;DR — Every category page makes two quiet decisions: which products it shows, and in what order. Merchandising usually picks the order to sell more — but that same choice decides which products Google crawls most reliably and links to most. Two things to get right: don’t let out-of-stock products crowd the top of the page, and don’t let the “sort by” buttons create thousands of near-duplicateThe same or very similar primary content reachable at more than one URL. There's no general duplicate content penalty — the real costs are possible signal dilution, the wrong URL getting chosen, and less-efficient crawling. web addresses.
Two decisions hiding in one page
Product selection determines which items belong on a category page; ordering determines their default sequence. Evidence for this claim Google recommends navigational links from menus to categories and from category pages to products so crawlers can discover an ecommerce catalog. Scope: Google Search ecommerce site-structure guidance. Confidence: high · Verified: Google: Ecommerce site structure Search engines can only crawl products exposed through discoverable links, while faceted URLs require deliberate crawl controls. Evidence for this claim Faceted navigation can create very large URL spaces and should be managed deliberately to avoid inefficient crawling. Scope: Google Search guidance for faceted navigation; the right controls depend on whether filtered URLs need indexing. Confidence: high · Verified: Google: Managing faceted navigation
When you look at a category page — “running shoes,” “laptops under $500” — it feels like a fixed grid of products. It isn’t. Behind it are two choices:
- Selection — which products show up. All of them? Only the ones in stock? A hand-picked subset? Do out-of-stock items appear at all?
- Sort order — the sequence they appear in. The default sort (what a shopper sees before touching anything — usually called “Featured,” “Best Selling,” “Newest,” or “Price”), plus the alternate sort options they can switch to.
Almost every store sets these for one reason: selling more. That’s fine — but nobody usually checks the SEO side, and there is one.
Why the order matters for search
Search engines pay the most attention to what’s near the top of a page and on the first page of results. So the products in your default sort’s first row or two are the ones Google is most likely to crawl reliably and treat as important. If your default sort buries your best products on “page 6,” both shoppers and Google are less likely to reach them.
There’s a UX angle too. Research from the Baymard Institute foundA 302 (\"Found\") is a temporary redirect: it forwards users to a new URL while telling search engines the original URL should stay in the index. It's a weak canonicalization signal, not the zero-equity dead end of SEO folklore. that a “Best Selling” default can actually make a store’s whole catalog look narrower than it really is — because it clusters similar popular items at the top — and that can push shoppers to bounce. A more varied “Featured” or “Relevance” default tends to work better for both shoppers and search engines.
The two things that go wrong
1. Out-of-stock products leading the page. If the first thing a shopper (or Google) sees is a wall of “Sold Out” items, the page looks less useful. Out-of-stock products don’t sell, so putting them first wastes the most valuable spots on the page. The fix is usually simple: push out-of-stock items to the end of the default sort, or put them behind a “show out of stock” toggle. (What to do with the individual out-of-stock product page — keep it, redirectA redirect sends browsers and crawlers from a requested URL to a different one. An HTTP redirect specifically is a 3xx status code paired with a Location header; meta refresh and JavaScript redirects achieve a similar navigation without being a 3xx response themselves. Permanent redirects (301/308) are Google's signal the target should be canonical; temporary ones (302/303/307) aren't. it, or remove it — is a separate question.)
2. “Sort by” buttons creating duplicate addresses. When someone sorts by price,
the URL often changes to something like ?sort=price. That’s the same list of
products in a different order — but to a search engine it can look like a whole
separate page. Left unchecked, every sort option multiplies into near-duplicate
URLs. Your developer or platform usually controls this, but it’s worth knowing it
exists.
The simple checklist
- Don’t let out-of-stock products lead your default sort — demote them or hide them behind a toggle.
- Prefer a varied “Featured/Relevance” default over pure “Best Selling,” unless you have a specific reason not to.
- Make sure your best products aren’t buried deep in the sort where nobody reaches them.
- Keep “sort by” URLs from becoming indexable duplicates (a platform/developer setting).
Want the technical version — the exact ?order=price duplicate-content rule, a
robots.txtA plain-text file at the root of a host that tells crawlers which URLs they may and may not request. It controls crawling, not indexing — a blocked URL can still be indexed if it's linked from elsewhere. recipe, how out-of-stock demotion ties to crawl efficiency, and what
itemListOrder schema can and can’t do? Switch to the Advanced tab.
TL;DR — A category page makes two decisions with distinct SEO mechanics: selection (which products appear) drives content-quality signals and how far internal linksAn internal link is a hyperlink from one page on a website to another page on the same website. Internal links help search engines discover your pages and pass ranking signals (PageRank and anchor-text context) between them. reach; sort order (the sequence) drives duplicate contentThe same or very similar primary content reachable at more than one URL. There's no general duplicate content penalty — the real costs are possible signal dilution, the wrong URL getting chosen, and less-efficient crawling. and crawl-depth priority. Accuracy spine: Google explicitly names sort order (
?order=price) as a duplicate-content case — canonicalize sort variants to the base view or block them via robots.txtA plain-text file at the root of a host that tells crawlers which URLs they may and may not request. It controls crawling, not indexing — a blocked URL can still be indexed if it's linked from elsewhere./noindexNoindex is a directive that tells search engines to keep a page out of their index, so it won't appear in search results. It works only on pages a crawler can actually fetch — a page blocked in robots.txt can never be noindexed., because pure sort has essentially zero standalone keyword demand. Pick one default sort as the canonical, indexedStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed. view; a diversity-based “Featured/Relevance” default (Baymard’s research) usually serves conversion and crawl goals at once. Out-of-stock products shouldn’t lead the default sort — Mueller says stock isn’t a normal-search ranking factor, but an OOS-heavy listing reads as low-value and wastes the position-1 crawl/link advantage.itemListOrderschema is descriptive, not directive, and must match the visible order if used.
Two levers, two different SEO mechanics
Google recommends linking from menus to categories and from categories to products so crawlersA crawler — also called a spider or bot — is an automated program that fetches web pages, extracts their links, and queues new URLs to visit. Search engines use crawlers to discover and download content for their index. can discover the catalog. Evidence for this claim Google recommends navigational links from menus to categories and from category pages to products so crawlers can discover an ecommerce catalog. Scope: Google Search ecommerce site-structure guidance. Confidence: high · Verified: Google: Ecommerce site structure Filters and sort orders can create large URL spaces, so their crawl behavior should be designed separately from merchandising order. Evidence for this claim Faceted navigation can create very large URL spaces and should be managed deliberately to avoid inefficient crawling. Scope: Google Search guidance for faceted navigation; the right controls depend on whether filtered URLs need indexing. Confidence: high · Verified: Google: Managing faceted navigation
The reason this topic is worth its own page — separate from category page SEOCategory page SEO is the practice of optimizing an ecommerce listing page (also called a PLP or collection page) — the page that groups products under a classification like /shoes/running/ — so it ranks for broad commercial queries and routes crawlers and link equity to the products beneath it. generally and from faceted navigation — is that “product selection” and “sort order” are genuinely two different levers that break in two different ways:
- Selection (which products the listing includes) affects content-quality and completeness signals and internal-link reach. A default view full of out-of-stock or thin, near-duplicate items reads as lower-value; and the products you don’t surface prominently get fewer internal linksAn internal link is a hyperlink from one page on a website to another page on the same website. Internal links help search engines discover your pages and pass ranking signals (PageRank and anchor-text context) between them. from the category, so less importance signal flows to them.
- Sort order (the sequence of that set) affects duplicate contentThe same or very similar primary content reachable at more than one URL. There's no general duplicate content penalty — the real costs are possible signal dilution, the wrong URL getting chosen, and less-efficient crawling. and crawl
budget — via
?sort=URL variants — and crawl-depth priority — because what sits near the top of the default view, and on page 1 of paginationPagination splits a large set of content — product listings, blog archives, search results — across multiple sequentially numbered URLs. For SEO, each paginated page should be crawlable, indexable, and self-canonical; Google no longer uses rel=prev/next, but Bing still does., is what gets crawled most reliably.
This is a cross-functional blind spot. Merchandising picks the default sort for conversion; almost nobody briefs them on the SEO consequences of that same choice. The rest of this covers both sides.
Why sort order is an SEO issue at all
Sort order looks like pure UX — it’s just the same products in a different order. But
Google itself treats it as a duplicate-content problem. In its ecommerce
pagination guidance,
under the heading “Avoid indexingStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed. URLs with filters or alternative sort orders,”
Google gives the exact scenario: “you may support ?order=price on URLs to return
the same list of results ordered by price.” The recommendation: “To avoid indexing
variations of the same list of results, block unwanted URLs from being indexed with
the noindex robots meta tagThe robots meta tag is an HTML element in a page's head — <meta name=\"robots\" content=\"noindex\"> — that tells search engines how to index and serve that page. It's crawl-then-obey: a page blocked in robots.txt is never fetched, so the tag is never seen. or discourage crawlingCrawling is how search engines use automated bots (like Googlebot and Bingbot) to discover URLs and download pages. A page has to be crawlable to be indexed, but crawling on its own isn't a ranking factor. of particular URL patterns with
a robots.txtA plain-text file at the root of a host that tells crawlers which URLs they may and may not request. It controls crawling, not indexing — a blocked URL can still be indexed if it's linked from elsewhere. file.”
That’s a stronger duplicate-content case than a filter. A filter (color=red)
changes which products are in the set — it can capture real long-tail demand. A
sort variant doesn’t change the set at all; in Google’s own words it returns “the
same list of results” in a different sequence. So it’s rarely worth indexing.
Sort is an “active parameter.” In my URL parameters guide
I put sorting parameters in the active category — alongside filtering, paginationPagination splits a large set of content — product listings, blog archives, search results — across multiple sequentially numbered URLs. For SEO, each paginated page should be crawlable, indexable, and self-canonical; Google no longer uses rel=prev/next, but Bing still does.,
and search — meaning they change what the page presents and therefore need a
deliberate indexing decision. They’re not passive like tracking parameters you can
simply ignore: “You should avoid passive parameters like those used for tracking on
internal links.” A ?sort=price-asc URL isn’t passive — it needs a real call
(canonical to base, or noindexNoindex is a directive that tells search engines to keep a page out of their index, so it won't appear in search results. It works only on pages a crawler can actually fetch — a page blocked in robots.txt can never be noindexed. + robots.txt).
Crawl-depth interaction. Google’s ecommerce guidance is blunt that category pages are the on-ramp to your products — if they don’t link to all products, “GooglebotGooglebot is Google's web crawler — the software that fetches pages so Google can index and rank them. It comes in two variants, Googlebot Smartphone (primary, under mobile-first indexing) and Googlebot Desktop, and runs an evergreen Chromium renderer. might not find all of your products by crawling alone.” But under pagination, only the first page (or first N items) is reliably crawled. So the default sort order directly decides which products get that crawl-depth advantage. A “Price: Low to High” default can bury flagship, high-margin, or high-search-demand products on page 6, where both users and crawlersA crawler — also called a spider or bot — is an automated program that fetches web pages, extracts their links, and queues new URLs to visit. Search engines use crawlers to discover and download content for their index. are less likely to reach them. A demand-relevant default concentrates the products that matter near page 1.
Choosing a default sort: merchandising vs. SEO (they mostly align)
The good news is these goals usually point the same way.
Baymard Institute’s research argues for a diversity-based “Relevance/Featured” default over pure Best-Selling. Their finding: a best-selling default tends to cluster similar high-volume items at the top, which can make the catalog look narrower than it is and drive abandonment — and they document that a large share of sites fail to use diversity-based sorting. Pamela Hazelton’s older-but-evergreen Practical Ecommerce piece makes the parallel CRO case: a best-selling-first default can surface low-rated or high-price items right at the top, and “when the shopper is presented with bad choices right out of the gate, he’s apt to bail immediately.”
Here’s the SEO echo nobody connects: the “above the fold” set is also the set getting the most reliable crawl and the most internal-link equity. If that set is narrow or unrepresentative, you’re under-serving the rest of the catalog twice — once in the UI, once in the crawl. A representative default does the opposite: it surfaces a broader slice of the catalog to Google, which is healthier for demonstrating topical breadth and for spreading link equity across products.
When a different default is justified: genuine cases exist — a clearance category where “Price: Low to High” is the intent, a “New Arrivals” collection where “Newest” is the whole point. The rule isn’t “always Featured”; it’s “pick the default that represents the catalog and front-loads products worth crawling, and have a reason if it isn’t diversity-based.”
Out-of-stock products within the listing
This is a distinct decision from what you do with an out-of-stock product’s own page (redirectA redirect sends browsers and crawlers from a requested URL to a different one. An HTTP redirect specifically is a 3xx status code paired with a Location header; meta refresh and JavaScript redirects achieve a similar navigation without being a 3xx response themselves. Permanent redirects (301/308) are Google's signal the target should be canonical; temporary ones (302/303/307) aren't., 404, or keep it live — I’ve written about that separately, and Google’s guidance generally favors keeping the URL live over blanket 404s). Here the question is narrower: should out-of-stock items appear in the default category sort at all, and if so, where?
Google hasn’t issued a listing-level rule on this. What it has said, via John Mueller, is that stock levels aren’t a normal-search ranking factor — asked whether stock levels impact product ranking, he said it “seems unrelated, at least for normal search.” And separately, on out-of-stock handling, he noted that when Google sees a product is out of stock “we will assume it’s more like a soft 404A soft 404 is a URL that returns a success status code (usually 200 OK) even though the page is empty, missing, or shows a 'not found' message. It isn't a status code a server sends — it's a label search engines apply after comparing the response code against the rendered content, and they treat the page like a 404 for indexing. error, where we will drop that URL,” while stressing that “even if one product goes out of stock, the rest of the site’s rankings are not affected by that.”
So there’s no “in-stock = ranking boost” mechanism. But the case for demoting out-of-stock items in the listing is about efficiency and quality, not a direct ranking factor:
- Wasted crawl/link equity. Out-of-stock items don’t convert. Giving them the position-1-to-N spots hands your best crawl-depth and internal-link advantage to pages that can’t transact.
- Content-quality signal. A listing that’s mostly out-of-stock reads as thinner and less useful — the same low-value concern behind the soft-404 risk Mueller described for individual OOS pages, now at the listing level.
- The “don’t mislead on availability” principle. Merchant Center already expects clear, non-misleading availability treatment on product pages; extend the same spirit to listings by pushing OOS to the back of the default sort or behind a toggle.
The practical recommendation: demote out-of-stock items to the end of the default sort, or place them behind a “show out of stock” toggle — don’t let them lead, and don’t deindex the products wholesale. Removal from the index is the product-page question, not the listing-order one.
Managing sort-order URLs technically
Once you’ve picked a default, everything else is a variant. Treat sort variants like filter noise:
-
Pick one default/base view as the canonical, indexed page. All other sort permutations are non-canonical variants — full stop.
-
Canonicalize sort variants to the base, or block the parameter. Because a sort variant is “the same list of results,” it almost never has independent keyword demand — nobody searches “shoes sorted by price ascending.” (Contrast a filter facet like “red running shoes,” which can. This is why sort is a cleaner block/canonicalize case than filters — see the near-zero standalone demand for pure sort in the faceted-nav long-tail research.)
-
Canonical alone doesn’t save crawl budgetThe number of URLs an engine will crawl in a timeframe.. As I note in the URL parametersThe `?key=value` data tacked onto the end of a URL after a question mark — used for tracking, sessions, filtering, sorting, and search — and one of the biggest sources of duplicate URLs and wasted crawling in SEO. guide, “a canonical tagA rel=\"canonical\" annotation — in the HTML <head> or an HTTP Link header — that tells search engines which URL is the preferred version of duplicate or near-duplicate content. can help consolidate signals to a chosen URL but requires each additional version of a page to be crawled” — Google still has to fetch the
?sort=URL to see the tag. For high-URL-count catalogs, pair the canonical with a robots.txt block on the sort parameter. A pattern in the spirit of Google’s own filter examples:User-agent: Googlebot Disallow: /*?*sort= Allow: /*?sort=featured$(An adaptation of Google’s filter-blocking pattern for a
sort=parameter — not a verbatim Google example.) -
404 empty combinations. When a sort parameter combines with a filter that returns zero results, Google’s faceted-nav guidance is to “return an HTTP
404status code when a filter combination doesn’t return results” rather than serve a blank indexable shell. -
Bing has a lever Google no longer offers. Google’s URL Parameters tool is gone (2022), but Bing’s URL Normalization feature in Bing Webmaster ToolsMicrosoft's free portal for monitoring and improving how a site appears in Bing search — the peer to Google Search Console, plus IndexNow instant indexing, richer backlink data, and keyword volumes. Because Bing's index also feeds Microsoft Copilot, it doubles as a window into AI-search visibility. is still active and lets you register
sortas a parameter that doesn’t change content meaningfully. Fabrice Canel’s framing is that “relying on canonical tag is not necessarily the perfect solution to fix all your duplicate content problems” — so on Bing, normalize the sort parameter as an additional signal.
Schema and sort order: what itemListOrder can and can’t do
If you mark up a category listing with ItemList, the type has an itemListOrder
property — but keep its role straight:
- Descriptive, not directive.
itemListOrderdescribes the ordering type; it has no documented ranking influence. It won’t make products rank better. - It must match the visible order if used. Schema.org itself notes “the order of
elements in your mark-up is not sufficient for indicating the order or elements
[sic]. Use ListItem with a ‘position’ property in such cases” — and Google’s
structured-data rules require parity between markup and visible content. If your
ItemListclaims one order and the page shows another, that’s a mismatch, not a signal. - No Product rich resultsRich results (formerly 'rich snippets') are enhanced search listings — stars, images, prices, breadcrumbs, video thumbnails, and more — that Google and Bing build from structured data. They're a display feature, not a ranking factor, and eligibility never guarantees they'll show. on listings anyway. Google’s merchant listing structured
data guidance
is explicit: “Product rich results only support pages that focus on a single product
(or multiple variants of the same product). For example, ‘shoes in our shop’ is not a
specific product,” and Google states it recommends “focusing on adding markup to
product pages instead of pages that list products or a category of products.” So
ItemList/itemListOrderis a machine-readability aid at best on a listing page — never a substitute for a sound sort-URL strategy.
Where this sits
Product selection and sort order is one slice of ecommerce site structure. The full
listing-page lifecycle — URL structureURL structure is how the parts of a web address — scheme, domain, path, query string, and fragment — are organized and formatted. It mostly affects crawling, usability, and how engines understand a page, not rankings directly., pagination after rel=prev/next died, thin-
content handling, structured dataStructured data is a standardized way of labeling page content (using the schema.org vocabulary in JSON-LD, Microdata, or RDFa) so search engines can understand its meaning. It's not a direct ranking factor — its value is rich results and entity understanding. — is in category page SEOCategory page SEO is the practice of optimizing an ecommerce listing page (also called a PLP or collection page) — the page that groups products under a classification like /shoes/running/ — so it ranks for broad commercial queries and routes crawlers and link equity to the products beneath it..
The filter/facet URL crawl-management mechanics are in faceted navigation.
Product-page-level out-of-stock treatment (redirect/404/keep-live) is its own
decision. This page is the narrower question of which products show, and in what
order — and why that’s a merchandising call with an SEO tail.
AI summary
A condensed take on the Advanced version:
- A category page makes two decisions: selection (which products appear — in-stock filter, curated subset, out-of-stock inclusion) and sort order (the sequence). They break differently: selection drives content-quality signals and internal-link reach; sort order drives duplicate contentThe same or very similar primary content reachable at more than one URL. There's no general duplicate content penalty — the real costs are possible signal dilution, the wrong URL getting chosen, and less-efficient crawling. and crawl-depth priority.
- Google names sort order as a duplicate-content case. Its own example is
?order=pricereturning “the same list of results” — recommendnoindexor robots.txtA plain-text file at the root of a host that tells crawlers which URLs they may and may not request. It controls crawling, not indexing — a blocked URL can still be indexed if it's linked from elsewhere.. Sort is an active parameter (Patrick’s taxonomy), not a passive one you can ignore. - Pick one default sort as the canonical, indexedStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed. view. All other sort permutations are non-canonical variants. Pure sort has essentially zero standalone keyword demand, so canonicalize to base or block — a cleaner case than filters.
- A diversity-based Featured/Relevance default (Baymard research) usually serves both conversion and crawl goals; pure Best-Selling can make a catalog look narrower than it is and buries a representative slice. The “above the fold” set is also the most reliably crawled/linked set.
- Don’t let out-of-stock products lead the default sort. Mueller: stock isn’t a normal-search ranking factor, and one OOS product doesn’t hurt site-wide rankings — but an OOS-heavy listing reads as low-value and wastes crawl/link equityPageRank is Google's original recursive link-graph algorithm: a page's score depends on the scores of the pages linking to it, and in the published model each page's score is split across its outbound links (the simplified version: links are weighted votes). Google says it's evolved since launch but still part of its core ranking systems.. Demote to the end or behind a toggle; don’t deindexDeindexing means getting a URL to stop appearing in Google's search results. There's no single delete button — the right method depends on whether you own the page, whether removal is temporary or permanent, and whether the content should still exist. the products (that’s the product-page question).
- Canonical alone doesn’t save crawl budgetThe number of URLs an engine will crawl in a timeframe. — Google still crawls the
?sort=URL to see the tag; pair with robots.txtA plain-text file at the root of a host that tells crawlers which URLs they may and may not request. It controls crawling, not indexing — a blocked URL can still be indexed if it's linked from elsewhere. on big catalogs. Bing’s URL Normalization tool is an extra lever Google no longer offers. itemListOrderschema is descriptive only — no ranking effect, must match visible order, and no Product rich resultsRich results (formerly 'rich snippets') are enhanced search listings — stars, images, prices, breadcrumbs, video thumbnails, and more — that Google and Bing build from structured data. They're a display feature, not a ranking factor, and eligibility never guarantees they'll show. on multi-product listings regardless.
Official documentation
Primary-source documentation, mostly Google’s ecommerce specialty section.
Google — ecommerce specialty
- Pagination and incremental page loading — the section “Avoid indexingStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed. URLs with filters or alternative sort orders,” including the
?order=priceduplicate-content example and thenoindex/robots.txtA plain-text file at the root of a host that tells crawlers which URLs they may and may not request. It controls crawling, not indexing — a blocked URL can still be indexed if it's linked from elsewhere. recommendation. - Designing a URL structure for ecommerce sites — minimize duplicate URLs; use
?key=valueparameters (so?sort=price-asc, not?price-asc). - Managing crawling of faceted navigation URLs — the infinite-URL-space problem, robots.txtA plain-text file at the root of a host that tells crawlers which URLs they may and may not request. It controls crawling, not indexing — a blocked URL can still be indexed if it's linked from elsewhere. patterns, and 404-ing empty filter combinations. Sort is one of the parameter types this covers.
- Include structured data relevant to ecommerce — overview of which structured-data types apply to ecommerce sites (
Product/ProductGroupamong them). - Merchant listing structured data — the explicit rule that Product rich resultsRich results (formerly 'rich snippets') are enhanced search listings — stars, images, prices, breadcrumbs, video thumbnails, and more — that Google and Bing build from structured data. They're a display feature, not a ranking factor, and eligibility never guarantees they'll show. only support pages focused on a single product, and Google’s recommendation to markup product pages rather than pages that list products or a category of products.
Google — supporting docs
- Schema.org — ItemList — the
itemListOrderproperty and the note that markup order alone doesn’t indicate order (useListItemposition). - Temporarily pause or disable an online business — Google’s preference for keeping product URLs live/indexable over removing them outright (context for the out-of-stock decision).
- Google Merchant Center — availability attribute — the “don’t mislead on availability” principle, extended here to listing UX.
Bing / Microsoft
- Bing Webmaster Guidelines — general crawlingCrawling is how search engines use automated bots (like Googlebot and Bingbot) to discover URLs and download pages. A page has to be crawlable to be indexed, but crawling on its own isn't a ranking factor./indexingStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed. guidance; Bing still honors
rel=prev/rel=next, unlike Google. - Better than canonical: URL Normalization — Fabrice Canel on Bing’s URL Normalization feature, where a
sortparameter can be registered as ignorable.
Quotes from the source
On-the-record statements from Google and Bing. Each link is a deep link that jumps to the quoted passage on the source page where the page allows it.
Google docs — sort order & duplicate contentThe same or very similar primary content reachable at more than one URL. There's no general duplicate content penalty — the real costs are possible signal dilution, the wrong URL getting chosen, and less-efficient crawling.
- “you may support
?order=priceon URLs to return the same list of results ordered by price.” — Google Search Central, ecommerce paginationPagination splits a large set of content — product listings, blog archives, search results — across multiple sequentially numbered URLs. For SEO, each paginated page should be crawlable, indexable, and self-canonical; Google no longer uses rel=prev/next, but Bing still does. docs. Jump to quote - “To avoid indexingStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed. variations of the same list of results, block unwanted URLs from being indexed with the
noindexrobots meta tagThe robots meta tag is an HTML element in a page's head — <meta name=\"robots\" content=\"noindex\"> — that tells search engines how to index and serve that page. It's crawl-then-obey: a page blocked in robots.txt is never fetched, so the tag is never seen. or discourage crawlingCrawling is how search engines use automated bots (like Googlebot and Bingbot) to discover URLs and download pages. A page has to be crawlable to be indexed, but crawling on its own isn't a ranking factor. of particular URL patterns with a robots.txtA plain-text file at the root of a host that tells crawlers which URLs they may and may not request. It controls crawling, not indexing — a blocked URL can still be indexed if it's linked from elsewhere. file.” Jump to quote - “Minimize the number of alternative URLs that return the same content to avoid Google making more requests to your site than needed.” Jump to quote
- “Faceted navigationFaceted navigation (faceted search, product filtering) lets visitors refine a list of products or content by attribute — price, color, size, brand, rating. The SEO problem: each filter combination can spawn a distinct crawlable URL, turning a small catalog into millions of near-duplicate pages that waste crawl budget and dilute ranking signals.’s most common implementation, which is based on URL parametersThe `?key=value` data tacked onto the end of a URL after a question mark — used for tracking, sessions, filtering, sorting, and search — and one of the biggest sources of duplicate URLs and wasted crawling in SEO., can generate infinite URL spaces which harms the website in a couple ways” — the first of which the doc labels Overcrawling, because crawlersA crawler — also called a spider or bot — is an automated program that fetches web pages, extracts their links, and queues new URLs to visit. Search engines use crawlers to discover and download content for their index. can’t tell a faceted URL is useless without crawlingCrawling is how search engines use automated bots (like Googlebot and Bingbot) to discover URLs and download pages. A page has to be crawlable to be indexed, but crawling on its own isn't a ranking factor. it first. Jump to quote
John Mueller, Google Search Advocate — out-of-stock & stock levels
- “And when it comes to the normal search results, it can happen that we when see that something is out of stock, we will assume it’s more like a soft 404A soft 404 is a URL that returns a success status code (usually 200 OK) even though the page is empty, missing, or shows a 'not found' message. It isn't a status code a server sends — it's a label search engines apply after comparing the response code against the rendered content, and they treat the page like a 404 for indexing. error, where we will drop that URL from the search results as well.”
Relayed via Search Engine Journal’s coverage of a ~April 2022 Search Central office-hours; the office-hours recording is the primary source.
- “The other thing that’s also important to note here is that even if one product goes out of stock, the rest of the site’s rankings are not affected by that.”
Same source as above (Search Engine Journal coverage of the office-hours session).
- Asked on Twitter/X whether stock levels impact ranking, John Mueller replied: “that
seems unrelated, at least for normal search. It might impact product search but he is
not sure if it will or won’t – but normal web search, it should not impact.”
Reported by Search Engine Roundtable (Barry Schwartz), published Jan 5, 2022, quoting Mueller’s Jan 4, 2022 reply on Twitter/X. Confirmed verbatim on a direct re-fetch with a browser user agentA user agent is the HTTP request header a client (browser, crawler, or bot) sends to identify itself. For crawlers, a short user-agent token — a substring of that string — is what robots.txt rules actually target. (the default fetch UA gets a 403 here). Coverage.
Schema.org — ItemList
- “The order of elements in your mark-up is not sufficient for indicating the order or elements [sic]. Use ListItem with a ‘position’ property in such cases.” Jump to quote
Google — merchant listing structured dataStructured data is a standardized way of labeling page content (using the schema.org vocabulary in JSON-LD, Microdata, or RDFa) so search engines can understand its meaning. It's not a direct ranking factor — its value is rich results and entity understanding.
- “Product rich resultsRich results (formerly 'rich snippets') are enhanced search listings — stars, images, prices, breadcrumbs, video thumbnails, and more — that Google and Bing build from structured data. They're a display feature, not a ranking factor, and eligibility never guarantees they'll show. only support pages that focus on a single product (or multiple variants of the same product). For example, ‘shoes in our shop’ is not a specific product.” Google adds: “We recommend focusing on adding markup to product pages instead of pages that list products or a category of products.” Jump to quote
Fabrice Canel, Microsoft Bing
- “relying on canonical tagA rel=\"canonical\" annotation — in the HTML <head> or an HTTP Link header — that tells search engines which URL is the preferred version of duplicate or near-duplicate content. is not necessarily the perfect solution to fix all your duplicate contentThe same or very similar primary content reachable at more than one URL. There's no general duplicate content penalty — the real costs are possible signal dilution, the wrong URL getting chosen, and less-efficient crawling. problems.” — on Bing’s URL Normalization feature.
Bing Webmaster Blog, April 2012. Source.
Which sort-URL treatment should this get?
Run each sort or filter variant through this:
1. Is this the default/base view (no sort parameter, or your chosen default sort)? → IndexStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed. it. This is your one canonical view. Everything below is about the other views.
2. Does this variant change which products are in the set, or only the order?
- Only the order (a pure
?sort=variant) → go to step 3. - Changes the set (a filter like
color=red) → that’s a faceted-nav decision, not a sort decision — see faceted navigation.
3. Does this sort view have real, independent search demand?
- No (almost always — nobody searches “sorted by price ascending”) → go to step 4.
- Yes (genuinely rare for pure sort) → give it a real URL, unique title/H1An H1 tag is the HTML `<h1>` element that marks a page's primary heading — the big visible headline at the top of the content. It helps users, search engines, and screen readers understand what the page is about., and a self-canonical, and confirm the demand with keyword research first.
4. How big is the catalog / URL count?
- Small–medium → canonicalize the sort variant to the base view. Good enough.
- Large / high-URL-count → canonicalize and block the sort parameter in robots.txtA plain-text file at the root of a host that tells crawlers which URLs they may and may not request. It controls crawling, not indexing — a blocked URL can still be indexed if it's linked from elsewhere. (canonical alone still costs a crawl per variant).
5. Does the sort combine with a filter to return zero results?
→ Return a 404, not a blank indexable page.
Where should out-of-stock products go in the listing?
Is this about the product’s own page, or its place in the listing?
- The product’s own URL (redirectA redirect sends browsers and crawlers from a requested URL to a different one. An HTTP redirect specifically is a 3xx status code paired with a Location header; meta refresh and JavaScript redirects achieve a similar navigation without being a 3xx response themselves. Permanent redirects (301/308) are Google's signal the target should be canonical; temporary ones (302/303/307) aren't. / 404 / keep live) → that’s the separate out-of-stock product-page decision; Google generally favors keeping the URL live.
- Its position in the category listing → continue.
Is the category mostly out-of-stock?
- Yes → the listing risks reading as thin/low-value. Consider filtering OOS out of the default view (with a “show out of stock” toggle) so the default surfaces available products.
- No → demote OOS items to the end of the default sort. Don’t let them lead; don’t deindexDeindexing means getting a URL to stop appearing in Google's search results. There's no single delete button — the right method depends on whether you own the page, whether removal is temporary or permanent, and whether the content should still exist. the products.
Rule of thumb: removal from the index is a product-page question. Position in the default sort is the listing question. Keep them separate.
The mental models
1. Two levers, two failure modes. Selection (which products) breaks as content-quality and internal-link reach. Sort order (the sequence) breaks as duplicate contentThe same or very similar primary content reachable at more than one URL. There's no general duplicate content penalty — the real costs are possible signal dilution, the wrong URL getting chosen, and less-efficient crawling. and crawl-depth. When a listing underperforms, ask which lever is off before you touch anything.
2. The default is the one that gets crawled and linked. Whatever sits near the top of your default sort — and on page 1 of paginationPagination splits a large set of content — product listings, blog archives, search results — across multiple sequentially numbered URLs. For SEO, each paginated page should be crawlable, indexable, and self-canonical; Google no longer uses rel=prev/next, but Bing still does. — is the set Google crawls most reliably and treats as most important. Your default sort choice is a crawl-priority and link-distribution choice, whether or not anyone framed it that way.
3. Merchandising-optimal ≈ SEO-optimal (usually). A diversity-based Featured/Relevance default represents the catalog well — good for conversion (no false “they don’t have what I want”) and good for the crawl (a broader slice surfaced to Google). They mostly point the same way; treat conflict as the exception that needs a reason.
4. Sort is an active parameter — it needs a decision. Sorting parameters change presentation, so they can’t be ignored like tracking params. Every sort variant gets an explicit call: canonical to base, or noindexNoindex is a directive that tells search engines to keep a page out of their index, so it won't appear in search results. It works only on pages a crawler can actually fetch — a page blocked in robots.txt can never be noindexed. + robots.txtA plain-text file at the root of a host that tells crawlers which URLs they may and may not request. It controls crawling, not indexing — a blocked URL can still be indexed if it's linked from elsewhere.. Never “leave it and hope.”
5. IndexStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed. vs. position are different questions for OOS. Should the product’s page stay in the index? → product-page decision (usually keep live). Where does it sit in the listing? → demote it. Answering one doesn’t answer the other.
Product selection & sort-order audit
A pass to confirm the listing surfaces the right products, in the right order, without spawning duplicates:
Selection — which products show
- Out-of-stock products are not leading the default sort (demoted to the end or behind a “show out of stock” toggle).
- Categories that are mostly OOS don’t render an available-product-free default view.
- OOS products aren’t being wholesale hidden from the indexStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed. — that’s the product-page decision, handled separately (Google generally favors keeping URLs live).
Sort order — the sequence
- One default/base sort is chosen as the canonical, indexed view.
- The default surfaces a representative, available slice of the catalog (not all-cheapest or one clustered best-seller subtype).
- High-demand / flagship products aren’t buried deep in the sort under heavy paginationPagination splits a large set of content — product listings, blog archives, search results — across multiple sequentially numbered URLs. For SEO, each paginated page should be crawlable, indexable, and self-canonical; Google no longer uses rel=prev/next, but Bing still does..
Sort-order URLs
-
?sort=/?order=variants are canonicalized to the base view (or blocked). - On large catalogs, sort parameters are also blocked in robots.txtA plain-text file at the root of a host that tells crawlers which URLs they may and may not request. It controls crawling, not indexing — a blocked URL can still be indexed if it's linked from elsewhere. (canonical alone still costs a crawl per variant).
- Sort parameters use
?key=valueformat (?sort=price-asc, not?price-asc). - Sort + filter combos that return zero results return a
404. - (Bing) The
sortparameter is registered in URL Normalization in Bing Webmaster ToolsThe free, first-party consoles search engines give site owners — Google Search Console and Bing Webmaster Tools — to see how their pages are crawled, indexed, and ranked, and to fix problems. The legacy name is 'webmaster tools.'.
Schema
- If
ItemList/itemListOrderis used, it matches the visible order. - No
Productrich-result markup on the multi-product listing.
Product selection & sort order — cheat sheet
Sort-URL variant → action
| Variant | Action |
|---|---|
| Default / base view (no sort, or chosen default) | IndexStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed. — this is the one canonical view |
Pure sort variant (?sort=price), no unique demand | Canonical to base (+ robots.txtA plain-text file at the root of a host that tells crawlers which URLs they may and may not request. It controls crawling, not indexing — a blocked URL can still be indexed if it's linked from elsewhere. on big catalogs) |
| Sort variant with genuine independent demand (rare) | Index + unique URL/title/H1An H1 tag is the HTML `<h1>` element that marks a page's primary heading — the big visible headline at the top of the content. It helps users, search engines, and screen readers understand what the page is about. + self-canonical |
| Sort + filter returning zero results | 404 |
| Filter that changes the product set | Not a sort call → see faceted navigationFaceted navigation (faceted search, product filtering) lets visitors refine a list of products or content by attribute — price, color, size, brand, rating. The SEO problem: each filter combination can spawn a distinct crawlable URL, turning a small catalog into millions of near-duplicate pages that waste crawl budget and dilute ranking signals. |
Out-of-stock within a listing
| Situation | Do | Don’t |
|---|---|---|
| OOS item in a mostly-in-stock category | Demote to end of default sort | Let it lead the page |
| Category that’s mostly OOS | Filter OOS out of default + “show OOS” toggle | Render an all-sold-out default view |
| The OOS product’s own page | Handle separately (usually keep live) | Confuse index removal with listing position |
Default sort choice
| Goal | Better default | Watch out |
|---|---|---|
| Most catalogs | Featured / Relevance (diversity-based) | Pure “Best Selling” can look narrower than the catalog is |
| Clearance | Price: Low to High | Only when low price is the intent |
| New Arrivals | Newest | Buries evergreen flagships if used site-wide |
Fast facts
- Google’s named sort duplicate-content example:
?order=price→ “the same list of results.” - Sort = active parameter (needs a decision), not passive/ignorable.
- Canonical alone doesn’t save crawl budgetThe number of URLs an engine will crawl in a timeframe. — Google still crawls the variant.
- Stock levels: not a normal-search ranking factor (Mueller).
itemListOrder: descriptive only, must match visible order, no rich result.- Bing: URL Normalization can flag
sortas ignorable (Google’s URL ParametersThe `?key=value` data tacked onto the end of a URL after a question mark — used for tracking, sessions, filtering, sorting, and search — and one of the biggest sources of duplicate URLs and wasted crawling in SEO. tool is gone).
Common mistakes
IndexingStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed. every sort option to “capture more long-tail.” A pure sort variant shows the identical product set in a different order — there’s essentially no search demand for “shoes sorted by price ascending.” IndexingStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed. sort permutations only manufactures duplicate contentThe same or very similar primary content reachable at more than one URL. There's no general duplicate content penalty — the real costs are possible signal dilution, the wrong URL getting chosen, and less-efficient crawling. and burns crawl budgetThe number of URLs an engine will crawl in a timeframe., with zero keyword upside. Canonicalize to the base view.
Assuming Best-Selling is always the safest default. Baymard’s research shows best-selling defaults can make a catalog look narrower than it is; Practical Ecommerce shows they can surface low-rated or high-price items first and drive bounce. A diversity-based Featured/Relevance default is the researched recommendation for most catalogs.
Letting out-of-stock products lead the default sort. OOS items don’t convert, so leading with them wastes the position-1 crawl/link advantage and makes the listing read as thinner. Demote them — don’t front-load them.
DeindexingDeindexing means getting a URL to stop appearing in Google's search results. There's no single delete button — the right method depends on whether you own the page, whether removal is temporary or permanent, and whether the content should still exist. OOS products to “clean up” the listing. That conflates two decisions. Position in the listing (demote) is separate from index status (usually keep the product’s URL live). Blanket removal loses pages Google generally prefers you keep.
Treating sort like a passive/tracking parameter. Sort is an active parameter — it changes presentation — so it needs a real indexing decision. You can’t normalize it away the way you can a tracking tokenA token is the smallest unit of text (or image/audio/video) an LLM processes — roughly 4 characters, or about ¾ of an English word. A context window is the maximum number of tokens (input plus output) a model can hold at once, like its short-term memory..
Relying on canonical alone on a huge catalog. Canonical consolidates signals but still requires Google to crawl every sort variant to see the tag. On high-URL-count catalogs, pair the canonical with a robots.txtA plain-text file at the root of a host that tells crawlers which URLs they may and may not request. It controls crawling, not indexing — a blocked URL can still be indexed if it's linked from elsewhere. block on the sort parameter for actual crawl-budget protection.
Marking up itemListOrder and expecting a ranking lift.
itemListOrder is descriptive, has no documented ranking effect, must match the
visible order, and there are no Product rich resultsRich results (formerly 'rich snippets') are enhanced search listings — stars, images, prices, breadcrumbs, video thumbnails, and more — that Google and Bing build from structured data. They're a display feature, not a ranking factor, and eligibility never guarantees they'll show. on multi-product listings anyway.
Schema doesn’t substitute for a sound sort-URL strategy.
Patrick's relevant free tools
- SEO Incident Simulator — Practice thirty deterministic technical SEO incident investigations — indexability, crawl controls, redirects, sitemaps, markup, caching, DNS, bot verification, rendering, hreflang, and faceted navigation — with clearly labeled fixture evidence and Find → Fix → Verify handoffs.
- Faceted Navigation Auditor — Classify supplied parameter URLs, surface crawl traps, and advise on facet controls.
- Canonicalization Checker — Audit HTML and HTTP canonical signals, test the canonical target, and identify observable conflicts that can cause Google to choose a different URL.
Tools for auditing selection & sort order
- Google Search ConsoleA free Google service that reports how a site performs in Google Search and surfaces problems with how Google crawls, indexes, and serves it. It's first-party data straight from Google — but you don't need it to appear in results. — Page Indexing reportThe Google Search Console report (formerly Index Coverage) showing how many of your URLs are indexed vs. not indexed, and grouping the not-indexed ones by reason. — watch for
?sort=/?order=parameter URLs piling up in the excluded/duplicate buckets, the clearest sign your sort variants are leaking into the indexStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed.. - GSC — Crawl StatsA Google Search Console report (under Settings) that shows how Google has crawled your site over the last 90 days — total requests, download size, and average response time, broken down by response code, file type, Googlebot type, and purpose. It's only available for root-level properties (a Domain property or a URL-prefix property verified at the site's root). — see whether GooglebotGooglebot is Google's web crawler — the software that fetches pages so Google can index and rank them. It comes in two variants, Googlebot Smartphone (primary, under mobile-first indexing) and Googlebot Desktop, and runs an evergreen Chromium renderer. is spending disproportionate time on sort-parameter URLs instead of your real product pages.
- Bing Webmaster ToolsMicrosoft's free portal for monitoring and improving how a site appears in Bing search — the peer to Google Search Console, plus IndexNow instant indexing, richer backlink data, and keyword volumes. Because Bing's index also feeds Microsoft Copilot, it doubles as a window into AI-search visibility. — URL Normalization — register the
sortparameter as ignorable on Bing, a lever Google’s deprecated URL ParametersThe `?key=value` data tacked onto the end of a URL after a question mark — used for tracking, sessions, filtering, sorting, and search — and one of the biggest sources of duplicate URLs and wasted crawling in SEO. tool no longer offers. - Ahrefs Site Audit — surface parameter-URL explosions, crawl depthCrawl depth usually means click depth — how many clicks it takes to reach a page from the homepage by following internal links. It can also mean a crawler setting that limits how many levels deep a crawl goes before it stops., and internal-link counts per page, so you can see which products the current default sort is actually front-loading (and which are buried).
- Screaming Frog SEO Spider — crawl the category tree, spot products only reachable deep in paginationPagination splits a large set of content — product listings, blog archives, search results — across multiple sequentially numbered URLs. For SEO, each paginated page should be crawlable, indexable, and self-canonical; Google no longer uses rel=prev/next, but Bing still does., and audit which sort URLs are canonicalized vs. indexable.
- Ahrefs Keywords Explorer — confirm (it almost never does) whether any sort view has real standalone demand before you’d ever consider indexingStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed. it separately.
Diagnosing product-selection and sort problems
Page Indexing fills with sort URLs
Likely cause: the category UI emits crawlable ?sort= or ?order= links, while canonicals, robots rules, or internal-link behavior do not contain them. Fix: choose one default indexedStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed. view, canonicalize sort variants to it, and block the narrow sort pattern on catalogs where crawl waste is material. Confirm that valuable filter and paginationPagination splits a large set of content — product listings, blog archives, search results — across multiple sequentially numbered URLs. For SEO, each paginated page should be crawlable, indexable, and self-canonical; Google no longer uses rel=prev/next, but Bing still does. URLs remain unaffected.
Googlebot spends heavily on sort permutations
Likely cause: every category exposes several crawlable orderings and canonical tagsA rel=\"canonical\" annotation — in the HTML <head> or an HTTP Link header — that tells search engines which URL is the preferred version of duplicate or near-duplicate content. alone still require those URLs to be fetched. Fix: remove crawlable links to unnecessary sort states and add tested robots.txt controls for the actual parameter forms. Confirm the request share declines in logs or Crawl StatsA Google Search Console report (under Settings) that shows how Google has crawled your site over the last 90 days — total requests, download size, and average response time, broken down by response code, file type, Googlebot type, and purpose. It's only available for root-level properties (a Domain property or a URL-prefix property verified at the site's root)..
Flagship products stay deep in the crawl
Likely cause: the default sort prioritizes a narrow merchandising rule or unstable signals that bury strategically important products behind paginationPagination splits a large set of content — product listings, blog archives, search results — across multiple sequentially numbered URLs. For SEO, each paginated page should be crawlable, indexable, and self-canonical; Google no longer uses rel=prev/next, but Bing still does.. Fix: evaluate a representative Featured/Relevance default and add intentional category or navigation links where appropriate. Confirm crawl depthCrawl depth usually means click depth — how many clicks it takes to reach a page from the homepage by following internal links. It can also mean a crawler setting that limits how many levels deep a crawl goes before it stops. and internal-link counts improve without harming the shopper experience.
Out-of-stock products dominate page 1
Likely cause: availability is absent from the sort logic or stale inventory data drives the listing. Fix: demote unavailable items or place them behind a “show out of stock” control while leaving product-page index decisions separate. Confirm the rendered default page leads with purchasable products.
Prove the sort controls work
Test a sort URL’s canonical and crawl treatment
Test to run: request representative base, ?sort=, and ?order= URLs, inspect their canonical tagsA rel=\"canonical\" annotation — in the HTML <head> or an HTTP Link header — that tells search engines which URL is the preferred version of duplicate or near-duplicate content., and test each against the live robots rules. Expected result: the base view returns 200 and self-canonicals; sort variants point to the base and match the approved crawl rule. Failure interpretation: template or robots patterns differ from the real URL shape. Monitoring window: response, canonical, and robots results are immediate; Google’s selected canonical changes after recrawling. Rollback trigger: the base category, paginationPagination splits a large set of content — product listings, blog archives, search results — across multiple sequentially numbered URLs. For SEO, each paginated page should be crawlable, indexable, and self-canonical; Google no longer uses rel=prev/next, but Bing still does., or a demand-backed facet becomes blocked or non-canonical.
Test the default product order
Test to run: render representative categories with the production inventory feed and record the first page of product links, availability, and crawl depthCrawl depth usually means click depth — how many clicks it takes to reach a page from the homepage by following internal links. It can also mean a crawler setting that limits how many levels deep a crawl goes before it stops.. Expected result: the approved default appears consistently, available products lead, and flagship items are not unintentionally buried. Failure interpretation: cachingCaching stores a copy of a page or resource — in a browser, a CDN edge node, or a search crawler's own cache — so it can be served again without regenerating or re-downloading it. It isn't a direct ranking factor, but it feeds page speed and crawl efficiency., personalization, stale inventory, or conflicting merchandising rules are overriding the default. Monitoring window: immediate after cache expiry or purge. Rollback trigger: the release removes relevant inventory from page 1 or materially harms the store’s validated merchandising goal.
Test empty sort-and-filter combinations
Test to run: request known impossible combinations from the catalog rules. Expected result: each returns a real 404 rather than an indexable empty listing. Failure interpretation: the template returns a generic 200 shell for no-result states. Monitoring window: immediate. Rollback trigger: valid low-inventory combinations are incorrectly classified as empty.
Product-selection and sort-order metrics
Sort URL footprint
Metric: count and share of ?sort= and ?order= URLs in Google’s crawl and Page IndexingThe Google Search Console report (formerly Index Coverage) showing how many of your URLs are indexed vs. not indexed, and grouping the not-indexed ones by reason. data. What it tells you: whether optional orderings are creating duplicate URL overhead. How to pull it: classify Search ConsoleA free Google service that reports how a site performs in Google Search and surfaces problems with how Google crawls, indexes, and serves it. It's first-party data straight from Google — but you don't need it to appear in results. Page IndexingStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed. exports and verified botA crawler — also called a spider or bot — is an automated program that fetches web pages, extracts their links, and queues new URLs to visit. Search engines use crawlers to discover and download content for their index. logs by parameter. Benchmark / realistic range: compare with the site’s approved one-default-view strategy and its own baseline; catalog size determines the raw count. Cadence: monthly and after listing-template releases.
Flagship product crawl depth
Metric: crawl depthCrawl depth usually means click depth — how many clicks it takes to reach a page from the homepage by following internal links. It can also mean a crawler setting that limits how many levels deep a crawl goes before it stops. and internal-link count for the products the business expects category pages to prioritize. What it tells you: whether the default sort and navigation actually surface important inventory. How to pull it: crawl from the homepage and join URLs with the current flagship or priority-product list. Benchmark / realistic range: define the acceptable depth by the site’s hierarchy and compare with non-priority products; do not invent a universal click-depth threshold. Cadence: after merchandising changes and monthly.
Page-one availability mix
Metric: share of products in the default first page that are currently purchasable. What it tells you: whether unavailable inventory is consuming the listing’s strongest shopper and crawlerA crawler — also called a spider or bot — is an automated program that fetches web pages, extracts their links, and queues new URLs to visit. Search engines use crawlers to discover and download content for their index. positions. How to pull it: extract default category links and join them to the authoritative inventory feed. Benchmark / realistic range: establish a baseline by category and season; clearance and archival categories require different expectations. Cadence: daily for volatile inventory, weekly otherwise.
Test yourself: Product Selection & Sort Order
Five quick questions on which products a category page shows, in what order, and the SEO consequences. Pick an answer for each, then check.
Resources worth your time
My writing
- How Should You Handle Out-of-Stock Products? It Depends — my framework for the OOS product-page decision (redirectA redirect sends browsers and crawlers from a requested URL to a different one. An HTTP redirect specifically is a 3xx status code paired with a Location header; meta refresh and JavaScript redirects achieve a similar navigation without being a 3xx response themselves. Permanent redirects (301/308) are Google's signal the target should be canonical; temporary ones (302/303/307) aren't./404/keep-live), the separate question from where OOS items sit in a listing.
- URL Parameters: A Complete Guide for SEOs — where I classify sorting parameters as active parameters that need a real indexingStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed. decision, and note canonical still costs a crawl per variant.
- Faceted Navigation: Definition, Examples & SEO Best Practices — the filter/facet URL-management deep dive (I reviewed it); the long-tail-demand framing is why pure sort is a cleaner block case than filters.
My speaking
- How Search Works (SlideShare) — my walkthrough of crawlingCrawling is how search engines use automated bots (like Googlebot and Bingbot) to discover URLs and download pages. A page has to be crawlable to be indexed, but crawling on its own isn't a ranking factor., renderingTurning HTML, CSS, and JavaScript into the final visual page and DOM., indexingStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed., and ranking, the pipeline that decides which products in a default sort actually get seen. (Standing disclaimer: “This is my understanding of systems… not going to be 100% complete or accurate.”)
From around the industry
- Always Sort Product Lists by Diversity-Based “Relevance” (Kathryn Reeves, Baymard Institute) — the rigorous UX case against a pure best-selling default and for a diversity-based one.
- Default Category Sorts Can Harm Conversions (Pamela Hazelton, Practical Ecommerce) — the CRO argument that a bad default surfaces low-rated/high-price items and drives early bounce.
- Avoid indexing URLs with filters or alternative sort orders (Google Search Central) — the official
?order=priceduplicate-content guidance. - Google: Out-Of-Stock Products May Impact Search Visibility (Search Engine Journal) — coverage of Mueller’s soft-404 and “rest of the site unaffected” statements on out-of-stock products.
- Managing crawling of faceted navigation URLs (Google Search Central) — the infinite-URL-space problem and the 404-empty-combinations rule that sort+filter combos fall under.
- Better than canonical: URL Normalization (Fabrice Canel, Bing) — Bing’s still-active lever for flagging a
sortparameter as ignorable.
Product Selection & Sort Order
Product selection and sort order are the two decisions a category page makes every time it renders — which products appear (in-stock filter, curated subset, out-of-stock inclusion), and in what sequence they appear (the default sort plus alternate sort options) — and both carry SEO consequences for crawling, internal linking, and duplicate content.
Related: Category Page SEO, Faceted Navigation, Ecommerce SEO, Canonicalization
Product Selection & Sort Order
Product selection & sort order refers to two related but distinct decisions a category (or collection) page makes every time it renders: (1) which products appear in the list — all in-stock items, out-of-stock items demoted or hidden, or a curated subset — and (2) in what sequence they appear, meaning the default sort (often “Featured,” “Relevance,” “Best Selling,” “Newest,” or “Price”) plus the alternate sort options a shopper can switch to.
Both decisions affect SEO in two separate ways. CrawlabilityCrawlability is how well search engine crawlers can discover, access, and fetch a site's pages. A crawlability issue is any technical condition — blocked access, broken links, server failures, or bloated URL inventory — that stops pages from reaching the index. and indexability: sort-order URL variants (like ?sort=price or Google’s own ?order=price example) return the same product set in a different sequence, so they create duplicate-content and crawl-budget problems if left indexable; and if the highest-demand products sit deep in a “Price: Low to High” default under heavy paginationPagination splits a large set of content — product listings, blog archives, search results — across multiple sequentially numbered URLs. For SEO, each paginated page should be crawlable, indexable, and self-canonical; Google no longer uses rel=prev/next, but Bing still does., they get crawled less reliably and receive less internal-link equityPageRank is Google's original recursive link-graph algorithm: a page's score depends on the scores of the pages linking to it, and in the published model each page's score is split across its outbound links (the simplified version: links are weighted votes). Google says it's evolved since launch but still part of its core ranking systems.. Content quality: a default view that surfaces mostly out-of-stock or thin, near-duplicateThe same or very similar primary content reachable at more than one URL. There's no general duplicate content penalty — the real costs are possible signal dilution, the wrong URL getting chosen, and less-efficient crawling. items looks worse to both users and Google’s helpfulness signals than one that surfaces available, well-differentiated products first.
This is a narrower angle than general category page SEOCategory page SEO is the practice of optimizing an ecommerce listing page (also called a PLP or collection page) — the page that groups products under a classification like /shoes/running/ — so it ranks for broad commercial queries and routes crawlers and link equity to the products beneath it. (the full listing-page lifecycle) and faceted navigationFaceted navigation (faceted search, product filtering) lets visitors refine a list of products or content by attribute — price, color, size, brand, rating. The SEO problem: each filter combination can spawn a distinct crawlable URL, turning a small catalog into millions of near-duplicate pages that waste crawl budget and dilute ranking signals. (filter/facet URL management). The one-liner: the default sort order — and which products it surfaces first — is a merchandising decision with SEO consequences, shaping which products get crawled and linked to most, whether out-of-stock items dilute the page’s usefulness, and whether sort-driven URL variants create duplicate-content problems.
Related: Category Page SEO, Faceted Navigation, Ecommerce SEO, Canonicalization
Build-time retrieval analysis plus live signals for this exact article. The automatic chunk report includes a deterministic readiness score and is ready without a model download.
Search Console
sampleGA4 traffic (28d)
sampleCloudflare traffic (7d)
sampledCrUX field data (28d, phone)
sampleGoogle NLP entities
localChangelog
Updated Jul 19, 2026.
Editorial summary and recorded change details.Summary
Re-verified every cited Google/schema.org/Bing source directly (not the packet, which was screened synthetic); fixed a quote from Google's faceted-navigation doc that no longer matches the live page, corrected a schema.org ItemList quote to match its actual (typo'd) wording, and replaced a miscited source for the 'no Product rich results on listing pages' claim with the Google doc that actually states it.
Change details
- Before
Quoted Google's faceted-navigation doc as saying infinite URL spaces 'harms the website through overcrawling.'AfterCorrected the quote to match the live page ('harms the website in a couple ways,' with overcrawling as the first of two named harms) and updated the deep-link fragment so it actually anchors. - Before
Quoted schema.org's ItemList page as saying markup order 'is not sufficient for indicating the order of elements.'AfterCorrected the second half of the quote to match the source's actual (typo'd) text, 'the order or elements,' flagged [sic]. -
Replaced the citation for 'Google doesn't support Product rich results on multi-product listings' — the previously cited ecommerce structured-data overview doesn't state this — with Google's merchant-listing structured-data doc, which does, and added its exact quote to the Official Docs and Quotes lenses.
-
Upgraded the John Mueller stock-levels quote's sourcing note: retried the Search Engine Roundtable source with a browser user agent (it 403s on a default fetch) and confirmed the quote verbatim, replacing the prior 'unverified paraphrase' hedge; also identified the original statement as a Twitter/X reply, not an office-hours transcript.
Full comparison unavailable — no prior snapshot was archived for this revision.