Задача. Плагин Seo by Yoast добавляет каноническую ссылку на страницах пагинации на саму себя, а нужно чтобы ссылка была на первую страницу (Пример №1).
Пример №1
На второй странице каталога
Было
Стало
На второй странице каталога
Было
<link rel="canonical" href="https://wpcraft.top/catalog/page/2/" >
Стало
<link rel="canonical" href="https://wpcraft.top/catalog/" >
Решение.Для настройки атрибута rel = "canonical"
в Seo by Yoast можно использовать несколько решений:
* Проблема. Если использовать решения ниже, то не сработает адрес заданный вручную в настройках (Seo by Yoast) на странице «Канонический URL-адрес» .
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
## Вариант 1: 'canonical' на первую в SEO by Yoast function wpcrft_return_canonical() { // is_paged() относится только к страницам типа архивы, главной, дат, к тем которые делятся на несколько if (is_paged()) { $canon_page = get_pagenum_link(1); return $canon_page; } } add_filter( 'wpseo_canonical', 'wpcrft_return_canonical', 100 ); |
В Коде №1 стоит обратить внимание на приоритет
100
в фильтре 'wpseo_canonical'
. Иногда код не срабатывает если этот параметр отсутствует или очень мал.
1 2 3 4 5 6 7 8 9 10 11 |
## Вариант 2: 'canonical' на первую в SEO by Yoast function wpcrft_return_canonical_2($link) { $link = preg_replace('#\\??/page[\\/=]\\d+#', '', $link); return $link; } add_filter( 'wpseo_canonical', 'wpcrft_return_canonical_2', 100, 1 ); |
У меня этот код работает видимо некорректно. Мне так кажется. Потому что в индекс яндеска постоянно попадают некоторые страницы пагинации и потому выпадают и длится это уже давно….
Зайдите на страницу пагинации своего сайта и посмотрите в исходном коде каноническую ссылку. Например для 4-й страницы должно быть что-то вроде этого:
<link rel=»canonical» href=»http://site.net/» />
<link rel=»prev» href=»http://site.net/page/3/» />
<link rel=»next» href=»http://site.net/page/5/» />
Так а как сделать каноникал на первую через All in One Seo Pack? Интересны оба поисковика, но яндекс в приоритете. А то ругается что нет описания на страницах пагинации в вебмастере.
Вставляю код не срабатывает( не знаете почему?
Воможно, что-то в плагине изменилось. Переделал Код №1. Если еще не решили свою проблему, попробуйте этот Код №1. У меня сработало.