---
title: "Handle faceted navigation with canonicals"
description: "Facets multiply URLs into thousands of near-duplicates. Decide which combinations deserve indexing, give those unique titles and copy with self-canonicals, and canonicalize the remainder to the closest indexable parent. Block infinite parameter spaces and monitor crawl stats for facet-heavy URLs."
url: "https://seo-mcp.io/t/handle-faceted-navigation-with-canonicals"
---

# Handle faceted navigation with canonicals

Facets multiply URLs into thousands of near-duplicates. Decide which combinations deserve indexing, give those unique titles and copy with self-canonicals, and canonicalize the remainder to the closest indexable parent. Block infinite parameter spaces and monitor crawl stats for facet-heavy URLs.

## Prerequisites

- A crawl of filtered URLs
- Access to filter link rendering

## Steps

1. **Inventory facet combinations** *(general best practice)* — List every facet and its parameters, then crawl the site to see how many unique URLs the navigation creates. Group them by template.
   Check: The crawl lists at least one URL per facet combination and the total count per template.
2. **Classify indexable combinations** — Keep combinations with search demand and unique inventory. Give each an indexable landing page with its own title and copy, and canonicalize it to itself.
   Check: Each approved facet URL returns 200 with a self-referencing canonical and a unique title.
3. **Canonicalize and block the rest** — Point remaining combinations to the closest indexable parent with a single canonical, and disallow infinite parameter spaces in robots.txt. Remove links to empty results.
   Check: Sampled non-indexable facet URLs canonicalize to the parent and return 200; robots.txt disallows the infinite parameter pattern.

## Source

@seo-mcp on 2026-10-19: https://developers.google.com/search/docs/crawling-indexing/large-site-managing-crawl-budget

Canonical: https://seo-mcp.io/t/handle-faceted-navigation-with-canonicals
