• Technical SEO

Pagination and filters: how not to generate a million pages from nothing

Filter indexing and pagination settings are decisions about which directory addresses the search engine should and should not traverse. There are exactly three groups of solutions: filters, sorting and page numbers, and each has its own rule. The work begins not with closing, but with counting: faceted navigation is the only place on the site where the number of addresses grows combinatorially, not linearly. The directory we measured holds 635 categories — and that's before a single parameter is added to the address.

See how it works
Price
after a free audit
Guarantee
30 days after project sign-off
What are we doing?
indexing rules separately for filters, sorting and pagination
after a free audit
Price
30
Guarantee

days after project sign-off

indexing rules separately for filters, sorting and pagination
What are we doing?
7-20
Term

working days, depends on the number of filters

free calculation of combinations, 2-4 working days
Before the estimate
54,302
The largest catalog in its own dimension

products and 635 categories, measured on 07/31/2026

13,590
Purity standard from the same sample

directory addresses, including 1 duplicate

number of pages in the index - it is not managed by the contractor
What we do not promise
Who it's for

Situations where this service delivers results

Scenario 1 of 4

There are more filters in the index than there are products in the catalog

In the indexing report, there are thousands of addresses with parameters, and a few dozen categories give the results. Each such address is a separate page, almost no different from the neighboring one, and the bot bypasses it instead of a new product card. Parsing starts not with removal, but with understanding exactly which parameter patterns gave rise to it.

We'll review your situation in a free audit
Cases

Tasks and results in numbers — all metrics measured by us

online store of tactical equipment with a catalog of more than 50,000 items

Task
Allow the buyer to reach the desired position in a large assortment — without having to go through the catalog to combinations of parameters.
Solution
The catalog is divided into 635 categories with filtering by characteristics. Categorical nodes and product cards fall into the index; the site map is compiled with an index of 32 product files.
Result
54,302 products and 635 categories. Site map — 110,096 addresses in two languages; selectively checked files #1, #16, and #31 each contain exactly 3,500 records, the last one containing 104. Cross-checking with standard search yielded 54,501–54,600 records, a 0.4% discrepancy with the map. First response 413.8 ms, full download 511.1 ms. Defect found: language markup is declared as uk-UA and uk-RU when the language of the document is ru on the root version. Measured on 07/31/2026.

wholesale store of underwear, catalog of over 13,000 items

Task
Keep a large directory open for browsing without growing addresses.
Solution
Categorical sections and product cards fall into the index; a combination of parameters does not generate separate addresses.
Result
13,428 product pages and 161 categories — 13,590 addresses in the sitemap, of which only 1 duplicate, i.e. 0.007%. The first response was 289ms, the third fastest response among the 16 sites measured. Two caveats from the same dimension: the main HTML weighs 751.2 KB - the heaviest document of the sample, and the standard sitemap addresses return an empty body and a line about the generator being turned off, the working map is saved only by a directive in robots.txt. A clean structure and proper access to it are different tasks. Measured on 07/31/2026.

wholesale supplier of goods from China, B2B catalog of almost 6,000 items

Task
Reduce a large B2B directory to a predictable set of addresses in two languages.
Solution
A separate site map for each language version; categorical structure with breadcrumbs in the markup instead of parameter indexing.
Result
5,830 products confirmed by two independent methods: standard search yielded 58 pages of 100 items plus 30, sitemap yielded 6,234 addresses per language, total 12,468. Structured data includes BreadcrumbList and ListItem: the structure of the catalog is given to the search engine explicitly, rather than being guessed from the appearance of the addresses. First response 506.9ms with 333.1KB markup. Measured on 07/31/2026.
What's included

