Фасетная навигация и SEO: фильтры каталога без вреда
Фильтры в каталоге («цвет», «бренд», «цена», «размер») удобны покупателю, но для SEO это мина замедленного действия. Каждая комбинация фильтров порождает отдельный URL — и из каталога в 5 категорий вырастают десятки тысяч почти одинаковых страниц, которые забивают индекс дублями и съедают краулинговый бюджет. Разберём, как приручить фасетную навигацию: какие фильтр-страницы открыть в индекс ради трафика, а какие закрыть.
Что такое фасетная навигация
Фасетная (фильтрационная) навигация — это система фильтров на странице каталога, позволяющая сужать выборку по характеристикам: выбрать бренд, цвет, размер, диапазон цены и т. д. Каждый выбор обычно меняет URL — добавляет GET-параметры или сегменты пути. Технически это удобно, но порождает главную SEO-проблему — комбинаторный взрыв адресов.
Чем это грозит
- Дубли страниц. Десятки тысяч URL с почти одинаковым содержимым — поиск считает их клонами категории.
- Слив краулингового бюджета. Робот тратит обходы на бесполезные комбинации вместо товаров и важных страниц.
- Размытие веса. Ссылочный вес растекается по тысячам пустых URL.
- Параметры в любом порядке = новые URL.
?color=white&brand=nikeи?brand=nike&color=white— для поиска это две разные страницы с одним содержимым.
Чтобы прочувствовать масштаб, посмотрите, как буквально из пяти фильтров вырастают сотни адресов — каждый следующий фильтр умножает число комбинаций:
Главное решение: открыть нужное, закрыть лишнее
Не нужно ни индексировать всё подряд, ни прятать фильтры целиком. Стратегия в том, чтобы отобрать ценные фильтр-страницы под спрос и открыть их, а весь остальной комбинаторный мусор закрыть.
- Есть спрос в Wordstat («кроссовки nike белые»)
- Один-два фильтра, осмысленная посадочная
- Можно дать ЧПУ, уникальные title/description, текст
- В выдаче достаточно товаров (не 1–2 штуки)
- Комбинации из 3+ фильтров
- Фильтры без спроса (сортировка, наличие, цена-ползунок)
- Пустые и почти пустые выборки
- Дубли по порядку параметров и UTM-метки
Как открывать ценные фильтры (SEO-фильтры)
Под фильтр-страницы со спросом делают полноценные посадочные:
- ЧПУ вместо параметров:
/krossovki/nike/belye/вместо?brand=nike&color=white— чище и для людей, и для поиска. - Уникальные мета: свой title и description («Белые кроссовки Nike — купить, цены»).
- Небольшой SEO-текст и H1 под запрос фильтра.
- Self-canonical на саму фильтр-страницу и ссылка на неё из меню/тегов.
Как закрывать лишние комбинации
- rel=canonical мусорных комбинаций — на чистую категорию или на ближайшую SEO-страницу.
- noindex для страниц, которые точно не должны быть в индексе (но робот по ним может ходить).
- Clean-param в robots.txt (для Яндекса) — указывает игнорировать незначащие GET-параметры (сортировка, UTM): несколько URL схлопываются в один.
- Disallow в robots.txt для целых групп параметров, которые не нужны ни людям из поиска, ни роботу.
- Фиксируйте порядок параметров на стороне сайта, чтобы не плодить дубли из перестановок.
Важно не комбинировать сигналы во вред: если страница закрыта в robots.txt, робот не увидит на ней ни canonical, ни noindex. Поэтому для «передать вес и склеить» используют canonical (доступ роботу открыт), а для «совсем не ходи» — robots.txt.
Как технически отдавать SEO-фильтры
Открыть фильтр в индекс — это не «разрешить параметр», а сделать из него настоящую страницу с ЧПУ. Технически связка обычно такая: на сервере настраивают правило, которое красивый адрес /krossovki/nike/belye/ внутри превращает в тот же запрос к каталогу, что и ?brand=nike&color=white — пользователь и поиск видят чистый URL, а движок отдаёт ту же выборку. Дальше для этой страницы подставляются уникальные title, description, H1 и текст по шаблону с реальными данными (бренд, цвет, число товаров), и она получает self-canonical на себя. Важно, чтобы такие SEO-фильтры были доступны по обычным ссылкам (из меню фильтров, блока тегов или подвала категории) — иначе робот их не обойдёт. По сути вы заранее решаете, какие комбинации достойны страницы, и «выпускаете в свет» только их.
Какие фильтры почти никогда не открывают
Чтобы не гадать над каждым фильтром, держите в голове список тех, что в индекс не пускают почти никогда:
- Сортировка (по цене, популярности) — это тот же набор товаров в другом порядке, чистый дубль.
- Наличие, «со скидкой», «новинки» — содержимое постоянно меняется, стабильной посадочной не выходит.
- Ползунок цены с произвольным диапазоном — бесконечные значения, спроса на конкретные нет.
- Третий и последующие фильтры в комбинации — спрос на «бренд + цвет + размер + цена + материал» исчезающе мал, а URL плодятся тысячами.
- Служебные параметры — UTM, идентификаторы сессий, параметры отображения.
Открывают же, как правило, один-два фильтра с явным спросом: бренд, ключевой параметр, иногда город. Всё остальное — под canonical и Clean-param.
Проверьте, что закрытие работает
Настроить правила мало — нужно убедиться, что они сработали, иначе «закрытые» комбинации продолжат копиться в индексе. Простой цикл контроля: посмотрите в Яндекс.Вебмастере и Search Console, сколько страниц в индексе и не растёт ли их число за счёт параметрических URL; через оператор site: с куском параметра проверьте, не попадают ли в выдачу мусорные комбинации; на больших каталогах сверьтесь с логами сервера — не тратит ли робот обходы на закрытые фильтры. Если мусор всё ещё индексируется, ищите конфликт сигналов (классика — страница закрыта в robots.txt, поэтому робот не видит проставленный на ней canonical или noindex).
Чек-лист фасетной навигации
- Отобраны фильтры со спросом — под них сделаны SEO-страницы с ЧПУ и мета
- Комбинации из 3+ фильтров и фильтры без спроса закрыты
- Мусорные URL канонизированы на чистую категорию
- Незначащие GET-параметры закрыты Clean-param / Disallow
- Порядок параметров зафиксирован (нет дублей из перестановок)
- Сигналы не конфликтуют: closed-in-robots не имеет canonical/noindex
- Проверено, что в индексе нет тысяч пустых комбинаций
Коротко
Фасетная навигация удобна людям, но без управления плодит тысячи дублей и сливает краулинговый бюджет. Стратегия — открыть в индекс ценные фильтры под спрос (ЧПУ, уникальные мета, текст, self-canonical) и закрыть весь остальной мусор (canonical на категорию, noindex, Clean-param и Disallow в robots.txt), не допуская конфликта сигналов. Тогда фильтры приносят дополнительный НЧ-трафик, а не топят каталог в дублях.