Clean-param: дубли из-за параметров в URL
Один и тот же товар или статья часто доступны по адресам с «хвостами»: ?utm=... от рекламы, ?sort=price от сортировки, ?sessionid=... от движка. Содержимое одинаковое, а адреса разные — для поиска это дубли. У Яндекса для борьбы с ними есть удобная директива Clean-param. Разберём, как она работает и что делать для Google.
Откуда берутся дубли из параметров
Параметр — это часть адреса после знака ?. Многие из них не меняют содержимое страницы, а лишь передают служебную информацию:
Поисковик видит три разных URL с одинаковым контентом — это дубли страниц, на которые тратится обход и которые путают систему. Нужно дать понять, что параметры можно игнорировать.
Директива Clean-param (для Яндекса)
В файле robots.txt Яндекс понимает директиву Clean-param: она говорит роботу «эти параметры не влияют на содержимое, считай адреса с ними и без них одной страницей».
Clean-param: utm_source&utm_medium&sort&sessionid
В результате Яндекс склеивает варианты в один адрес, не плодит дубли и экономит краулинговый бюджет. Это аккуратнее, чем закрывать параметры через Disallow: страница остаётся в индексе, просто без лишних копий.
Что чистить, а что нет
- Чистить: метки рекламы (utm и подобные), идентификаторы сессий, параметры сортировки и отображения — всё, что не меняет содержимое.
- Не чистить: параметры, которые меняют контент и должны быть отдельными страницами, — например, значимые фильтры каталога. Про них — фасетная навигация.
Правило простое: если по адресу с параметром и без него пользователь видит одно и то же — параметр можно чистить. Если разное — нельзя.
Коротко
Параметры в URL (utm, сортировки, идентификаторы сессий) часто не меняют содержимое, но создают дубли — разные адреса с одинаковым контентом. Для Яндекса их убирает директива Clean-param в robots.txt: она склеивает адреса с параметрами и без них в одну страницу, экономя обход. Чистить можно только параметры, не влияющие на контент; значимые фильтры — нет. Google Clean-param не понимает, поэтому от дублей из параметров дополнительно ставят rel=canonical, который работает для обеих систем.