seotools.pro Get started free

Faceted Navigation Rules and Pagination Tests

Filters and page numbers are where online stores lose control of their URLs. Five filters with ten values each can create more pages than the store has products, and Google spends its crawl on them instead of on new items. Google's own advice changed in late 2025: if you don't need filtered URLs in search, block them in robots.txt; canonical and nofollow work less well over time. This template gives you a rules sheet for filter combinations (index, block or 404) and pass-or-fail acceptance tests for paginated lists, so a developer knows exactly what "done" means. The original planning variants are still here, updated.

Format
Editable Word .docx
Length
9 variants · ~9 pages
Price
100% free
Setup
Copy or download

Get the editable Word doc in one click.

4.9·Free · No signup · Instant download

Works withSemrushSe Ranking
UTechnical SEO

Faceted Navigation Rules and Pagination Tests

Build a complete URL inventory

You cannot control crawling and indexing until you know exactly what exists. Start by cataloging every paginated series (category listings, blog archives, search results) and every faceted parameter (color, size, price, brand, sort, view).

  • Source: [Crawl tool name] full crawl & [Log file source] server logs
  • Pagination pattern: [/category/?page=N or /category/page/N/]
  • Facet parameters: [?color=, ?size=, ?sort=]
  • Combination depth: [single vs multi-facet stacking]

For each pattern, record current canonical, robots meta, and whether the URL is in the XML sitemap. Flag any URL that is both canonicalized elsewhere and disallowed in robots.txt: that is a conflict to fix later.


Tag every pattern as Index, Crawl-only, or Block. This inventory becomes the single source of truth for the rest of the template.

Download free template

Why it works

Stop filters and page numbers from flooding search engines with URLs, while the filters people search for still rank.

  • Decides index, block or 404 per filter using search demand, so only useful combinations get URLs.
  • Follows Google's December 2025 faceted guidance, so blocked filters use robots.txt rather than weaker canonicals.
  • Turns pagination into pass-or-fail tests, so load-more buttons and endless page numbers get caught before launch.

9 ready-to-use variants

Copy all

Map Your Paginated & Faceted URLs

When to use: Inventory every paginated and filtered URL pattern before changing anything, so decisions are based on real data.

Build a complete URL inventory

You cannot control crawling and indexing until you know exactly what exists. Start by cataloging every paginated series (category listings, blog archives, search results) and every faceted parameter (color, size, price, brand, sort, view).

  • Source: [Crawl tool name] full crawl & [Log file source] server logs
  • Pagination pattern: [/category/?page=N or /category/page/N/]
  • Facet parameters: [?color=, ?size=, ?sort=]
  • Combination depth: [single vs multi-facet stacking]

For each pattern, record current canonical, robots meta, and whether the URL is in the XML sitemap. Flag any URL that is both canonicalized elsewhere and disallowed in robots.txt: that is a conflict to fix later.


Tag every pattern as Index, Crawl-only, or Block. This inventory becomes the single source of truth for the rest of the template.

Pagination Best Practices

When to use: Make component pages of a series crawlable and self-canonical so deeper items get discovered and indexed.

Treat each page as its own URL

Google no longer uses rel=next/prev (other search engines may), so do not rely on it. Instead, make every page in the series stand on its own.

  • Self-canonical: page 2 canonicals to itself ([/category/?page=2]), never back to page 1.
  • Crawlable links: use real anchor tags with href for next, previous, and numbered pages, not buttons, infinite scroll alone, or JavaScript-only handlers.
  • Stable URLs: each page returns 200 and shows a consistent set of items.
  1. Confirm pagination links are in the rendered HTML.
  2. Ensure page 2+ is indexable (no blanket noindex).
  3. Keep titles and meta descriptions distinct or appended with the page number.

The goal is discovery: crawlers follow paginated links to reach products or articles deep in the series. Avoid ‘view all’ only if it loads too slowly to be practical.

Facets to Index vs Block

When to use: Decide which filtered combinations deserve indexing and which should be blocked to protect crawl budget.

Index value, block noise

Faceted navigation can generate near-infinite combinations. Only a small subset earns indexing: the ones with real search demand and unique, useful inventory.

Index these:

  • Single high-demand facets users search for ([red running shoes], [waterproof jackets]).
  • Combinations with clear keyword volume and enough products to be useful.

Block or noindex these:

  • Sort and view parameters ([?sort=price, ?view=grid]) that only reorder the same items.
  • Multi-facet stacks ([color + size + price + brand]) that create thin, overlapping pages.
  • Session IDs, tracking parameters, and empty result sets.

