Canonical для интернет-магазина: как выбрать и проверить основной URL
Как настроить canonical для меток, сортировки, фильтров, пагинации и вариантов товара. Примеры HTML и проверка выбранного поисковиком адреса.

Canonical для интернет-магазина указывает поисковой системе предпочтительный адрес среди одинаковых или очень похожих страниц. Обычно его задают элементом link с атрибутом rel="canonical" в служебной части HTML. Это рекомендация: Google и Яндекс могут выбрать другой адрес, если содержание и остальные сигналы противоречат указанному.
Перед настройкой нужно решить, какие страницы действительно дублируют друг друга. Рекламная метка обычно не меняет карточку товара, а фильтр, вторая страница категории или отдельная модель могут менять её существенно. Один шаблон «все параметры ведут на URL без параметров» способен убрать из поиска нужные страницы.
Что делает canonical и чего от него ждать
У одной карточки могут быть адрес без параметров, ссылка с рекламной меткой и маршрут через категорию. Если все они показывают один товар с теми же условиями, магазин может выбрать единственный основной адрес. Canonical помогает поисковой системе объединить сигналы дублей и понимать, какой URL предпочтительнее показывать.
Он не переводит посетителя на другую страницу и не запрещает её обход. Покупатель продолжает видеть исходный URL. Если старый адрес больше не нужен и посетитель должен попасть на новый, нужен редирект — перенаправление, а не только указание canonical.
Поисковик оценивает не один тег. Содержание страницы, перенаправления, внутренние ссылки и файл Sitemap могут помогать или мешать выбору. Если каталог ссылается на один адрес, canonical указывает второй, а Sitemap перечисляет третий, настройка оставляет противоречивые подсказки.
Сначала определите, что является дублем
Сравнивайте содержание, а не только форму адреса. Два URL с разными параметрами могут показывать один и тот же список товаров. А страницы одного раздела с page=1 и page=2 содержат разные товары, хотя отличаются всего одним числом.
Возьмём учебный магазин посуды. Ссылка на кружку с utm_source показывает тот же товар, поэтому основным может быть адрес без рекламной метки. Категория «Кружки» и фильтр «Кружки с крышкой» дают разные подборки. Если фильтр помогает выбрать товар и нужен для поиска, его не следует автоматически объявлять дублем общей категории.
Составьте таблицу типов URL до изменения шаблона. Для каждого типа запишите, что меняется на странице, нужен ли самостоятельный результат в поиске и какой адрес должен быть основным. Так одна правка не превратит весь каталог в дубли главной страницы.
Как выбирать canonical для разных страниц
Следующая таблица — отправная точка для аудита. Решение зависит от содержания и задачи страницы; наличие параметра само по себе не определяет, нужна ли её индексация.
| Тип страницы | Решение, с которого стоит начать | Что проверить |
|---|---|---|
| Рекламная метка у той же карточки | Canonical на чистый URL карточки | Метка не меняет товар и предложение |
| Два маршрута к одной карточке | Один основной URL для обоих | На страницах действительно один товар |
| Сортировка того же списка | Canonical на исходный список, если страницы равноценны | При пагинации сортировка может менять состав каждой страницы |
| Полезный фильтр с отдельной подборкой | Собственный стабильный URL и canonical на себя | Страница отвечает на самостоятельную задачу |
| Служебная комбинация фильтров | Сначала выбрать способ управления обходом или индексацией | Родительская категория может не быть её дублем |
| Вторая и следующие страницы категории | Собственный URL и canonical на себя | Товары отличаются от первой страницы |
| Размер или цвет как состояние одной карточки | Canonical на основную карточку | Не нужен самостоятельный результат для варианта |
| Отдельная товарная страница варианта | Решение об индексации и основном URL отдельно | Содержание и предложение позволяют различать страницы |
Рекламные параметры и сортировка
Рекламные параметры нужны аналитике, но обычно не создают новое содержание. Canonical на чистый адрес позволяет сохранить исходную ссылку для посетителя и указать предпочтительный URL для поиска. Внутренние ссылки магазина при этом лучше вести сразу на основной адрес, без временных рекламных меток.
Яндекс может автоматически игнорировать известные параметры отслеживания, которые не меняют содержание. Для собственных незначимых параметров у него есть директива Clean-param в robots.txt: она помогает не обходить одинаковую информацию многократно. Это отдельная настройка для Яндекса; не переносите в неё параметры фильтра или номера страницы, которые меняют содержимое.
С сортировкой сложнее. Если список целиком тот же, меняется только порядок, canonical на исходную категорию может быть обоснован. Но при разбивке на страницы «самые дешёвые товары, страница 2» и «обычная сортировка, страница 2» могут содержать разные позиции. Не удаляйте параметр сортировки из canonical механически: сначала проверьте фактическую подборку и модель обхода каталога.
Фильтры и самостоятельные страницы
Фильтр «красные кроссовки» может быть полезной страницей выбора, а комбинация из многих редких условий — служебным результатом. Для страницы, которую вы хотите видеть в поиске, подготовьте стабильный адрес, подходящий ассортимент и содержание. Canonical на себя сообщает, что вы считаете этот адрес основным; он не гарантирует индексацию или позиции.
Для ненужных комбинаций не используйте canonical как универсальный запрет. Если товары заметно отличаются от общей категории, поисковик может не принять её в качестве основного адреса. Сначала определите задачу: исключить страницу из поиска, сократить обход огромного числа URL или объединить реальные дубли. Эти задачи требуют разных средств.
Пагинация
Пагинация — разделение списка товаров на несколько страниц. Для второй, третьей и последующих страниц Google рекомендует отдельные URL и собственные канонические адреса. Не направляйте их все на первую: разные наборы товаров не становятся дублями из-за общего заголовка категории.
Проверьте и навигацию между страницами. Если товары загружаются кнопкой или при прокрутке, поисковому роботу всё равно нужен доступный путь к ним. Canonical не исправит ситуацию, в которой следующие товары появляются только после действия пользователя и не имеют доступных ссылок.
Размеры, цвета и другие варианты товара
Если варианты выбираются внутри одной карточки, а параметр только сохраняет выбранный цвет, основным может быть общий адрес товара. Покупатель должен по ссылке получать нужное состояние, но магазину не обязательно иметь отдельный поисковый результат для каждого размера.
Если вариант намеренно продвигается как самостоятельная страница, подготовьте собственный стабильный URL, полезное отличающееся содержание и canonical на себя. У него могут быть собственные изображения, описание, наличие и запросы покупателей. Поисковик всё равно может объединить слишком похожие страницы, поэтому отдельный адрес не гарантирует самостоятельного результата. Вопросы самих вариантов и их данных разобраны в статье «Как оформить товары с размерами и цветами».
Чем canonical отличается от других настроек
Canonical выбирает предпочтительный адрес для дублей. Остальные настройки решают соседние задачи, но не являются его полными заменами.
| Настройка | Основная задача | Существенное ограничение |
|---|---|---|
| Canonical | Указать основной адрес среди похожих страниц | Поисковик может выбрать другой |
| Постоянный редирект 301 | Перенаправить старый адрес на новый | Посетитель тоже переходит на другой URL |
noindex | Указать, что страницу не нужно включать в поиск | Робот должен получить страницу и прочитать указание |
robots.txt | Ограничить обход адресов | Это не надёжный способ удалить уже известный URL из поиска |
| Sitemap | Сообщить предпочтительные адреса для обработки | Не гарантирует индексацию и выбор canonical |
Если дубль закрыт от обхода через robots.txt, робот может не прочитать его canonical. Не добавляйте запрет обхода одновременно с тегом в надежде, что оба усилят друг друга. Если цель — исключение из поиска, отдельно проверьте, может ли робот увидеть noindex.
Google не рекомендует использовать noindex для выбора канонической страницы. Это указание об исключении, а не о передаче предпочтения другому URL. Не сочетайте настройки автоматически: сначала определите, должна ли страница участвовать в поиске и нужно ли объединять её с дублем.
В Sitemap перечисляйте выбранные основные URL, которые доступны и предназначены для индексации. Адреса, ведущие на редирект, страницы с noindex и дубли другого canonical создают противоречия. Подробнее состав файла разобран в статье о Sitemap.xml для интернет-магазина.
Как указать canonical в HTML
Для HTML-страницы поместите элемент link в head. Используйте абсолютный HTTPS-адрес, чтобы не зависеть от того, как система разрешает относительные пути. Ниже учебный домен shop.example; его нужно заменить своим рабочим доменом.
<head>
<link rel="canonical" href="https://shop.example/product/blue-mug">
</head>
На основной карточке это canonical на себя. На дубле с рекламной меткой тот же элемент указывает на чистый адрес. Для второй страницы категории пример другой:
<head>
<link rel="canonical" href="https://shop.example/catalog/mugs?page=2">
</head>
У страницы с фильтром, которую вы решили индексировать отдельно, будет её собственный основной URL. Не удаляйте значимые параметры вместе с рекламными: в примере пагинации page=2 необходим для различения страниц.
Google также поддерживает canonical через HTTP-заголовок Link, в том числе для документов, где нет HTML-раздела head. Если используете оба способа, их значения не должны противоречить друг другу. Для обычного магазина проще поддерживать один понятный источник настройки, чем независимо формировать разные адреса в шаблоне и серверных заголовках.
Основной URL должен открывать нужную страницу, а не вести на ошибку, цепочку перенаправлений или тестовый домен. Не оставляйте несколько разных canonical после подключения модуля или правки шаблона. И не добавляйте canonical в основной текст страницы: это служебная настройка.
Как проверить результат после настройки
Начните с выборки разных страниц: обычная карточка, рекламная ссылка, вариант, фильтр, сортировка и вторая страница категории. Для каждой запишите ожидаемый основной URL. Проверка одной удачной карточки не покажет ошибку, повторяющуюся во всех фильтрах.
В исходном HTML и итоговом документе проверьте расположение canonical, его адрес и отсутствие конфликтующих значений. Откройте целевой URL и убедитесь, что он отвечает кодом 200, содержит ожидаемый товар или список и доступен для индексации. Затем сопоставьте его с внутренними ссылками и Sitemap.
В Google Search Console, инструменте проверки URL, сравните каноническую страницу, заявленную пользователем, и выбранную Google. Для этого нужна информация об индексированной версии: успешная проверка доступности текущей страницы ещё не доказывает, что Google уже принял новый canonical. В Яндекс Вебмастере проверьте адрес в инструментах индексации и статусы «Дубль» и «Неканоническая».
Изменения оцениваются после повторного обхода и обработки. Не обещайте точный срок смены адреса в поиске и не меняйте настройку каждый день из-за старого результата. Сохраните дату исправления и проверяйте, какую версию робот получил после неё.
Если поисковик выбрал другой URL
Сначала проверьте, действительно ли страницы похожи и доступен ли заявленный основной адрес. Затем ищите конфликт: редирект на иной URL, другой canonical в заголовке, ссылки на дубль, неканонические адреса в Sitemap, различия содержания или технические ошибки. Исправляйте причину, а не добавляйте ещё один тег.
Если страницы решают разные задачи, выбор другого адреса может показывать, что их вообще не следовало объединять. Для фильтра с самостоятельным ассортиментом или отдельной модели пересмотрите модель индексации. Для настоящего дубля согласуйте сигналы и дождитесь обработки исправлений.
Частые вопросы
Обязательно ли ставить canonical на каждую страницу?
Нет: поисковик может выбрать основной адрес самостоятельно. Canonical на себя полезен как последовательная настройка шаблона, особенно если у страниц появляются дубли с параметрами. Но он не устраняет ошибки структуры и не делает любое содержание уникальным.
Можно ли с помощью canonical убрать старый товар из поиска?
Не следует рассчитывать на него как на команду удаления. Если товар переехал на новый адрес, рассмотрите постоянный редирект. Если страница больше не существует или должна быть исключена, выберите соответствующий HTTP-ответ или настройку индексации. Похожий товар не автоматически является заменой старой карточки.
Нужно ли ставить canonical на категорию в карточке товара без наличия?
Нет, отсутствие товара само по себе не превращает карточку в дубль категории. Решение о сохранении страницы зависит от того, вернётся ли товар и остаётся ли информация полезной. Canonical нужен для похожего содержания, а не для скрытия статуса наличия.