Complete list of work and what you get as a result

  • Inventory of parameters divided into those that change the set of goods and those that change only the order - then the rules for these groups are different
  • Counting the upper limit of combinations for each category: you see a specific number of addresses, not a score of "many"
  • A separate indexing rule for each type of parameter - filter, sort, count per page - instead of one "close all" line
  • Canonical links on filter pages follow a consistent logic: signals are collected at one address instead of three almost identical ones
  • Independent meta tags on pagination pages with a page number so that the second page is no longer a complete duplicate of the first
  • Self-referencing canonical on pagination pages: deep pages remain in the bypass, and products from them do not fall out of the display
  • Closing combinations without demand with a written explanation of why these are decisions that can be verified and not taken for granted
  • A list of filter combinations with real demand that should be opened by individual landing pages
  • Internal linking of categories so that deep sections do not depend on whether the bot has reached the end of the pagination
  • Checking after each change that product categories and cards remain available is the main risk of the entire work
  • Control indexing report 30 days after implementation with an explanation why the drop in page count is expected here
When this service isn't right

What's not included — so there are no surprises at delivery

  • Texts for landing under filters — a separate work and a separate estimate
  • Rework the filter module itself if it is not customizable
  • Expansion of the set of product characteristics in the catalog
  • Sampling Acceleration with Filters: Speed ​​is a neighboring task, these jobs are not interchangeable
  • Guarantees regarding the number of pages in the index
Process steps

Transparent stages with approval at every step

Total duration:7–20 days

  1. Counting of addresses and inventory of parameters

    2-4 working days

    Bypassing the catalog with parameters, a list of filters and values ​​by category, the upper limit of combinations. Separately, we record how many addresses are available to the bot now and which of them are already in the indexing report.

  2. Rules for parameter types

    1-3 working days

    A written document: what to close, what to reduce to a canonical reference, what to leave open deliberately. Here is a list of combinations with demand - you approve it as a business decision, not as a technical detail.

  3. Implementation in the module and on the server

    2-5 working days

    Indexing directives, canonical links, parameter processing. We start with one category and look at the crawling behavior, and only then do we roll out to the rest of the catalog.

  4. Pagination and linking

    1-3 working days

    Custom meta tags with page number, self-referencing canonical, links to deep sections outside of pagination. We check that the product from the fifth page of the category has at least one other way to itself.

  5. Availability checking and indexing control

    1-5 working days

    Recirculation: All categories and cards return a code of 200 and are not subject to the new rule. Next, we look at the indexation report for 30 days and explain what is normal from the chart and what is not.

Free count of addresses generated by your filters

Faceted navigation is the only place on the site where the number of addresses grows not linearly, but combinatorially. Until this is calculated, it is impossible to say whether there is a problem at all: in some stores, filters do not enter the index at all, in others they make up a large part of it.

What we measure

  • Do filters create separate addressesThe main question. If the parameters are in the query string and are available for bypassing, the combinations are counted.
  • Number of filters per categoryAnd how many values ​​in each. This is where the upper limit of combinations is calculated.
  • What happens with paginationDo the pages of the second and further levels have their own meta tags, does canonical lead them to the first page, or are they closed from indexing.
  • Directory nesting depthHow many clicks from the main page to the product. The measured gear store has 54,302 items spread across 635 categories—the deep structure is justified, but it comes at a cost in the detour.
  • Sorting and quantity per pageParameters that do not change the set of products, but only its order, are the cleanest source of redundant addresses.
  • Combinations worth discoveringIndividual combinations of filters have a real demand and deserve their own landing page. This is another service, but they should be noted here.

What you get

  • An estimate of the number of addresses your navigation can generate and how many of them are currently available to the bot.
  • Rules: what to close, what to reduce to a canonical link, what to leave open deliberately.
  • A list of filter combinations that should be considered as separate landing pages.
  • Conversation for 30 minutes on the document.

Timeline: 2-4 working days

Why is it free

Because the calculation is done quickly, and a mistake here is expensive in both directions: if you close the excess - you will lose the pages with demand, if you leave everything open - you will eat up the catalog bypass.

What's next

Next is a list of works with the amount and term. If your filters don't generate individual addresses at all, we'll say so, and there will be no work.

