Войти
БлогТехническая оптимизация

Canonical - полное руководство

2020-03-20
1259
(237)
Canonical - полное руководство

Canonical указывает поисковым системам какая страница из двух идентичных является основной (канонической). Именно она попадёт в индекс поисковой системы, а информация с её неканонических страниц приклеивается к ней, передавая свой вес по различным факторам.

Использовать canonical следует для предупреждения появления дублей страниц с различными get-параметрами (sort, filter, utm_source и т.д) и дублей в CMS с идентичным контентом (особенно этим болеет популярная CMS Joomla).

Склейка страниц

Директива canonical носит рекомендательный характер для поисковых систем. А это значит что она может легко игнорироваться и склейки страниц не произойдёт или она произойдёт в обратную сторону.

Чаще всего склейка не работает если контент страниц значительно отличается. Также поисковые системы предпочитают более короткие адреса страниц для канонической.

Способы установки

HTML-тег

Указать канонический адрес страницы можно с помощью тега link с атрибутом rel=canonical, размещённого в контейнере head. В содержимом атрибута href такого тега указывается абсолютная ссылка на каноническую страницу.

<link rel="canonical" href="https//ilyagorbachev.com/page"/>

Наиболее популярное исполнение. Работает как в Яндексе, так и в Google.

HTTP-заголовок

Указать канонический адрес файлов сайта (и страниц) можно с помощью заголовка ответа сервера Link, содержащего rel=canonical:

Link: <https://ilyagorbachev.com/file.pdf>; rel="canonical"

Способ поддерживается как Яндексом, так и Google.

XML карта сайта

Google учитывает ссылки на страницы в используемом файле XML карты сайта для выбора канонической страницы. Поэтому указав все канонические адреса страниц в файле (и исключив все неканонические) мы можем получить тот же результат, что и при использовании canonical в HTML-теге.

Проблема только в том что Яндекс не учитывает XML карту сайта при определении канонической страницы. Это подтвердили его представители.

Canonical для пагинации

Часто тег canonical используют для страниц пагинации, устанавливая его с самих страниц пагинации на основную страницу.

Метод сложно назвать абсолютно правильным, так как могут быть проблемы с обходом роботом Google товаров, ссылки на которые размещены на страницах пагинации.

Гораздо лучше уникализировать мета-теги страниц пагинации так, чтобы они не мешали ранжированию основной страницы.

Кроссдоменный Canonical

Поисковые системы Яндекс и Google по-разному воспринимают кроссдоменные canonical. Google их учитывает и может склеить. А в Яндексе кроссдоменные canonical игнорируются, даже если речь идёт о страницах поддомена того же сайта.

Автореферентный Canonical

Использование самореферентного canonical (когда страница ссылается сама на себя) рекомендуется в Google и не имеет значения для Яндекса. Для Google это сигнал, снимающий неопределенность в отношении того является ли страница конечным узлом в цепи вектора каноничности.

Проверка

Проверить HTML-тег можно вручную через инструменты разработчика (на странице зажимаем CTRL+U, а затем через CTRL+F ищем слово “canonical”), либо используя расширение для браузера ("SEO META in 1 CLICK" и т.п.).

Проверка Canonical через инструменты разработчика Google Chrome

Проверить HTTP-заголовок можно через сервис bertal.ru. Выберите Googlebot или Yandexbot и обязательно подключите опцию «Показать HTML-код страницы», в противном случае вы можете получить не те заголовки ответа сервера что получают поисковые роботы.

Для массовой проверки лучше использовать программу Screaming Frog SEO Spider (или её украинский аналог - Netpeak Spider).

Настройка популярных CMS

Настройка Canonical на Joomla

Данная CMS славится своими дублями, логичным путем исправления которых является настройка canonical.

Вручную указать нужный тег link rel=”canonical” для страниц сайта на CMS Joomla можно установив плагин “Custom Canonical”. После установки рядом с полями для указания мета-тегов появится поле для указания адреса страницы для canonical.

В результате canonical появится на всех версиях страницы в Joomla: с динамическими URL и со статическим URL в статье, меню и категории.

Настройка Canonical на WordPress

Для того чтобы добавить Canonical сайту на WordPress наиболее простой вариант - установить плагин Yoast SEO. После установки при создании страницы или записи, нажмите на “Изменить сниппет” и укажите требуемый ярлык, это и будет локальный URL-адрес страницы. Он же будет указан в теге link rel=”canonical”.

Yoast - один из самых удобных SEO-плагинов для CMS WordPress, он в меру гибкий и имеет весь базовый функционал мета-тегов. Главное не лениться их заполнять.

Настройка Canonical для товаров Bitrix

С настройкой в Bitrix не должно возникнуть проблем если следовать официальным рекомендациям.

Настройка Canonical на OpenCart для страниц пагинации

Настроить вывод тега link rel=“canonical” на страницах пагинации категорий для CMS OpenCart можно разместив в файле catalog/controller/product/category.php в функции info() после строки $this->load->model('tool/image'); вставить следующий код:

if (isset($this->request->get['page'])) {
  $page = $this->request->get['page'];
  $pathx = explode('_', $this->request->get['path']);
  $pathx = end($pathx);
  $this->document->addLink($this->url->link('product/category', 'path=' . $pathx ), 'canonical');
} else {
  $page = 1;
}

Для того чтобы настроить canonical для страниц пагинации производителей, нужно в файле catalog/controller/product/manufacturer.php (в том же месте что и для категорий) добавить код:

if (isset($this->request->get['manufacturer_id'])) {$this->document->addLink($this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->get['manufacturer_id']), 'canonical');}

Какие нетипичные случаи использования rel=“canonical” вам встречались?

Оцени статью
Оставить комментарий
Отправить