Перейти к основному содержимому

Руководства / Понятия мониторинга простыми словами

Что такое канонический URL и когда его использовать

Канонический URL - это тот единственный адрес, который вы назначаете настоящей версией страницы, чтобы поисковые системы объединяли каждый ее дубликат в один результат. Вы объявляете его через <link rel="canonical" href="..."> в <head> страницы либо через заголовок ответа Link, и указанный вами адрес должен быть абсолютным.

Что на самом деле делает rel=canonical

Одно и то же содержимое обычно доступно больше чем по одному URL. Параметры отслеживания, идентификаторы сессии, завершающий слеш, http наравне с https, www наравне с голым доменом, версия для печати, отсортированный список - каждое из этого отдельный URL, отдающий одни и те же слова. Если оставить как есть, поисковая система сама выберет один из них, и это может оказаться не тот, что выбрали бы вы.

Канонический адрес - это способ сделать такой выбор явным:

<link rel="canonical" href="https://example.com/shoes">
Link: <https://example.com/shoes>; rel="canonical"

Стоит усвоить два свойства. Во-первых, это подсказка, а не инструкция. Google взвешивает ее вместе с редиректами, внутренними ссылками, записями карты сайта и самим содержимым, и вполне может выбрать другой канонический адрес, чем тот, что объявили вы. Во-вторых, он объединяет, а не удаляет. Сигналы от дубликата накапливаются на каноническом адресе, и в этом отличие от noindex, где дубликат просто перестает существовать с точки зрения поиска.

Самоссылающиеся канонические адреса

Каждая индексируемая страница должна объявлять себя собственным каноническим адресом. Звучит избыточно, а на деле это самая полезная из трех строк, потому что именно она нейтрализует параметры, которые вы не предвидели. Когда /shoes?utm_source=newsletter объявляет https://example.com/shoes, URL из кампании автоматически сворачивается в чистый вместо того, чтобы конкурировать с ним.

Три правила, чтобы сделать это правильно: используйте абсолютные URL со схемой, выводите ровно один элемент canonical на страницу (у страницы с двумя противоречащими друг другу каноническими адресами игнорируются оба), и держите канонический адрес согласованным с остальными вашими сигналами. Канонический адрес, указывающий на URL, который куда-то редиректит, либо возвращает 404, либо несет noindex, отправляет противоречивые инструкции и не учитывается.

Междоменные канонические адреса

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

Это же делает канонические адреса опасными. Ничто не мешает странице назначить каноническим URL на хосте, с которым у нее нет никакой связи, и ничто в синтаксисе не выдает случайный междоменный канонический адрес как ошибку. Именно отсюда берется сбой со staging.

Сбой с каноническим адресом staging

Большинство фреймворков и систем управления содержимым строят канонический адрес, склеивая настроенный базовый URL с текущим путем. Этот базовый URL живет в переменной окружения, строке опции в базе данных или файле конфигурации, и он разный в каждом окружении. Когда значение staging попадает в продакшен, каждая страница живого сайта объявляет, что настоящая версия живет по адресу https://staging.example.com/....

То, что следует за этим, происходит тихо и медленно. Живые страницы продолжают отдавать 200 и продолжают отдавать верное содержимое. Но каждая из них говорит Google, что авторитетная копия находится где-то еще, а это "где-то еще" либо недоступно, либо защищено паролем, либо помечено noindex. Страницы начинают выпадать из результатов при каждом повторном обходе, и поскольку ошибки, на которую можно было бы среагировать, нет, первым сигналом обычно оказывается график трафика неделю спустя. Исправление разобрано в исправлении канонического адреса, указывающего на staging.

Канонический адрес, редирект или noindex

Эти три используют как взаимозаменяемые, а они не взаимозаменяемы:

  • Редирект 301, когда дубликат вообще не должен быть доступен. Самый сильный доступный сигнал, и правильный ответ для снятого с публикации URL или переноса домена.
  • rel=canonical, когда оба URL должны оставаться доступными, но ранжироваться должен только один. Параметры, версии для печати, синдицированные копии, отфильтрованные списки.
  • noindex, когда страница должна оставаться доступной и не должна ранжироваться, а эквивалентной страницы, в которую можно было бы объединить сигналы, не существует. Результаты внутреннего поиска, страницы благодарности, разделы аккаунта.

Не совмещайте их. Канонический адрес на странице с noindex противоречив, поскольку вы одновременно просите об объединении сигналов со страницей и просите игнорировать саму эту связь.

Проверьте, что вы отдаете на самом деле

Чтение шаблона - не проверка, потому что edge-воркеры, плагины и серверная логика все могут вставлять канонические адреса, которых нет в вашем репозитории. Вместо этого читайте ответ: curl -s https://example.com/ | grep -i 'rel="canonical"'. Для одной страницы бесплатная проверка канонического адреса разрешает тег и сообщает, указывает ли он на саму страницу, на другой URL на том же хосте, на http-версию или на другой хост. Чтобы проверить весь сайт, бесплатный инструмент обхода сайта сообщает статус канонического адреса по каждому URL, отмечая страницы, где он отсутствует, и страницы, где он указывает не туда. Следить за ключевыми страницами на предмет дня, когда значение изменится, - задача опции Indexability в HTTP-мониторе HostTracker, см. SEO-мониторинг.

Проверить сейчас

Запустите бесплатную проверку своего сайта - аккаунт не нужен.

Canonical checker

Следить за этим постоянно

Получайте оповещение в момент сбоя: HostTracker проверяет более чем из 300 локаций и уведомляет по email, SMS, в Slack, Telegram и не только.

Возможности HostTracker

Ещё в этом разделе: Понятия мониторинга простыми словами