На страницах фильтров встречаются два инструмента, которые постоянно путают: канонический тег, советующий поисковику, какую версию адреса считать основной, и файл robots.txt, который жёстко прекращает обход. Один работает мягко и требует доверия, другой грубо и не терпит исключений, и попытка заменить один другим ломает схему целиком. Разберём, как поисковик на самом деле читает тег rel=canonical, когда закрытие параметров оправдано и как выглядит рабочая связка для разных типов фильтров.
Как поисковик читает канонический тег на страницах с параметрами
Канонический тег это просьба, а не команда. Google прямо пишет об этом: тег рассматривается как подсказка, и в спорных ситуациях поисковик может её проигнорировать и выбрать основной адрес самостоятельно. Решение принимается по совокупности сигналов: насколько содержимое похоже на целевую страницу, как страницы ссылаются друг на друга, что лежит в карте, есть ли перенаправления и как настроены заголовки ответа. Поэтому фильтрованная страница с подборкой из тридцати товаров редко консолидируется на общую категорию: содержимое отличается слишком сильно, и подсказка отвергается.
Технические требования к тегу просты: один тег на страницу, абсолютный адрес, размещение в разделе head. Два канонических тега на одной странице это гарантированный способ потерять оба: при конфликте поисковик игнорирует всю связку. Тег работает и между доменами, а для PDF подойдёт вариант с заголовком ответа Link. Если тег появляется только после исполнения скриптов, робот без отрисовки его не увидит, поэтому разметку ставят серверным кодом, а не клиентским.
Рабочая база для любого сайта самоканонична: каждая открытая страница указывает тегом на собственный адрес. Это страховка от параметров, которые прилипают к адресам: метки рекламы, варианты сортировки, идентификаторы сессий. Как только к чистому адресу прицепился хвост, копия автоматически объявляет основной чистую версию, и поисковик получает понятный сигнал без ожидания разбора.
Влияние карты сайта на выбор стоит учитывать отдельно: если карта содержит только чистые адреса, поисковик охотнее выбирает их основными. Если в карту случайно попали варианты с параметрами, картина становится противоречивой: в списке рекомендованных адресов лежит страница, которая сама объявляет основной другую. Так появляются кластеры из двух адресов с непредсказуемым выбором поисковика.
Внешние ссылки на варианты адресов тоже участвуют в выборе: если на отфильтрованную страницу ссылаются каталоги и обзоры, а на чистую никто, поисковик может предпочесть фильтрованную версию. Политика тегов помогает, когда она согласована с перелинковкой и картой, а не поставлена в одиночку.
Почему запрет обхода не заменяет канонический адрес на страницах фильтров
Логика вида "закрою параметры в robots.txt, и дубли исчезнут" ломается о механику: закрытая страница не читается роботом, и канонический тег на ней остаётся невидимым. Поисковик не может получить сигнал, не скачав страницу. Результат предсказуем: страницы с параметрами не исчезают из выдачи полностью, часть показывается голыми ссылками без заголовка и описания, а консолидация сигналов между вариантами не происходит вовсе.
То же касается noindex: метатег на закрытой странице не читается, и запрет индексации просто не существует для поисковика. Классическая ошибка внедрения выглядит так: разработчик закрывает раздел фильтров от обхода и одновременно ставит там noindex, и вторая инструкция мертва по определению, потому что страница больше не скачивается.
У запрета обхода своя ниша, и она не про дубли. Бесконечные пространства параметров, идентификаторы сессий, страницы внутреннего поиска, сравнение товаров: вот где закрытие оправдано. Google в рекомендациях по фасетной навигации советует именно это: бесконечные пространства адресов отрезаются от обхода, а близкие варианты одной страницы объединяются тегом. Выбор инструмента зависит от задачи: объединить дубли или перестать тратить бюджет на мусор.
Проверить разницу несложно экспериментом на собственном каталоге: выберите двадцать адресов с параметрами, закройте половину от обхода, а на второй оставьте только тег. Через месяц картина проявится в отчёте индексации: закрытая половина останется в выдаче голыми ссылками, вторая половина очистится и передаст сигналы основной версии. Наглядный эксперимент убеждает руководство быстрее цитат из документации.
Фильтры с реальным поисковым спросом остаются открытыми для индексации
Первый тип фильтров это комбинации с собственным спросом: "красные кроссовки", "обувь для бассейна", "платья для выпускного". Спрос проверяется цифрами: частотность запросов, переходы из выдачи, конверсии. Такие комбинации держат открытыми: тег указывает на саму себя, на странице уникальное описание подборки, из категорий ведут ссылки на популярные комбинации, адреса попадают в карту сайта.
Ожидания по индексу простые: такие страницы появляются в выдаче и собирают трафик. Следят за двумя вещами: за долей таких адресов в индексе и за тем, чтобы шаблон не начал автоматически проставлять тег на общую категорию. Частая ошибка именно здесь: все комбинации объявляют основной категорию, поисковик охотно соглашается, и спросная страница исчезает из выдачи вместе со своим трафиком.
Содержание открытой комбинации это не только описание подборки. Заголовок страницы строится по смыслу фильтра, навигационная цепочка отражает путь, в тексте блока объясняется польза подборки, и товары подкрепляются отзывами. Без этих элементов страница остаётся тонкой копией категории, и поисковик волен проигнорировать и тег, и саму страницу. Открытость работает только вместе с содержанием.
Список открытых комбинаций держится порогами: открытыми остаются адреса с подтверждённым спросом, остальные получают тег на категорию. Пересмотр списка раз в квартал по статистике переходов удерживает баланс между полнотой витрины и чистотой индекса.
Служебные параметры и фильтры без спроса убираются разными инструментами
Сортировки и порядок выдачи: страница с параметром вида сортировки это та же выдача в другом порядке, и тег честно указывает на адрес с порядком по умолчанию. Рекламные метки и служебные идентификаторы консолидируются на чистый адрес. Поиск по сайту и страницы сравнения закрываются от обхода: их пространство бесконечно, спроса нет, и тратить бюджет на чтение бессмысленно.
Отдельная группа параметров, которой не место ни в индексе, ни в обходе: идентификаторы сессий и метки писем. Они порождают миллионы технических копий одного адреса, и надёжное решение здесь двухслойное: сервер отвечает на адрес с идентификатором страницей с тегом на чистую версию, а генератор ссылок в шаблонах перестаёт вставлять идентификаторы в адреса вообще. Чистая генерация ссылок экономит больше бюджета, чем теги.
Фильтры без спроса получают тег на базовую категорию. Схема работает, когда подборка мало отличается от категории: поисковик читает подсказку и принимает её. Если подборка слишком специфичная, подсказка может быть отвергнута, и выбор сужается: либо признать страницу открытой и доработать содержание, либо закрывать адрес от обхода и смириться с голой ссылкой в выдаче.
Пагинация в этой схеме живёт по своему правилу: каждая страница разбивки канонична сама себе. Тег на первую страницу со второй и последующих ломает индексацию хвоста, и товары с глубины постепенно теряют видимость. Разбивка это разные страницы с разным содержимым, а не варианты одной.
Код канонического тега, который поисковик принимает без спора
Самоканоничная комбинация с подтверждённым спросом выглядит так:
<link rel="canonical" href="https://example.com/catalog/shoes/?color=blue">
А страница с параметром сортировки объявляет основной адрес по умолчанию:
<link rel="canonical" href="https://example.com/catalog/shoes/">
Разница между строками и есть вся политика: в первом случае страница самостоятельная, во втором вариант отдаёт первенство чистому адресу. Типовые ошибки собираются в короткий список: относительный адрес вместо полного, два тега на странице, тег в теле страницы вне раздела head, тег на адрес с перенаправлением или ошибкой 404. Каждый вариант либо отсеивается проверками, либо ослабляет консолидацию.
В реальных шаблонах магазинов тег формирует серверный код по единой функции, и политика для каждого типа адреса описывается в одном месте: самоканоничный по умолчанию, чистая версия для служебных параметров, категория для комбинаций без спроса. Единая функция избавляет от зоопарка ручных правок, где каждая страница заклеивает тег по-своему. Аудит одного места дешевле аудита трёхсот шаблонов.
Проверку разметки на больших каталогах автоматизируют: краулер собирает значения тегов, и скрипт сверяет их с реестром политик. Любое расхождение, например тег на категорию там, где политика требует самоканоничности, попадает в отчёт разработчикам до того, как поисковик успеет обидеться.
Конфликты canonical с запретом обхода и noindex на больших каталогах
На больших каталогах инструменты конфликтуют из-за невнимательности, а не из-за сложности. Типовые пары конфликта: страница закрыта от обхода и одновременно объявляет канонический адрес, который никто не прочтёт; страница с noindex ссылается тегом на другую, и поисковик видит противоречие между просьбой удалить и просьбой объединить; тег ведёт на адрес с перенаправлением, и сигнал ослабевает лишним прыжком; тег ведёт на несуществующую страницу и отвергается целиком.
Четыре инструмента распределяют обязанности так:
1. перенаправление с кодом 301 навсегда переносит адрес и его сигналы на новую версию;
2. канонический тег объединяет близкие варианты и называет основную версию из живых страниц;
3. noindex убирает страницу из выдачи при сохранении обхода и передачи сигналов;
4. запрет обхода в robots.txt прекращает чтение там, где адресов бесконечно много.
Практичное правило выбора звучит как лестница: сначала перенаправление, если адрес не должен существовать; затем тег, если обе страницы живы, но основная одна; затем noindex, если страницу читать надо, а показывать в выдаче нет; и в конце запрет обхода, если читать и показывать не нужно ничего. Ни одну ступень не пропускают: замена тегом перенаправления оставит пользователю лишний адрес, а замена перенаправлением тега выкинет живую страницу из индекса.
Инвентаризация конфликтов делается обходом: краулер собирает все канонические адреса вместе со статусами ответа и закрытостью от обхода, а скрипт помечает три типа проблем: тег на непрочитываемую страницу, тег на страницу с отличающимся статусом ответа, тег вместе с noindex. Список выходит коротким и конкретным, и именно его отдают разработчикам вместо общего совета разобраться с дублями.
Контроль результата по индексу и логам после внедрения схемы
Схема считается внедрённой, когда числа подтверждают её работу. В инструменте инспектирования адреса у чистой версии отображаются оба канонических адреса: заявленный вами и выбранный поисковиком. Совпадение означает, что подсказка принята. В отчёте по индексации следят за причинами исключения: страницы с параметрами уходят из выдачи с пометкой о том, что пользовательский адрес объявляет другую версию. По логам сервера смотрят долю запросов на адреса с параметрами: она снижается по мере того, как поисковик перестаёт обходить мусорные варианты.
Сроки честные: консолидация по тегам проявляется за недели, а не за дни. Паника на третий день после внедрения приводит к откату схемы раньше, чем поисковик успел её переварить. Разумный контрольный срок для больших каталогов: месяц до первой оценки и квартал до выводов.
Ответственность за схему закрепляют за конкретной ролью: SEO-специалист владеет политикой, разработчик реализует функцию тега, аналитик следит за метриками. Без закреплённой ответственности схема живёт полгода и портится после первого крупного релиза, когда новый раздел каталога выходит без политики. Строка в чек-листе релиза снимает вопрос: у новых разделов политика описана до публикации.
Критерии успеха собираются из трёх чисел: доля адресов с параметрами в индексе падает до целевого уровня, чистые адреса удерживают позиции и трафик, число запросов робота на мусорные варианты сокращается. Канонический тег экономит бюджет объединением, запрет обхода экономит его отсечением, и выигрывает та схема, где эти инструменты не путают между собой.