Перейти к содержанию
⚙️
Технический SEO
Урок 14 из 22 · Управление краулингом
БЕСПЛАТНО +50 XP

Тег canonical

Тег canonical — это элемент link с rel="canonical", который указывает, какой URL представляет содержимое страницы. Главное, что важно знать о нём с первой строки: указание канонического URL — это подсказка, а не правило. Google может выбрать другую страницу. В уроке — синтаксис, два способа подачи, правила из документации и ловушки, включая пагинацию и PDF.

Общую картину дублей мы разобрали в уроке про дублированный контент. Здесь — сам тег. Основа — страница Google об объединении дублирующихся URL.

🏷️
rel=canonical объясняет себя
«Я не приказываю, а предлагаю: вот страница, которая представляет этот контент. Страница при этом остаётся доступной.»

Синтаксис

<!-- В head дублирующей страницы /dresses/green-dresses?sort=price -->
<link rel="canonical" href="https://example.com/dresses/green-dresses" />

<!-- То же самое — на самой канонической странице (самоссылающийся canonical) -->
<link rel="canonical" href="https://example.com/dresses/green-dresses" />

Google рекомендует добавлять такой же самоссылающийся элемент на саму каноническую страницу. Если у неё есть мобильная версия на отдельном URL, к ней добавляют ещё и rel="alternate" с условием media.

Правила размещения

  • Только в head. Элемент принимается, только если находится в разделе head HTML, поэтому как минимум head должен быть корректным HTML;
  • абсолютные URL. Относительные пути поддерживаются, но могут вызвать проблемы, например если тестовый сайт случайно открыт для обхода. Хороший пример — полный адрес с протоколом и доменом;
  • один способ, а не два. Элемент в HTML и заголовок HTTP допустимы оба, но использовать их одновременно более подвержено ошибкам: в одном можно указать один URL, а в другом — другой. Выберите один;
  • JavaScript. Если элемент добавляется скриптом, его нужно внедрять корректно; лучше задать его в исходном HTML и не менять скриптом. Подробнее — в уроке про JavaScript и SEO.

Заголовок HTTP: единственный путь для PDF

Если вы можете менять конфигурацию сервера, канонический URL указывают заголовком ответа Link с rel="canonical". Это работает и для не-HTML-документов, например PDF, а у HTML-элемента такой возможности нет. Типичный случай — версия контента в нескольких форматах, у каждого свой URL: для файла .docx можно отдать заголовок с адресом PDF-версии.

HTTP/1.1 200 OK
Link: <https://www.example.com/downloads/white-paper.pdf>; rel="canonical"

Как и для элемента, здесь нужны абсолютные URL. Google поддерживает этот способ только для результатов веб-поиска.

Canonical и редирект: не про «вес»

Часто сравнивают так: canonical передаёт «около 100%» ссылочного веса, а 301 — «90–99%». Таких цифр в документации нет, и сравнивать способы по ним нельзя. Документация сравнивает их иначе: перенаправление и rel="canonical" — оба сильные сигналы, карта сайта — слабый. Разница практическая:

  • перенаправление — когда дубликат нужно убрать: используйте его, когда хотите избавиться от существующих дублей. Пользователь на дубль больше не попадёт. Для самого быстрого эффекта нужны серверные перенаправления;
  • rel="canonical" — когда дубль должен остаться доступным: фильтры, сортировка, варианты;
  • карта сайта — все указанные в ней страницы предлагаются как канонические, а дубликаты Google определяет по схожести. Удобно для больших сайтов, но сигнал слабее.

Постоянные и временные перенаправления различаются, и это отдельная тема в уроке про редиректы; цели цепочек видны в проверке редиректов.

Ловушки

  • Пагинация. Для последовательности страниц Google говорит прямо: не используйте первую страницу как каноническую для всех, а дайте каждой странице собственный канонический URL. Каждая страница с ?page=n — отдельная страница для Google, а не дубль первой;
  • hreflang, lang, media и type внутри rel="canonical" для канонизации не используются: альтернативные версии указываются другими аннотациями, например rel="alternate" hreflang. Версии на разных языках считаются дублями, только если основной контент на одном языке;
  • noindex вместо canonical. Google не рекомендует использовать noindex, чтобы предотвратить выбор канонической страницы в пределах сайта: он полностью блокирует страницу в поиске;
  • Противоречия. Один URL в карте сайта, другой в rel="canonical": для одной страницы нельзя указывать разные канонические URL разными способами;
  • Относительные пути и фрагменты URL (фрагмент как канонический указывать нельзя).

Чего в документации нет

Утверждения, которые источниками не подтверждаются: передача «около 100%» веса, потеря «на цепочке A → B → C» и «противоречие» canonical на страницу с noindex как отдельное правило. Это не значит, что противоположное верно. Это значит, что надёжнее опираться на то, что написано в документации: подсказка, head, абсолютные URL, один способ, один URL на страницу.

Как проверить

  1. Откройте страницу в анализаторе страницы и убедитесь, что canonical один, лежит в head и ведёт на абсолютный URL.
  2. Пройдите по сайту краулером: найдите страницы без canonical, с относительными путями и с разными URL в заголовке и в HTML.
  3. Проверьте, что страницы пагинации указывают каждая на себя.
  4. Через проверку URL в Search Console сравните объявленный и выбранный Google канонические URL; массово — через аудит URL.
  5. Если Google выбрал не ту страницу, смотрите на противоречивые сигналы: редиректы, карту сайта, внутренние ссылки, протокол.

Чек-лист

  1. Canonical задан в head, а не в body.
  2. URL абсолютные, без фрагментов.
  3. Используется один способ: элемент или заголовок.
  4. Каноническая страница ссылается на себя.
  5. Страницы пагинации не указывают на первую.
  6. Для PDF и других файлов используется заголовок HTTP.
  7. Внутренние ссылки и карта сайта ведут на канонический URL.

Ошибки

  • Считать canonical командой, а не подсказкой.
  • Указывать на первую страницу из всех страниц пагинации.
  • Ставить тег в body или ломать head невалидным HTML.
  • Давать разные URL в заголовке и в HTML.
  • Закрывать дубли в robots.txt вместо canonical: об этом — в уроке про robots.txt и canonical.

Что дальше

Дальше — SEO в CMS: как настроить эти правила в системе управления сайтом. Про границу между запретом обхода и canonical — в уроке про robots.txt и canonical, о правилах URL — в уроке про структуру URL.

🎯
Задание к уроку
Проверьте понимание и получите +20 XP
← Дублированный контент
Урок 14 из 22
Перейти к заданию →