Validate demand with keyword research before promoting any facet to indexable. When in doubt, keep it out of the index: thin filtered pages dilute relevance and waste crawl capacity that should reach your money pages.

Controlling Crawl

When to use: Use robots rules, parameter handling, and internal links to steer crawlers toward URLs that matter.

Steer the crawl deliberately

Crawl control is about emphasis: send crawlers to valuable URLs and away from low-value parameter sprawl.

  • robots.txt: disallow worthless parameter paths ([/*?sort=], [/*?sessionid=]) you do not need rendered. Remember a disallowed URL still cannot be crawled to read its canonical or noindex tag.
  • Internal links: link prominently to indexable facets and paginated pages; avoid linking to combinations you want ignored. Internal linking is your strongest crawl signal.
  • nofollow: consider it on filter links you neither index nor want crawled, though it is a weaker, non-binding hint.
  1. Map which parameters add value versus which only reshuffle.
  2. Block crawl-wasting parameters at the source.
  3. Keep a clean, shallow path to every page you want indexed.

Never disallow a URL in robots.txt if you also need Google to read a canonical or noindex on it: blocked pages keep their conflicting signals invisible.

Canonical & Indexing Rules for Facets

When to use: Apply consistent canonical and noindex logic to filtered pages without creating conflicting signals.

Make signals agree

Canonical and indexing directives must point the same direction. Mixed signals confuse crawlers and waste the budget you are trying to save.

  • Indexable facet: self-canonical to its own clean URL ([/shoes/red/] canonicals to [/shoes/red/]), include it in the sitemap, and link to it internally.
  • Duplicate variant: if a sort or parameter version shows the same items as a clean page, canonical the variant to that clean URL.
  • Thin combination: if it doesn't need to be crawled at all, block the parameter in robots.txt (Google's recommended method). Use noindex only for pages that must stay crawlable; don't count on a long-term noindex to pass link signals.

Avoid these conflicts:

  1. Do not combine canonical and noindex on the same URL: they contradict each other.
  2. Do not canonical a page you also block in robots.txt.
  3. Do not point a canonical at a noindexed or redirected target.

One URL, one clear instruction. Audit overlaps so every facet has exactly one consistent indexing decision.

QA & Monitoring

When to use: Verify directives render correctly and track index coverage over time to catch regressions early.

Test, then keep watching

Configuration is only correct if crawlers actually see it in the rendered output. QA before launch, then monitor continuously.

Pre-launch checks:

  • Inspect rendered HTML (not just source) for the right canonical and robots tags on sample paginated and faceted URLs.
  • Confirm pagination links are real crawlable anchors and page 2+ is indexable.
  • Use URL inspection in [Search Console / Bing tools] to confirm the chosen canonical matches your intent.
  • Check robots.txt does not block URLs that carry canonical or noindex tags.

Ongoing monitoring:

  1. Track index coverage and excluded-by-noindex / duplicate reports monthly.
  2. Watch server logs for crawl waste on blocked parameters.
  3. Re-crawl after template or filter changes.

Set a recurring review on [cadence, e.g. quarterly] so new facets or pagination changes never quietly break your crawl and indexing rules.

Faceted Navigation Rules Sheet (fill-in)

When to use: One row per filter or filter combination: search demand, the index decision, the crawl rule, the URL format and the owner.

Faceted navigation rules

Decide per filter, not per URL. One row per filter or combination type.

Filter / combinationSearch demandUnique itemsDecisionCrawl ruleURL formatOwner
[e.g. colour][monthly searches + source][count][index / block / 404][robots.txt rule or none][path or ?param][name]
[e.g. colour][monthly searches + source][count][index / block / 404][robots.txt rule or none][path or ?param][name]
[e.g. colour][monthly searches + source][count][index / block / 404][robots.txt rule or none][path or ?param][name]

Decision rules (from Google's faceted navigation guide, Dec 2025)

  • Index: real search demand and enough unique items. Give it a clean, stable URL, a self-canonical and links from the category.
  • Block: no search value. Disallow the parameter in robots.txt, keeping item pages and the unfiltered listing crawlable.
  • 404: combinations with no results, duplicate filters, nonsense combinations and page numbers past the end. Don't redirect them to a generic page.
  • URL format: separate parameters with &, not commas or semicolons. In paths, keep filters in a fixed order and never repeat one.
  • Sort and view: they reorder the same items. Block or noindex them; never index them.

Pagination Acceptance Tests (fill-in)

When to use: Pass-or-fail tests for a paginated list, so developers and SEO agree on what "done" means before launch.

Pagination acceptance tests

List tested: [/category/boots] · Pages in sequence: [number] · Tested on: [date] · Environment: [staging / live]

TestPass condition (Google guidance)Result
Unique URLsEach page has its own URL, e.g. ?page=2; no # fragments[pass / fail]
Crawlable linksEach page links to the next with a real <a href>, not a button or JS-only handler[pass / fail]
CanonicalEach page canonicalizes to itself, never to page 1[pass / fail]
Rendered contentPage 2+ shows its own items in the rendered HTML[pass / fail]
Out-of-range pageA page past the end (e.g. ?page=999) returns 404[pass / fail]
Load more / infinite scrollItems are also reachable through paginated URLs[pass / fail / n/a]
Crawler resultA crawl reaches the last page and every listed item[pages / items reached]
Sorted variants?sort= versions are blocked or noindexed[pass / fail]

Signed off by [name] on [date]. A failed test blocks release.

Worked Example (fictional outdoor store)

When to use: A filled-in rules sheet and test run for an invented store, including the two tests that failed and how they were fixed.

Worked example: Trailmark Gear

Example only. The company, people, URLs and figures are invented to show what a usable, filled-in version looks like.

Filter / combinationDemandDecisionRule
Category + one brand (/boots/brand-x)YesIndexSelf-canonical, linked from category
Category + waterproofYesIndexClean path /boots/waterproof
Colour + size + priceNoBlockDisallow: /*?*size=
Any combination with 0 resultsNo404Return 404, no redirect
?sort=priceNoBlockDisallow: /*?*sort=

Pagination tests: two failures

The "Load more" button was the only way past page 1, so a crawl reached 24 of 410 boots. Adding plain ?page=n links fixed it. And ?page=999 returned page 1 with a 200 status, which creates endless duplicates; it now returns 404.

Next step

Check demand before you index a filter with the Keyword Research tool. Write the blocking rules with the Robots.txt Generator, then run a website audit to see which filtered URLs are still being found. For a store-wide facet strategy done for you, see our SEO & GEO services.

How to use this template

  1. List every filter and sort option the listing pages offer, and how each one changes the URL.
  2. Check search demand for single filters and common combinations, and how many unique items each returns.
  3. Fill the rules sheet: index, block or 404 for each filter or combination, with an owner.
  4. Block filters with no search value in robots.txt, keeping item pages and the unfiltered listing crawlable.
  5. Give indexable filters clean, stable URLs, self-canonicals and links from their category.
  6. Return 404 for empty, duplicate, nonsense and out-of-range combinations instead of redirecting them.
  7. Run the pagination acceptance tests on staging: unique URLs, real links, self-canonicals, 404 past the end.
  8. Crawl the live site after launch and confirm the crawler reaches the last page and every item.

Pro tips

  • Follow Google's current order of tools: robots.txt for filters you don't need crawled; canonical and nofollow are weaker long-term.
  • Make "Load more" and infinite scroll backed by real paginated URLs. Google doesn't click buttons.
  • Return 404 for page numbers past the end. Serving page 1 with a 200 creates endless duplicates.
  • Never block a URL in robots.txt if you need Google to read its noindex or canonical.

Frequently asked questions

Should I still use rel=next/prev for pagination?

Google no longer uses rel=next and rel=prev, though other search engines may. For Google, link each page to the next with a real <a href> link and give every page its own URL and canonical.

Should page 2 canonical back to page 1?

No. Page 2 and beyond should self-canonical to their own URL. Canonicalizing them to page 1 tells search engines the deeper pages are duplicates, which can prevent products or articles only listed on later pages from being discovered.

Which faceted pages should I let Google index?

Only facets with real search demand and useful, unique inventory, such as a single popular filter like waterproof jackets. Block or noindex sort/view parameters and multi-facet stacks that create thin, overlapping pages with little added value.

Should I block faceted URLs in robots.txt or use noindex?

Google's current guidance: if you don't need filtered URLs in search, disallow those parameters in robots.txt, keeping item pages and an unfiltered listing crawlable. Canonical tags and nofollow can reduce crawling but are less effective long-term. Use noindex only for pages that must stay crawlable, and never block a URL whose noindex you need Google to read.

Can I use canonical and noindex together on a filtered page?

Avoid it. A canonical asks Google to consolidate into another URL; noindex asks it to drop the page. Pick one, or block the parameter in robots.txt if the filtered page doesn't need crawling at all.

How do I keep deep paginated items discoverable?

Make sure every paginated page returns 200, stays indexable, and exposes real crawlable anchor links to the next and numbered pages in the rendered HTML. This lets crawlers walk the full series and reach items listed only on deeper pages.