Yoast SEO – один из самых используемых плагинов общей оптимизации сайта для WordPress. Несмотря на это, он, как и любое расширение, имеет ряд недостатков. Один из таких – неверно прописываемый canonical. Разбираемся, что это, какие минусы в написании модуля и как их исправить.
Canonical URL: что это
Для начала рассмотрим представление в системном коде:
<link rel="canonical" href="https://site.ru/pagenum/2/" />
Прописанный Yoast SEO атрибут canonical – элемент, сигнализирующий обходящему боту о статусе страницы: каноническая она или нет. В случае положительного ответа, сканирование будет совершено, а если прописанные адрес отличается от урла статьи – робот не будет заниматься сканированием.
Основная задача каноникла – исключение из ранжирования дублей со стороны вебмастера, однако я выделяю еще несколько его преимуществ:
- Отсутствие копий – неуникальный дублирующийся материал пессимизирует сайт в выдаче, снижая общую ценность ресурса в глазах Яндекса или Гугла.
- Оригинальная структура – сохранить задуманный путь, в первую очередь удобный посетителю, без создания ветви редиректов – важная задача сеошника, прямо влияющая на поведенческие факторы: клиент будет недоволен бесконечными перенаправлениями с одного документа на другой.
- Повышение позиций – важность статьи для поисковиков возрастает также если отсутствуют его дубли и перенаправления с мусорных страниц.
Хорошей иллюстрацией правильного его проставления можно выделить пример интернет-магазинов: на каждом каталоге, посвященным конкретному виду товаров, они имеют много фильтров. Избежать копий у них получается благодаря каноническам адресам, никак не нарушающим изначально задуманную структуру.
Несмотря на это, Yoast SEO (WPSEO до ребрендинга) вставляет автономный canonical и в служебные документы, незаблокированные через robots.txt, однако посетителю бесполезные. Пагинация, архивы и много другого служебного контента попадет в индекс и спровоцирует падение позиций продвигаемых документов. Предлагаю отключить эту опцию.
В продолжение темы вам будет полезна стать: Как должен выглядеть robots.txt. Читайте инструкцию с идеальными директивами в этом файле.
Как изменить canonical от Yoast SEO?
Для отключения формирования никак не изменяемых canonical в служебных разделах можно воспользоваться плагинами, не требующими сложной установки или работы с кодом, или опцией, которую необходимо внедрить в файлы WordPress.
Для главной пагинации
Настраивая индексацию навигации, учтите, что робот не должен ее допустить в выдачу, но обходя страницу, должен перейти по всем внутренним линкам. Чтобы это сделать, необходимо вписать комбинацию:
- Noindex – запрет к попаданию в индекс определенного документа.
- Follow – разрешение переходить по установленным ссылкам.
Таким образом, без ущерба авторитетности ресурса, мы увеличиваем обходимую базу. Дополнительно стоит указать canonical на главную рубрики или блога. Через Yoast SEO это не сделать, но возможно с помощью Clearfy PRO.
Перейдите в настройки модуля. Откройте раздел “SEO” и активируйте этот чекбокс в области конфигурирования Yoast.
Clearfy -15%
Через системную функцию
Также можно использовать возможности ВордПресс, однако ручные правки могут как нарушить работу сайта, так и просто нарушить работу шаблона из-за несовместимости. Для этого:
- Зайдите в вкладку “Внешний вид” > “Редактор файлов”.
- Откройте для редактирования functions.php.
- После завершения предыдущего фрагмента, вставьте следующий код:
function wpboost_canonical_redirect() {
if( is_singular() && !is_front_page() ) {
global $post, $page;
$num_pages = substr_count( $post->post_content, '<!--nextpage-->' ) + 1;
if( $page > $num_pages || $page == 1 ) {
wp_safe_redirect( get_permalink( $post->ID ), 301 );
exit();
}
}
}
add_action( 'template_redirect', 'wpboost_canonical_redirect' );
Дополнительно добавьте правило в robots.txt, запрещающее обход:
Disallow: /page/*
Удаление canonical в таксономиях
Несмотря на всю пользу меток при продвижении в поисковиках, они генерируют отдельные ветви пагинации. Отключить их попадание в ранжирование можно при помощи настроек самого Yoast SEO и удаления canonical из head.
Перейдите в вкладку “Таксономии”, выключите переключатель на виджете, показанный на скриншоте.
Этого изменения не хватит. Дополнительно необходимо зайти в подразделы “Рубрики” и “Метки” и установить вручную канонические ссылки на главную или основные категории.
Кроме этого, зайдите в Клиарфай и активируйте “Noindex пагинации”. Это будет хорошей альтернативой тому же функционалу от стороннего софта и отсутствию нужных опций в Yoast SEO.
Клиарфай -15%
По автору и дате
По умолчанию WordPress формирует два бесполезных типа архивов: по пользователю-автору материала и по дате публикации. Если вы публикуете контент один – оба фильтра не нужны.
Если их оставлять, зайдите в вкладку “Архивы” и отключите оба элемента.
Советую также добавить в роботс:
Disallow: /author/*
Это добавит запрет на индексацию ботам поисковиков.
Вставляю код в functions.php но почему то canonical на страницах page не меняется. Почему так не знаете?
Здравствуйте!
Вот при проверке в Вебмастере обнаружил всего лишь один дубль /50sposobov/index.html – основная страница – /50sposobov/
Последнее посещение 22.01.2022.
Могли бы Вы посоветовать, как избавиться от дубля /50sposobov/index.html, или это не критично, я не очень понимаю и боюсь навредить сайту.
Заранее благодарен.
Добрый день. Это можно сделать в файле .htaccess. Что именно прописать – вам подскажет поддержка вашего хостинга.
Потому что код не рабочий ))
Учитесь не только копипастить, но и понимать что к чему в том, что вы копируете!
Благодарю за подсказку по плагину Clearfy.