# Фильтры в интернет-магазине и SEO: что открыть для индексации

Адрес материала: https://shopseo.ru/tehnika/filtry/
Тема страницы: Фасетная навигация без мусора в индексе: какие сочетания фильтров открывать, как сделать им ЧПУ, где ставить canonical и noindex, как настроить Clean-param.

Три вывода:
- Индексировать стоит только те страницы фильтров, под которые есть спрос и достаточно товаров.
- Открытый фильтр получает ЧПУ, свой title, H1 и ссылку из каталога, остальные закрываются от индекса.
- Сортировки и служебные параметры убирают через canonical и Clean-param, а не через десятки правил Disallow.


Фильтры в каталоге способны создать сотни тысяч адресов, и почти все они бесполезны для поиска. Решение строится на одном принципе: для индексации открывают только те сочетания фильтров, которые совпадают с реальными запросами покупателей и содержат достаточно товаров. Такие страницы получают человекопонятный адрес, собственные заголовки и ссылку из каталога. Всё остальное закрывают от индекса так, чтобы робот не тратил на это время.

## Почему нельзя оставить всё как есть

Представьте категорию «Ламинат» в магазине стройматериалов с десятью фильтрами: бренд, класс износостойкости, толщина, цвет, фаска, страна, цена и так далее. Каждое сочетание значений — новый адрес. Получается число страниц, которое на порядки больше, чем товаров в магазине. Робот начинает обходить эти комбинации вместо карточек, большая часть адресов попадает в исключённые как дубли или малополезные, а важные страницы индексируются медленнее.

Обратная крайность — закрыть все фильтры — тоже ошибка. Запросы вида «ламинат 33 класса», «ламинат дуб серый», «ламинат с фаской» — это отдельный и часто тёплый спрос. Если у магазина нет под него страницы, по таким запросам в выдаче будут конкуренты, у которых она есть.

## Как решить, какой фильтр открыть

Пройдите по фильтрам каждой крупной категории и задайте три вопроса:

1. **Есть ли спрос?** Проверьте в Вордстате фразы вида «категория + значение фильтра». Если запрос встречается регулярно, это кандидат.
2. **Достаточно ли товаров?** Страница с одним-двумя товарами покупателю почти ничего не даёт. Если ассортимент под значение маленький, ждите, пока он вырастет.
3. **Отличается ли выдача?** Если по запросу «ламинат серый» в топе стоят страницы с серым ламинатом, а не общие категории, поисковая система считает это отдельным интентом.