Short form: your contact and site URL

  • Contract, act and 30-day warranty

    Every project gets a written contract: scope, deadlines, amount, acceptance procedure. After delivery — act and invoice, then 30 calendar days of warranty.

  • Sole proprietor & bank transfer

    The contractor is a registered sole proprietor. Payment by invoice with closing documents.

  • Rights & access — yours

    Code, design and materials transfer to you after full payment. Domain, hosting, repository and analytics are registered to you.

  • Client portal instead of email chains

    During the project you get access to a portal: contracts, invoices, acts and project status in one place.

  • European clients

    Among our work — projects for Norway, Bulgaria, Moldova and Spain.

  • Verifiable numbers

    Every case in the portfolio comes with a link to a live site and a technical measurement.

  • Audit first, then pricing

    There is no price list on the site intentionally: the scope of the same work differs multiples between clients.

  • We say "no" when unsure

    If the task isn't ours or the deadline is unrealistic — we tell you upfront.

Did not find your case?

Describe how it works on your side — we will tell you whether “Pagination and faceted navigation” fits and what it means in your situation. No brief and no call: one question, one answer.

What affects the price

Why two seemingly identical tasks are priced differently

  • How many filters and values ​​in eachHere is the product, not the sum. Three filters of five values ​​when selecting one value in each give 215 combinations per category; five filters by eight — 59,048. That is why the amount of work from the description of the problem cannot be guessed.
  • How many categories are included in the workEach major category has its own set of filters, and the rule for one is not automatically transferred to another. It is logical to introduce the rules in stages: first, the categories that give a win, then the rest.
  • How the filtering module is implementedSome assemblies allow you to set the behavior of addresses by parameter type directly in the settings. Others require template edits or server-level rules—that's another hour and another risk of hooking the wrong thing.
  • How many combinations are already in the indexIf the parameters have just become available to the bot, it is enough to close the bypass. If thousands of addresses are already indexed, you need a different mechanism and time to go around - and this time is counted in weeks, not days.
  • Number of language versionsEach branch multiplies the list of addresses. In the measured B2B catalog for 5,830 products, the site map contains 6,234 addresses per language — a total of 12,468, and the rules must be checked in both.
  • Input stateThere is access to Search Console and internal search data - the separation of combinations into "with demand" and "without" is done in a day. There is no — the decision would have to be made on guesswork, and that's not how we work.
Technologies & integrations

What we build on and what it connects to

Stack

  • rel=canonical on filter options — reduces signals to a category. This is a hint, not a directive: the search engine can choose another canonical address
  • meta robots noindex, follow — removes the address from the output, leaving the link bypass. It will not work if the same address is closed in robots.txt: no one will read the directive
  • robots.txt — stops traversal by the parameter template, but does not remove from the index what has already got there
  • OCFilter and analogues — the rules are set in the module settings; some of the assemblies do not have such a setting at all
  • Screaming Frog with parameter bypass — shows how many addresses are actually available to the bot. Sees only what is linked
  • Search Console, indexing report is the single source of index truth. Data with a delay of several days, and after cleaning, the graph first goes down

Integrations

  • Google Search Console
  • GA4
  • internal site search
  • Cloudflare
Rules for parameter types vs. "close all parameters in robots.txt"

How this option differs from the alternative

Combination with real demandremain open deliberately and can become landing pages
What is already in the indexis removed by a directive on the page that the bot should load
Pagination pagesown metatags with number and self-referencing canonical
When the price of a mistake is visibleat the stage of calculation, before implementation
What we need from you

We can't start without this — best to prepare in advance

  1. CMS access: indexing rules are set in the filter module settings, not in a file on the server.
  2. A list of characteristics that buyers actually filter by — from internal search or analytics data.
  3. Access to Search Console: without it, no one, including us, can see the real list of what is in the index.
  4. Understanding which categories are a priority for you: the rules are introduced in stages, and not at once across the entire catalog.
  5. One person with the power to decide which filter combinations are important to the business and which can be sacrificed.
  6. Agree to a test implementation in one category before rolling out to the rest.

