Главная Статьи Оптимизация

Clean-param: дубли из-за параметров в URL

Один и тот же товар или статья часто доступны по адресам с «хвостами»: ?utm=... от рекламы, ?sort=price от сортировки, ?sessionid=... от движка. Содержимое одинаковое, а адреса разные — для поиска это дубли. У Яндекса для борьбы с ними есть удобная директива Clean-param. Разберём, как она работает и что делать для Google.

Откуда берутся дубли из параметров

Параметр — это часть адреса после знака ?. Многие из них не меняют содержимое страницы, а лишь передают служебную информацию:

/tovar?utm_source=ya= тот же товар
/tovar?sort=price= тот же товар
/tovar?sessionid=abc123= тот же товар

Поисковик видит три разных URL с одинаковым контентом — это дубли страниц, на которые тратится обход и которые путают систему. Нужно дать понять, что параметры можно игнорировать.

Директива Clean-param (для Яндекса)

В файле robots.txt Яндекс понимает директиву Clean-param: она говорит роботу «эти параметры не влияют на содержимое, считай адреса с ними и без них одной страницей».

# игнорировать utm, sort и sessionid
Clean-param: utm_source&utm_medium&sort&sessionid

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

Что чистить, а что нет

Правило простое: если по адресу с параметром и без него пользователь видит одно и то же — параметр можно чистить. Если разное — нельзя.

⚠️ Clean-param — директива Яндекса. Google её не использует. Для Google от дублей из параметров спасает rel=canonical на основной адрес — его стоит проставить в любом случае, он работает для обеих систем. Так что обычно делают и Clean-param для Яндекса, и canonical для всех.

Коротко

Параметры в URL (utm, сортировки, идентификаторы сессий) часто не меняют содержимое, но создают дубли — разные адреса с одинаковым контентом. Для Яндекса их убирает директива Clean-param в robots.txt: она склеивает адреса с параметрами и без них в одну страницу, экономя обход. Чистить можно только параметры, не влияющие на контент; значимые фильтры — нет. Google Clean-param не понимает, поэтому от дублей из параметров дополнительно ставят rel=canonical, который работает для обеих систем.

Частые вопросы

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