Генератор canonical и hreflang тегов
Два тега, которые спасают от дублей и путаницы с языковыми версиями. Каноническая ссылка (canonical) говорит поисковику, какую страницу считать основной, когда есть дубли с параметрами или фильтрами. Теги hreflang указывают, какая версия предназначена для какого языка и региона, чтобы пользователю показывалась правильная. Укажите канонический URL и языковые версии — инструмент соберёт готовый код для <head> вместе с x-default. Всё считается в браузере.
Зачем нужны canonical и hreflang
Это два тега в <head>, которые помогают поисковику не запутаться. Каноническая ссылка решает проблему дублей: когда одна и та же страница доступна по нескольким адресам (с UTM-метками, параметрами сортировки, со слешем и без), canonical указывает, какую версию считать главной и показывать в выдаче. Без него поисковик может «размазать» трафик по копиям и понизить позиции. Теги hreflang решают другую задачу — мультиязычность: они сообщают, какая версия страницы предназначена для русского, английского или, скажем, немецкого пользователя, чтобы человек попадал на нужный язык, а версии не конкурировали между собой.
Как работает каноническая ссылка
Тег <link rel="canonical" href="..."> ставится в head каждой страницы и указывает на её основную версию. Если страница уникальна, canonical ведёт сам на себя — это нормально и даже рекомендуется. Если это дубль, canonical указывает на оригинал. Важно использовать абсолютные URL (с доменом и протоколом) и следить, чтобы канонический адрес отдавал код 200, а не редирект или 404. Частая ошибка интернет-магазинов — забыть про canonical на страницах фильтров и пагинации, из-за чего в индекс попадают сотни почти одинаковых страниц. Этот инструмент формирует тег за секунду: укажите нужный URL — получите готовую строку.
Правила hreflang, которые нельзя нарушать
hreflang работает только при соблюдении нескольких условий. Первое и главное: теги должны быть взаимными. Если страница A ссылается на страницу B как на английскую версию, то страница B обязана ссылаться обратно на A — иначе поисковик проигнорирует разметку. Второе: каждая страница должна перечислять все языковые версии, включая саму себя. Третье: коды языков указываются по стандарту — двухбуквенный код языка (ru, en) и при необходимости код региона (en-US, pt-BR). Четвёртое: желательно добавить x-default — версию для пользователей, чей язык не представлен. Инструмент проверяет коды на корректность и предупреждает о повторах и пропущенных URL.
| Значение | Что означает |
|---|---|
| ru | Русский язык, любой регион |
| en-US | Английский для США |
| en-GB | Английский для Великобритании |
| de | Немецкий язык, любой регион |
| x-default | Версия по умолчанию для остальных |
- Абсолютные URL и код ответа 200 в canonical
- Взаимные hreflang на всех языковых версиях
- Добавляйте x-default для прочих языков
- canonical на редирект или несуществующую страницу
- Односторонних hreflang без обратной ссылки
- Неверных кодов языка и региона
Как это сделать
- Укажите канонический URL страницы — обычно это её собственный полный адрес.
- Перечислите языковые версии в формате «код | URL» — по одной в строке.
- Используйте коды вида ru, en или с регионом — en-US, ru-RU.
- При необходимости добавьте x-default для пользователей с другими языками.
- Скопируйте готовый блок тегов.
- Вставьте его в секцию <head> — и не забудьте про взаимность на всех версиях.
Частые вопросы
Да, рекомендуется ставить самоссылающийся canonical даже на уникальных страницах. Он указывает сам на себя и страхует от случайных дублей, которые часто возникают незаметно: адреса с UTM-метками из рекламы, параметры сортировки, версии со слешем и без, http и https. Самоканоникал заранее говорит поисковику, какой адрес считать эталонным, и трафик не размывается по техническим копиям. Это дешёвая страховка, которая ничего не стоит, но избавляет от частого класса проблем с индексацией.
У них разные задачи. Редирект 301 физически перенаправляет и пользователя, и робота на другой адрес — старая страница становится недоступной. Canonical же оставляет страницу доступной для пользователя, но подсказывает поисковику, какую версию индексировать. Редирект используют, когда страница переехала навсегда. Canonical — когда нужны обе версии (например, товар в разных категориях), но в выдаче должна быть одна. Путать их нельзя: редирект там, где нужен canonical, закроет пользователю доступ к нужной странице.
Поисковик их проигнорирует. Взаимность — обязательное условие: если русская страница указывает английскую как альтернативу, английская обязана указывать русскую в ответ. Это защита от чужих манипуляций — иначе любой сайт мог бы объявить себя языковой версией вашего. Поэтому при настройке проверьте, что на каждой версии перечислены все остальные, включая её саму. Односторонняя разметка не просто бесполезна — она тратит краулинговый бюджет впустую. Инструмент генерирует блок для одной страницы; такой же согласованный набор нужно поставить на каждую версию.
Не обязателен, но желателен. x-default указывает версию для пользователей, чей язык не представлен среди ваших переводов, или когда поисковик не уверен, какую версию выбрать. Например, у вас есть русская и английская версии, а на сайт заходит пользователь из Франции — x-default подскажет, что ему показать (обычно англоязычную или международную страницу). Без x-default поисковик примет решение сам, и не всегда удачно. Если языковых версий несколько, добавить x-default — хорошая практика, которая улучшает попадание пользователя на подходящую страницу.
Есть три способа: в HTML-коде страницы (теги link в head), в HTTP-заголовках (для не-HTML файлов вроде PDF) и в карте сайта sitemap.xml. Самый распространённый и удобный для большинства сайтов — теги в head, их и генерирует этот инструмент. Для очень больших сайтов с тысячами страниц иногда выбирают разметку через sitemap, чтобы не раздувать HTML. Способы можно не смешивать: выберите один и придерживайтесь его. Главное во всех случаях — соблюдать взаимность и полноту перечисления версий.
Косвенно и положительно. Напрямую canonical и hreflang не повышают позиции, но устраняют проблемы, которые их роняют. Canonical предотвращает каннибализацию, когда дубли конкурируют друг с другом и размывают сигналы. hreflang следит, чтобы в нужном регионе показывалась правильная языковая версия, а не случайная — это улучшает поведенческие факторы и снижает отказы. То есть теги не разгоняют сайт вверх, а убирают тормоза. Для мультиязычных и крупных сайтов их корректная настройка — обязательная гигиена, без которой остальное SEO работает хуже.