If something is missing — let us know, we'll help you gather it or do it as a separate task.

FAQ

Most frequently asked questions — with concrete answers

Is it necessary to close filters from indexing at all?

Not everyone, and this is the main decision in the work. Combinations without demand - yes: they give thousands of almost identical pages and eat up the detour. But certain combinations are indeed searched for by words, and to close them is to give up the demand that already exists. Therefore, we start by separating these two groups based on internal search and analytics data, rather than mass closing. The proportion is usually unpleasant for expectations: there are several dozen meaningful combinations for the entire catalog.

What to do with pagination pages?

Most often, leave them open for browsing, give them their own meta tags with the page number and self-referencing canonical. It is dangerous to reduce the entire pagination with a canonical link to the first page: products that are visible only on the fifth page of the category may cease to circulate at all. Separately, we check whether anything other than the pagination itself leads to deep pages. If not, it's a bottleneck and is treated with relinking, not tags.

Is it possible to just close the options in robots.txt and forget about it?

This will stop the traversal, but will not remove from the index what has already been there: the address will remain in the output without a description. Worse, the bot does not load the page closed in robots.txt, and therefore does not read the noindex directive on it. Therefore, the sequence is more important than the rules themselves: first we leave access and put the directive on the page, wait for the bypass, and only then close the bypass according to the template.

How many addresses do our filters actually generate?

It is counted, not graded. Three filters of five values ​​when selecting one value in each give 215 combinations per category. Five filters by eight equals 59,048. Multiply by the number of categories, add sorting and number per page, and you get a number that's usually an order of magnitude higher than the number of products. That is why we do not name the amount before counting: the difference between three and five filters is not 60%, but two orders of magnitude.

How many levels of directory nesting are allowed?

As much as the nomenclature requires, but with an understanding of the price. In the measured equipment store, 54,302 goods are divided into 635 categories, and such fragmentation is justified there: otherwise, the items are simply indistinguishable. But each level moves the product away from the entrance. A working rule that we use ourselves: categories that give a win should be available no more than three clicks from the main one, the long tail can lie deeper.

Are filters slowing down the site?

Maybe it is noticeable in a large catalog. But this is not the law: the measured wholesale catalog for 13,428 items gives the first response in 289 ms - the third result among the 16 sites in our sample. The question lies in queries to the database and caching, and not in the presence of filters as such. And immediately the limit of this service: indexing rules do not improve speed. This is adjacent work, and they should not be confused either in the estimate or in expectations.

After the introduction of pages in the index became less. Is this bad?

This is expected and should be in the plan before the start. Removing duplicates does not add traffic - it stops spraying it, and at a short distance the graph in the indexing report goes down. You need to look not at the quantity, but at the composition: are all the categories, product cards and deliberately open combinations left? If at least one category has disappeared along with the combinations, it is our mistake and we will correct it.

How to understand which combinations to open?

From the data. Internal search shows what people are searching for with words; analytics — which filters are turned on most often; Search Console - for which queries you are already shown. The measured B2B catalog for 5,830 products has exactly 6,234 addresses per language version precisely because the category sections are open, and not all possible combinations. And immediately a warning: each open combination needs its own text, otherwise it is no different from the closed one. This is another service.

Submit the directory address and list of filters in the largest category.

The answer is how many addresses your navigation can generate, how many of them are available to the bot now, and which combinations should be opened and not closed. If your filters do not create separate addresses, let's say so in the first email, and there will be no work.

From measured cases54,302 products and 635 categories

View cases
  • Reply within 2 hours
  • No commitment
  • We work under a contract

There is no price list on the site on purpose: the same work differs several times over between two clients, and a “from” figure explains nothing in that case. First a free audit — we count your pages, duplicates and speed — then we name the sum and the deadline and fix both in the contract.