Category Page SEO
Category pages (PLPs, collection pages) are usually the highest-leverage and most technically dangerous pages on an ecommerce store. This is how to rank them, handle pagination after rel=prev/next died, decide which faceted URLs to index, add content without keyword-stuffing, and route crawlers to every product.
1 evidence signal on this page
- Related live toolFaceted Navigation Auditor
A category page (PLP, collection page) groups products under a classification and usually does two jobs: rank for broad commercial queries and route crawlers and link equity to the products beneath it. The technical traps are the same ones that make ecommerce hard — faceted navigation spawning near-infinite URLs, and pagination. The accuracy spine for 2026: rel=prev/next is dead (Google, 2019), so don't canonical paginated pages back to page 1 — let each page be indexed on its own or point to a 'view all'. Category pages that are only a product grid can be hard to rank, but Google's line (Mueller) is that extra text is helpful, not required — and a keyword-stuffed footer blob is the wrong way to add it. The GSC URL Parameters tool is gone (2022); control parameters with robots.txt and canonicals instead.
TL;DR — A category page (also called a PLP or collection page) is a list of products grouped together — like “men’s running shoes.” These pages are often your biggest moneymakers in search because they match the broad things people type when they’re shopping. The job is to get the page itself to rank and make sure Google can reach every product on it. The two things that trip people up: the filter/sort buttons quietly 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, and a page that’s only a grid of products with no context can be hard to rank.
What a category page is
When you shop online, you usually land on one of two kinds of page:
- A product page — one single item (one specific pair of shoes).
- A category page — the list of items, like “running shoes” or “laptops under $500.” You’ll also hear these called PLPs (product listing pages) or, on Shopify, collection pages.
Category pages sit in the middle of your site: homepage → category → product. They matter a lot for SEO because they match the broad searches people make when they’re still deciding (“running shoes”) rather than the exact-product searches (“Nike Pegasus 41 size 10”). Broad searches have way more volume, so a category page that ranks can pull in a lot of shoppers.
The two jobs a category page does
- Rank for the category search. When someone Googles “running shoes,” you want your running-shoes page to show up.
- Pass visitors and Google down to the products. The category page is how Google finds your individual products in the first place — it follows the links on the page. If a product isn’t linked from anywhere crawlable, Google may never see it. Evidence for this claim Googlebot generally discovers ecommerce products through crawlable links from category pages. Scope: Feeds and sitemaps can aid discovery but do not replace a crawlable site structure. Confidence: high · Verified: Google: Ecommerce site structure
The two things that go wrong
1. Too many web addresses. Those handy filter and sort buttons (“sort by price,” “show only red, size 10”) each create a new URL behind the scenes. A store with a few thousand products can quietly create hundreds of thousands of these filtered URLs — most of them near-duplicates of each other. Google doesn’t have unlimited time to crawl your site, so all those junk URLs can crowd out your real pages. (The full topic is 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. — it has its own deep dive.) Evidence for this claim Faceted navigation can generate very large URL spaces and cause overcrawling. Scope: Risk depends on whether filter states create crawlable URLs and links. Confidence: high · Verified: Google: Managing faceted navigation
2. The “empty” category page. If your category page is nothing but a grid of products with no words on it, Google can have a hard time understanding and ranking it. A short, genuinely helpful intro — a sentence or two about what’s in the category — helps. But don’t dump a giant wall of keyword text at the bottom that no shopper will ever read. Google’s own people call that keyword stuffing, and it’s the wrong move.
The simple checklist
- Give the category a clear, descriptive URL (
/shoes/running/) and a title that includes the category name. - Make sure every product is reachable by a normal link from the category (or a linked “next page”).
- Add a short, useful intro if the products alone don’t make the topic obvious.
- Don’t let filter/sort buttons create a crawlable mess (your developer or platform usually controls this).
- Add breadcrumbsBreadcrumbs are a secondary navigation trail (Home > Category > Page) that shows where a page sits in a site's hierarchy. They create internal links that pass PageRank, and when marked up with BreadcrumbList structured data they can drive the path Google shows in desktop search results. so both shoppers and Google can see where the page sits.
Want the technical version — 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. after rel=prev/next died, which filtered
URLs to 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. block, and the 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. that actually matters? Switch to
the Advanced tab.
TL;DR — Category pages are the highest-leverage and most technically dangerous pages on a store: they rank for the broad commercial queries and they route crawl + PageRankPageRank 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. to your products. The accuracy spine for 2026:
rel=prev/nextis dead (Google, March 2019) — don’t canonical paginated pagesPagination 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. back to page 1 (that hides everything on pages 2+); let each page self-canonical, or point them at a “view all” page if you have one. 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. is the core threat — block the noise (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.), 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. the signal (real demand). The GSCA 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. 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 (April 2022) — use 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. and canonicals. Thin product-only pages can be hard to rank, but Mueller’s line is that extra content is helpful, not required — and a keyword-stuffed footer blob is the wrong way to add it.BreadcrumbListis the 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. that matters; do not put Product rich-result markup on a multi-product listing.
Why category pages are the leverage point
A category-page wireframe highlights four SEO-relevant zones: concise introductory copy, controlled filter and sort URLs, crawlable product links, and pagination with unique URLs, self-canonicals, and real links to the next page.
© Patrick Stox LLC · CC BY 4.0 ·
On most stores, category pages are simultaneously the highest-value and the most fragile pages you own. They’re high-value because they match the broad commercial queries — “running shoes,” “laptops under $500” — which carry far more volume than any single product query. And they’re fragile because every category page is also a crawl-and-link-equity distribution node: Google reaches your product pages largely by following the links on your category pages. Google says this directly: “If category pages don’t include direct links to all products in a category, 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 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. alone.” Evidence for this claim Google warns that products may not be found by crawling when category pages do not link directly to them. Scope: Use crawlable anchor links and pagination or load-more implementations Google can follow. Confidence: high · Verified: Google: Ecommerce site structure
So a category page is doing two jobs at once — ranking for its own query, and serving as the on-ramp to everything beneath it. Most of the SEO work below is about not breaking either one.
Faceted navigation — the thing most likely to hurt you
A faceted URL branches to four outcomes. Sort, tracking, and redundant filter combinations are blocked from crawling. Low-demand but navigable combinations canonicalize to the base category. Combinations backed by real search demand become optimized, self-canonical landing pages. Empty or nonsensical combinations return 404.
© Patrick Stox LLC · CC BY 4.0 ·
The filter and sort UI on top of a category page is 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., and in its common URL-parameter form it’s the single biggest source of crawling problems on the web. Google’s framing is blunt: unbounded faceted URL spaces harm a site in two ways. Overcrawling, because “the 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. will typically access a very large number of faceted navigation URLs before the crawlers’ processes determine the URLs are in fact useless,” and slower discovery, because “if crawling is spent on useless URLs, the crawlers have less time to spend on new, useful URLs.” Evidence for this claim Google documents infinite faceted URL spaces as a source of overcrawling and wasted resources. Scope: Google recommends preventing crawl when faceted URLs do not need to be indexed. Confidence: high · Verified: Google: Managing faceted navigation Gary Illyes has put faceted navigation at roughly half of all overcrawl issues reported to Google, and described the accidental version vividly — “exploding your URL space from a balmy 1000 URLs to a scorching 1 million.”
I won’t fully relitigate facets here — faceted navigation has its own deep dive — but the category-page decision is worth stating crisply: block the noise, index the signal.
- Block (robots.txt): sort-order variants (
?sort=price), session/tracking parameters, and filter combinations that just re-slice the same products. Google endorses this directly: “Oftentimes there’s no good reason to allow crawling of filtered items… instead, allow crawling of just the individual items’ pages along with a dedicated listing page that shows all products without filters applied.” - Canonical to the base category: low-search-demand filter combos you want navigable but not separately indexed. Note canonical is the slower-acting tool — Google says it “may, over time, decrease the crawl volume” — because each variant still has to be crawled before the signal lands.
- Index + optimize: filter combinations with genuine search demand (e.g. a “red running shoes” facet that people actually search). Those deserve a real URL, a unique title and H1, a sentence of unique copy, and a self-referencing canonical. Do the keyword research first — don’t index facets on a hunch.
- 404 the dead ends: return a
404for empty or nonsensical filter combinations so they don’t accumulate as crawlable junk.
Paste a representative set of category URLs to separate filter, sort, pagination, tracking, and unknown parameters with my free Faceted Navigation Auditor Free
- Export or crawl a representative sample of parameterized category URLs.
- Classify the parameter names before writing robots, canonical, or noindex rules.
- Use search demand, server logs, and index coverage to make the final per-pattern decision; the tool does not crawl or observe Google.
A note on the deprecated control: the Search ConsoleGoogle's free tool for monitoring crawling, indexing, and search performance. 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 (sunset April 2022). Google handles parameters automatically now and said only about 1% of the tool’s configurations were doing anything useful. If you were relying on it to tame facets, that lever no longer exists — robots.txt and canonicals are the replacement.
Pagination in 2026 — what actually works
This is the section with the most outdated advice floating around, so here’s the accuracy spine:
rel=prev/next is dead. Google confirmed in March 2019 that it had silently
stopped using the tags years earlier: “Google no longer uses these tags, although
these links may still be used by other search engines.” Do not implement
rel=prev/next as your 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. solution — it does nothing for Google. (It’s
cheap to keep for Bing and others, but it’s not the strategy.)
Do NOT canonical paginated pages back to page 1. This is the mistake that quietly deletes half your catalog from the index. Google’s canonical-mistakes post is explicit: “Specifying a rel=canonical from page 2 (or any later page) to page 1 is not correct use of rel=canonical.” If you do this, the products that only appear on pages 2+ never get indexed. Each paginated page should self-canonical — Google: “Don’t use the first page of a paginated sequence as the canonical page.”
The current model is one of two patterns:
- Each paginated page is indexed on its own merits. Give each page a unique URL
(
?page=2, not a#fragment — “Google ignores fragment identifiers”), a self-referencing canonical, and a sequential<a href>link to the next page so 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. can crawl the chain: “Include links from each page to the following page using<a href>tags.” - A “view all” page as the canonical, if you have one and it loads acceptably. When a single view-all page exists, point the paginated component pages at it. This only works when view-all is genuinely usable — don’t force a 10,000-product page to load for the sake of it.
Infinite scrollInfinite scroll is a loading pattern where content appears automatically as a user scrolls, instead of via numbered pages. Because Googlebot doesn't scroll or click, indexable infinite scroll needs real per-chunk URLs (paginated loading) that update via the History API — otherwise deep content may never be crawled, or worse, get merged into the wrong page. / load-more needs proper JavaScript SEOMaking sure search engines can crawl, render, and index content that depends on JavaScript.: a real paginated URL
behind each “page” of results, plus sitemapsA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing. or a Merchant Center feed as a
discovery backstop so products aren’t trapped behind a scroll event. And return a
404 for empty paginated results rather than serving a blank indexable shell.
URL structure
Two patterns, pick one and commit:
- Top-level —
/laptops/. Maximum proximity to the homepage (a hair more link equity), but it competes with everything else at the root and gets unwieldy at scale. - Parent + child —
/electronics/laptops/. More descriptive, reinforces hierarchy, scales cleanly. This is what most large catalogs use, and it’s the pattern this site uses for clusters generally.
Restructuring later means redirectsA 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., so the commitment matters more than the choice.
Beyond the path: use ?key=value parameters (“Use ?key=value URL parameters
rather than ?value, where possible”), never put the same parameter twice
(“Googlebot may ignore one of the values otherwise”), and keep
session/tracking parameters off your 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. (“Avoid internally linking to
temporary parameters, such as session-IDs, tracking codes, user-relative values”).
Keep the URL identical across your internal links, sitemap, and 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..
One more URL-level rule worth baking in: an empty category should noindex or
404 — Google: “If a category has no items, use a 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 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.. If
your site detects that a category has become empty… consider returning a 404.”
The “thin category” problem — content without stuffing
Here’s where the advice gets nuanced, and where a lot of stores overcorrect into keyword stuffing. The accurate position:
A category page that is only a product grid with no context can be hard for Google to rank. Mueller, March 2019: “When the ecommerce category pages don’t have any other content at all, other than links to the products, then it’s really hard for us to rank those pages.”
But extra content is helpful, not required. Mueller again, on whether the product names alone can carry it: “If the names of the products are clear enough to us to understand… then it’s clear that this is a list of running shoes. You don’t need to put in extra text there.” And on word counts: “We don’t have any limits. There’s no limit… you have to have some information on a page so that we understand what the topic is. But that’s generally very little information.”
The failure mode is the keyword-stuffed footer blob. Mueller calls it what it is: “From our point of view that’s essentially keyword stuffing. So that’s something which I would try to avoid.” His guidance on the right way: “I’d try to stick to really informative content and put that in places where you think that users will be able to see it.”
So the practical rule:
- Add content only where it earns its place — a short, genuinely useful intro (a couple of sentences answering a purchase-decision question), a buying guide for head-term categories with real informational demand, or an FAQ shoppers actually ask.
- Put it where users see it (top of the page, integrated), not a hidden wall at the bottom.
- A small amount of duplicated boilerplate across subcategories is fine — Mueller: “If you’re talking about a very small amount of text then having that duplicated is absolutely no problem.”
I’ll note the honest tension: plenty of SEOs keep adding footer text because it keeps working in their tests — the community’s standing retort is “I’ll stop doing it when it stops working.” My take: that’s a fragile bet against a documented spam signal. If you’re going to add content, make it the kind a shopper would actually read.
Internal linking — the on-ramp job
Category pages are PageRankPageRank 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. distribution nodes, so treat the links as load-bearing:
- Link to all products in the category (or paginate so they’re all reachable via
<a href>). If you genuinely can’t, a sitemap or Merchant Center feed is the fallback — but on-page links are the primary mechanism. - Use real
<a href>links, not JS click handlers: “Use<a href>tags when creating links to other content. Don’t use JavaScript events on other HTML DOM elements for navigation.” - Link count signals importance. Google: “The more links a page has to it within a site, the higher the relative importance.” Link your best categories from the homepage and from relevant content; link best-sellers up from higher in the hierarchy.
- BreadcrumbsBreadcrumbs are a secondary navigation trail (Home > Category > Page) that shows where a page sits in a site's hierarchy. They create internal links that pass PageRank, and when marked up with BreadcrumbList structured data they can drive the path Google shows in desktop search results. in both the UI and as
BreadcrumbListschema reinforce hierarchy and give Google clean anchor-text context.
Title tags, meta descriptions, H1
- Title: include the category name (your primary keyword). Templates like
[Category] — [Brand]or[Category]: [N] Products — [Brand]work. For paginated pages you can leave titles as-is (Google tries to recognize sequences) or append— Page N. - Meta descriptionsThe meta description is an HTML head tag — `<meta name=\"description\" content=\"…\">` — that suggests a short summary of the page for the search snippet. It's not a Google ranking factor, and Google rewrites it the majority of the time, but a good one can still lift click-through.: programmatic generation is fine and encouraged at scale — lean on purchase-decision language (price range, number of products, brands).
- H1: parallel the title; one clean H1 is semantically tidiest, though multiple H1s won’t tank you per Mueller.
Structured data
BreadcrumbList— yes. This is the structured data that matters for category pages: it helps Google “understand the hierarchy of pages on your site” and drives breadcrumb display in the SERP. Google’s guidance is to mark up “a typical user path to a page, instead of mirroring the 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..”- Product rich-result markup — no. Don’t put
Productrich-results markup on a multi-product listing page; Google’s 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. support single-product pages, not listings. CollectionPage/ItemList— optional. No native Google rich result today, but they can aid machine-readability of the list.FAQPagecan be worth it if you have genuinely useful, naturally integrated Q&A.
Monitoring
- GSC 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 a ballooning count of parameter/facet URLs in the excluded buckets; that’s your facet strategy leaking.
- Crawl Stats — if Googlebot is spending disproportionate time on parameter URLs, tighten robots.txt or canonicals.
- Rich Results Test / URL Inspection — validate
BreadcrumbListand confirm how a category page actually renders and indexes. - Site Audit — 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., orphaned products, internal-link count per page.
Where this sits
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. is one piece of ecommerce site structure. The facet decisions above are covered in full in faceted navigation; for the page type on the other end of the link — the individual product page — see product page SEOProduct page SEO is the practice of optimizing an individual product detail page (PDP) so it ranks in organic search and earns rich results. It blends unique product copy, structured data, variant canonicalization, image SEO, and customer reviews — but the structured data earns rich results and eligibility for free product listings, it doesn't make the page rank.; and for how the whole hierarchy fits together, ecommerce site architectureEcommerce site architecture is how an online store's pages — categories, subcategories, and products — are organized and linked. Google reads the link structure (not the URL path) to work out hierarchy and relative importance, so a logical pyramid plus good internal links matters more than how deep the URLs look..
AI summary
A condensed take on the Advanced version:
- A category page (PLP / collection page) groups products under a classification and does two jobs: rank for broad commercial queries, and route crawl + PageRankPageRank 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. to the products on it. Google: if category pages 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. may not find them by 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. alone.
- 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. is the core threat — URL-parameter facets can spawn near-infinite crawlable URLs. The rule: block the noise (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 variants, tracking params, redundant filter combos), canonical the low-demand combos, 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. the high-demand ones (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./copy), and 404 the dead ends. Full treatment is in the faceted-navigation deep dive.
- 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. accuracy spine:
rel=prev/nextis dead (Google, 2019). Never canonical paginated pages to page 1 — it hides everything on pages 2+. Each page self-canonicals (or points to a real “view all”), uses unique URLs (not#fragments), and links to the next page with<a href>. - The GSC 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 (2022) — control parameters 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. and canonicals.
- Thin product-only pages can be hard to rank, but content is helpful, not required (Mueller). Add a short, useful, visible intro — not a keyword-stuffed footer blob, which Google calls keyword stuffing.
- 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.:
BreadcrumbListyes; Product rich-result markup no on multi-product listings.
Official documentation
Primary-source documentation, mostly Google’s ecommerce specialty section.
Google — ecommerce specialty
- Pagination and incremental page loading — the current 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. guidance: sequential
<a href>links, unique URLs, self-canonical, and therel=prev/nextdeprecation note. - Designing a URL structure for ecommerce sites —
?key=valueparameters, empty-category handling, minimizing duplicate URLs. - Help Google understand your ecommerce site structure — category pages must link to all products; link count as an importance signal;
<a href>over JS events. - Managing faceted navigation — 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, canonical as the slower tool.
- Include structured data relevant to ecommerce — what schema fits listing vs. product pages.
Google — supporting docs & blog
- BreadcrumbList structured data — the markup that matters most for category pages.
- 5 common mistakes with rel=canonical (2013) — Mistake 1: canonicalizing paginated pages to page 1.
- URL Parameters tool deprecated (2022) — the tool is gone; use 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. and canonicals.
- Consolidate duplicate URLs — why
rel=canonical(notnoindex) is the preferred consolidation tool.
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./quality guidance. Note: Bing still honors
rel=prev/rel=next, unlike Google.
Quotes from the source
On-the-record statements from Google. Each link is a deep link that jumps to the quoted passage on the source page where the page allows it.
Google docs — 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. & canonicalizationHow search engines pick one canonical URL among duplicates and consolidate signals onto it.
- “Google no longer uses these tags, although these links may still be used by other search engines.” — Google Search Central, on
rel=prev/next. Jump to quote - “Don’t use the first page of a paginated sequence as the canonical page.” Jump to quote
- “Specifying a rel=canonicalA 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. from page 2 (or any later page) to page 1 is not correct use of rel=canonical.” — Pierre Far, Google (2013). Jump to quote
- “Include links from each page to the following page using
<a href>tags.” Jump to quote
Google docs — 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. & 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.
- “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
- “Avoid internally linking to temporary parameters, such as session-IDs, tracking codes, user-relative values.” Jump to quote
- “If category pages don’t include direct links to all products in a category, 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 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. alone.” Jump to quote
- “The 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. will typically access a very large number of 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. URLs before the 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.’ processes determine the URLs are in fact useless.” — on faceted navigation’s overcrawling problem. Jump to quote
John Mueller, Google Search Advocate — category page content
- “When the ecommerce category pages don’t have any other content at all, other than links to the products, then it’s really hard for us to rank those pages.” — Google Webmaster Hangout, March 5, 2019.
Relayed via Search Engine Roundtable / Search Engine Land coverage; original hangout video is the primary source.
- “You don’t need to put in extra text there.” — on categories where product names already make the topic clear. Google SEO hangout, September 17, 2021.
Reported by Search Engine Journal: coverage.
- “From our point of view that’s essentially keyword stuffing. So that’s something which I would try to avoid.” — on footer “blob of text.”
Relayed via Search Engine Land: coverage.
Gary Illyes, Google
- “Sometimes you might create these new fake URLs accidentally, exploding your URL space from a balmy 1000 URLs to a scorching 1 million, exciting crawlers that in turn hammer your servers unexpectedly.” — LinkedIn, August 2024.
Reported by Search Engine Journal: coverage.
Category page SEO checklist
A pass to confirm a category page ranks and does its on-ramp job:
Rank the page
- Descriptive URL with the category keyword (
/electronics/laptops/), one pattern used consistently across the site. - Title includes the category name; 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. parallels it.
- A short, genuinely useful intro only if the products alone don’t make the topic clear — placed where users see it, not a footer blob.
-
BreadcrumbListstructured 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. present and valid. - No
Productrich-result markup on the listing page.
Don’t break crawl / links
- Every product reachable via real
<a href>links (directly or through paginated pagesPagination 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.). - Navigation uses
<a href>, not JS click handlers. - Empty category returns
noindexor404.
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.
- Each paginated page self-canonicals (or all point to a real “view all”).
- No canonical from page 2+ back to page 1.
- No
rel=prev/nextrelied on as the solution; unique non-#URLs per page; sequential<a href>to the next page. - Empty paginated results return
404.
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.
- Sort/tracking/redundant filter URLs blocked (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.) or canonicaled.
- High-demand facet pages (if any) have unique URL/title/H1/copy + self-canonical and are in the sitemapA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing..
- Nonsensical/empty filter combos return
404.
Monitor
- GSCA 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 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. watched for parameter-URL bloat.
- 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). reviewed for crawl spent on parameter URLs.
The mental models
1. A category page has two jobs — score both. It has to (a) rank for its query and (b) route crawl + PageRankPageRank 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. to its products. Most category-page mistakes optimize one and break the other (e.g. AJAX facets that look clean but leave products unreachable). Always check both.
2. Faceted URLs: block the noise, 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. the signal. Every facet URL falls in one of four buckets — block (sort/tracking/redundant), canonical (low-demand, navigable), index + optimize (real search demand), or 404 (empty/nonsensical). Decide the bucket per facet type, driven by keyword demand, before you build.
3. The 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. decision tree.
Have a usable “view all”? → component pages canonical to it. No view-all? → each
page self-canonicals, gets a unique URL, and links to the next via <a href>.
Never → canonical pages 2+ to page 1.
4. Content = earn its place, where users see it. Default to product names carrying the topic. Add copy only when it genuinely helps a shopper decide, and put it at the top — not a hidden footer. “Helpful, not required” is the whole posture.
Category page SEO — cheat sheet
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.: do / don’t (2026)
| Situation | Do | Don’t |
|---|---|---|
| Paginated series, no view-all | Each page self-canonicals; unique URL; <a href> to next | Canonical pages 2+ to page 1 |
| A usable “view all” exists | Component pages canonical to view-all | Force an unusable giant view-all |
| Search engine signal | Let each page rank on its own merits | Rely on rel=prev/next for Google (dead since 2019) |
| Page numbers in URL | ?page=2 (real URL) | #page=2 fragment (Google ignores #) |
| Empty paginated result | Return 404 | Serve a blank indexable page |
Faceted URL → action
| Facet type | Action |
|---|---|
Sort order (?sort=) | Block (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.) |
| Session / tracking params | Block; keep off 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. |
| Filter combo, same products | Block or canonical to base |
| Filter combo, low demand, navigable | Canonical to base category |
| Filter combo, real search demand | 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. + 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./copy + self-canonical + sitemapA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing. |
| Empty / nonsensical combo | 404 |
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.
| Type | On a category page? |
|---|---|
BreadcrumbList | Yes — the one that matters |
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. | No — single-product pages only |
CollectionPage / ItemList | Optional (no native rich result) |
FAQPage | Optional, only if genuinely useful Q&A |
Fast facts
rel=prev/next: dead for Google (March 2019); Bing still honors it.- GSCA 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. 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: gone (April 2022) — use 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. + canonicals.
- Empty category:
noindexor404. - Word count for category copy: no minimum (Mueller) — helpful, not required.
Choose the pagination and facet treatment
How should this category sequence work?
What should happen to this faceted category URL?
Category-page mistakes to avoid
Canonical every paginated page to page 1
Products 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. only on later pages can become much harder to discover and 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.. Let each page self-canonical, or use a real, usable view-all page as the canonical.
Rely on rel=prev/next as the Google solution
Google stopped using these tags years ago. Build crawlable sequential links and real page URLs instead.
Put Product rich-result markup on a product listing
Google’s 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. are for single-product pages. Use BreadcrumbList on category pages and treat ItemList as descriptive markup, not a rich-result shortcut.
Add a keyword-stuffed footer wall
Extra text is helpful only when it helps shoppers and clarifies the category. Put concise, useful content where people can see it.
Rely on canonical alone for runaway facets
Canonical consolidates signals but still requires 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.. Use a crawl-control strategy for URL spaces that should not be fetched.
Category-page SEO metrics
Parameter URL footprint
Metric: category-related facet, sort, tracking, 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 by 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. bucket. What it tells you: whether the category template is leaking low-value URL variants into Google’s crawl and 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. systems. How to pull it: export 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. samples and classify them by parameter pattern. Benchmark / realistic range: compare the footprint with the approved set of indexable categories and facets; the acceptable count depends on catalog design. Cadence: monthly and after template releases.
Crawl share by category URL class
Metric: verified 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. requests to base categories, approved facets, 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 suppressed parameter states. What it tells you: whether 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. attention reaches product-discovery paths instead of duplicate variants. How to pull it: segment server logsLog file analysis is reading a web server's raw access logs to see exactly which URLs search engine crawlers actually requested, when, how often, and what status code they got. Unlike crawl tools or Search Console, logs are the unsampled, ground-truth record of what really happened. 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). by URL pattern. Benchmark / realistic range: establish a site baseline and aim for fewer requests to intentionally suppressed patterns; no universal percentage fits every catalog. Cadence: weekly during cleanup, then monthly.
Product reach from category pages
Metric: share of active products reachable through category-page anchor links and their 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.. What it tells you: whether category pages perform their on-ramp job. How to pull it: crawl from the homepage with JavaScript settings matching the production experience, then join product URLs to the catalog. Benchmark / realistic range: every product intended for organic discovery should have a crawlable path; separately document feed-only exceptions. Cadence: after navigation changes and monthly for fast-changing catalogs.
Category landing-page performance
Metric: clicks, impressions, conversions, and revenue for canonical category pages. What it tells you: whether the pages capture broad commercial demand and send qualified shoppers onward. How to pull it: join Search ConsoleGoogle's free tool for monitoring crawling, indexing, and search performance. landing-page data with analytics or commerce reporting. Benchmark / realistic range: compare against each category’s own seasonality and prior periods rather than a universal target. Cadence: monthly with seasonal annotations.
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.
- Log File Analyzer — Drop a server access log and see crawl budget by bot and section, status-code waste, an AI-vs-search breakdown, and a spoofer report that names impostors faking a crawler user-agent. Parses nginx, Apache, IIS/W3C, and JSON logs entirely in your browser — nothing is uploaded.
Tools for category page SEO
Find which filter/sort URLs are crowding out crawl budgetThe number of URLs an engine will crawl in a timeframe. with the Faceted Navigation Auditor:
- Pull a sample of real category URLs from your logs, sitemapA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing., or 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. (up to 150), including filter, sort, 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 tracking variants.
- Paste them into the tool, one per line, and select Audit facets (or load the built-in example to see the format).
- Read the per-row classification — filter, sort, 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., tracking, or unknown — and flag any row marked Too many parameters as a likely crawl-trap candidate.
- Cross-check the flagged patterns against 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). and the 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. before deciding which combinations to 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., canonicalize, or block.
- 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. — spot parameter/facet URLs piling up in the excluded buckets, the clearest sign your facet strategy is leaking.
- GSC — Crawl Stats — 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 burning time on parameter URLs.
- GSC — URL Inspection + 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. Test — confirm how a category page renders
and indexes, and validate
BreadcrumbList. - Ahrefs Site Audit (Structure Explorer) — surface infinite URL-path problems, 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., orphaned products, and internal-link counts per page. (This is the tool I point to for catching facet/parameter URL explosions.)
- Screaming Frog SEO Spider — crawl the category tree, find products only reachable via JS, and audit pagination link chains.
- Ahrefs Keywords Explorer — do the keyword research that decides which facet combinations are worth 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. before you build them.
Test yourself: category page SEO
Five questions on 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., facets, content, and 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..
Category Page SEO
Category 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.
Related: Ecommerce SEO, Faceted Navigation, Crawl Budget, Canonicalization
Category Page SEO
A category page — also called a product listing page (PLP), collection page, or category landing page — is an ecommerce page that groups a set of products under a shared classification, like /shoes/running/ or /electronics/laptops/. It sits between the homepage and the individual product pages in the site hierarchy, and it usually does two jobs at once: it ranks for the broad commercial queries shoppers actually search (“running shoes,” “laptops under $500”), and it routes 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. and internal linkAn 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. equity down to the products listed on it.
Category page SEO is the work of getting that page to rank while keeping it from spawning a mess. The same Google algorithm applies as anywhere else, but category pages concentrate ecommerce’s hardest problems: the filter and sort UI on top of them — 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. — can generate near-infinite crawlable URLs that waste crawl budgetThe number of URLs an engine will crawl in a timeframe. and create near-duplicatesThe 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.; 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. splits a long catalog across pages that each need to be indexable on their own; and a page that’s only a product grid with no descriptive context can be hard for Google to rank at all.
The practical scope covers 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. (/parent/child/ vs. top-level), 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. that doesn’t lean on the long-deprecated rel=prev/next, deciding which filtered facet URLs to 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. versus block, adding genuinely useful (not stuffed) content where users can see it, internal linkingLinks between pages on the same site. so every product is reachable, BreadcrumbList 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., and title/meta/H1 optimization. Get it right and category pages are often the highest-leverage pages on the whole store.
Related: Ecommerce SEO, Faceted Navigation, Crawl Budget, 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
Fact-checked every Google quote and #:~:text= deep link against the live pagination, faceted-navigation, URL-structure, site-structure, structured-data, breadcrumb, and canonical-mistakes docs (raw HTML, not summaries) — pagination guidance, the faceted-navigation URL, and the no-fixed-word-count content guidance all confirmed current and accurate. Found and fixed one broken quote: the faceted-navigation 'overcrawling' quote in the Advanced lens and Quotes lens spliced Google's list intro into a phrase that isn't a substring of the live page, so its matching deep link silently failed to anchor.
Change details
-
Replaced the fabricated 'harms the website through overcrawling' quote in the Advanced lens's faceted-navigation section with two verbatim quotes (the Overcrawling and Slower-discovery-crawls bullets from Google's live faceted-navigation doc) joined by house-voice framing.
-
Replaced the same broken quote and its non-anchoring #:~:text= deep link in the Quotes lens with an exact quote and a working deep link rebuilt from the live page's actual text.
Full comparison unavailable — no prior snapshot was archived for this revision.