Как собрать такие сочетания в общую семантику каталога и не отдать один запрос двум страницам, разобрано в материале о [семантике каталога](https://shopseo.ru/kontent/semantika-kataloga/).

| Тип фильтра | Пример | Обычное решение | Комментарий |
|---|---|---|---|
| Бренд | Ламинат Brandname | Открыть | Брендовые запросы стабильны и коммерческие |
| Ключевое свойство | Ламинат 33 класса | Открыть, если есть спрос | Проверить Вордстат и выдачу |
| Цвет, материал | Ламинат дуб серый | Открыть выборочно | Только популярные значения |
| Цена | Ламинат до 1000 рублей | Обычно закрыть | Значения меняются вместе с ценами |
| Два и более значений одного фильтра | Серый или белый | Закрыть | Спроса на такие сочетания почти нет |
| Три и более фильтра одновременно | Бренд + класс + цвет + толщина | Закрыть | Слишком узко, мало товаров |

## ЧПУ для открытых фильтров

Открытая страница фильтра должна выглядеть для поисковой системы как обычная категория. Адрес без параметров, со смысловыми словами:

```
Плохо:  https://shop.example/catalog/laminat/?filter[class]=33&filter[color]=12
Хорошо: https://shop.example/catalog/laminat/33-klass/
Хорошо: https://shop.example/catalog/laminat/dub-seryj/
```

Для таких страниц нужны собственный title и H1, построенные по шаблону с учётом значения фильтра:

```
title: Ламинат 33 класса — купить в {город}, цены от {мин. цена} ₽
H1:    Ламинат 33 класса
```

Без отдельного H1 страница с фильтром выглядит как копия родительской категории. Короткий текст под список товаров на таких страницах не обязателен, а что писать, если он нужен, разобрано в материале о [текстах категорий](https://shopseo.ru/kontent/teksty-kategoriy/).

И последнее: на открытую страницу фильтра должна вести обычная HTML-ссылка — из блока популярных подборок в категории, из тегов над списком товаров, из меню. Если страница существует только как результат нажатия галочки в JavaScript, робот найдёт её с трудом.

## Как закрыть остальное

Закрытые фильтры убирают из индекса одним из способов, и у каждого своя цена.

**Тег noindex в meta robots.** Страница доступна роботу, но в индекс не попадает. Хорошо работает для сочетаний, которые нужно показывать посетителям, но не в поиске. Минус: робот всё равно её обходит.

**Canonical на родительскую категорию или открытый фильтр.** Подходит, когда содержимое почти совпадает с основной страницей. Учтите, что canonical — подсказка, а не команда: если страницы сильно отличаются, поисковая система может её проигнорировать.

**Запрет в robots.txt.** Робот не заходит на такие адреса вообще, бюджет обхода экономится. Но если на закрытую страницу ведут внешние ссылки, Google может показать её в выдаче без описания. И важно: страница, закрытая в robots.txt, не прочитает тег noindex — робот его просто не увидит.

Для Яндекса есть ещё директива Clean-param. Она сообщает, что указанные параметры не меняют содержимое, и робот склеивает такие адреса с основным. Google её не понимает, поэтому для него нужен canonical.

```
User-agent: Yandex
Clean-param: sort&order&view /catalog/
Clean-param: utm_source&utm_medium&utm_campaign&utm_content&utm_term

User-agent: *
Disallow: /*?*filter[
Disallow: /*?*price_from=
```

Сортировки, вид списка и параметры пагинации — отдельная история, она разобрана на странице о [пагинации и сортировках](https://shopseo.ru/tehnika/paginaciya/).

## Если фильтры работают на JavaScript

Многие фильтры подгружают товары без перезагрузки страницы. Для покупателя это удобно, но проверьте три вещи. Первое: у открытого фильтра есть настоящий адрес, который открывается напрямую и отдаёт список товаров в исходном HTML. Второе: ссылки на открытые фильтры видны роботу без выполнения скриптов. Третье: фильтр не тормозит страницу — тяжёлые скрипты фасетной навигации часто становятся главной причиной плохих показателей, подробнее в материале о [скорости каталога](https://shopseo.ru/tehnika/skorost-kataloga/).

## Что смотреть после внедрения

В Яндекс Вебмастере откройте «Индексирование → Страницы в поиске» и посмотрите исключённые страницы по маске каталога: дубли и малополезные должны сокращаться. В «Статистике обхода» видно, на какие адреса робот тратит запросы — если там по-прежнему много адресов с параметрами фильтров, правила не работают. Инструмент «Проверка ответа сервера» поможет убедиться, что открытый фильтр отдаёт код 200 и нужные теги. В Google Search Console посмотрите отчёт «Индексирование страниц», статусы про альтернативные страницы с canonical и про дубли.

## Проверить в своём магазине

- Составлен список фильтров по каждой крупной категории с решением «открыть» или «закрыть».
- Открытые фильтры имеют ЧПУ без параметров, свои title и H1, отдают код 200.
- На каждый открытый фильтр ведёт обычная HTML-ссылка из категории.
- Множественный выбор и сочетания трёх и более фильтров не попадают в индекс.
- В robots.txt нет противоречия: закрытые там страницы не рассчитывают на noindex.
- Для Яндекса настроен Clean-param для сортировок и меток, для Google — canonical.

## Вопросы владельцев магазинов

### Сколько фильтров можно открыть для индексации в одной категории?

Ограничение задаёт не число, а спрос и ассортимент. Если по сочетанию «категория + значение» люди регулярно ищут и под него есть хотя бы несколько товаров, его стоит открыть. Обычно это бренды и несколько ключевых свойств, а цены, множественный выбор и глубокие сочетания остаются закрытыми.

### Что лучше для закрытых фильтров — noindex или запрет в robots.txt?

Если таких адресов немного, noindex надёжнее: робот видит страницу и понимает, что её не нужно индексировать. Если комбинаций тысячи и они отнимают бюджет обхода, лучше закрыть их в robots.txt и одновременно перестать ставить на них ссылки, которые робот может найти.

### Нужно ли добавлять страницы фильтров в sitemap.xml?

Только открытые для индексации. Закрытые фильтры в карте сайта создают противоречие: вы одновременно просите их проиндексировать и запрещаете это. Открытые же страницы фильтров стоит включить, чтобы робот быстрее их нашёл.

### Почему открытые фильтры не появляются в поиске Яндекса?

Чаще всего причина в том, что страница слишком похожа на родительскую категорию: тот же title, тот же H1, почти те же товары. Яндекс склеивает её как дубль или отмечает как малополезную. Проверьте статус адреса в Вебмастере, сделайте уникальные заголовки и убедитесь, что товаров достаточно.

