+7 919 711 99 12
metail@list.ru
  • Шрифт

  • 14

  • 16

  • 18

  • 20

  • 22

22 Декабря 2020

SEO для страниц постраничной навигации


После установки на сайт постраничной навигации, о которой рассказано в прошлой статье Постраничная навигация на PHP и MySQL, возникли вопросы требующие решений.


Первый вариант: канонической страницей является первая страница постраничной навигации

При установке на сайт постраничной навигации я столкнулся с тем, что поисковики удаляют из поиска страницы с постраничной навигацией, признав их дублями и(или) требуя указать ссылку на каноническую страницу. У Гугла и Яндекса требования немного разные, но я ориентируюсь на трафик из Яндекса, а Яндекс рекомендует выбрать одну страницу, на которую будет направляться поисковый трафик всех проиндексированных страниц постраничной навигации.


Встала задача установить вот этот код <link rel="canonical" href="https://metail.ru/demo/pagenavigation/" /> между тегами <head> </head> на все страницы постраничной навигации кроме первой.

Недолго думая я написал скрипт на языке JavaScript, который добавлял необходимый код на необходимых страницах. Но Яндекс не увидел мои старания. Не до конца понимаю как работает поисковый робот Яндекс, но похоже, что он индексирует страницы раньше чем выполняется скрипт на JavaScript. По крайней мере, у меня так получилось.

Есть другое решение. Скрипт можно написать на языке PHP, который выполнится на сервере и Яндекс гарантированно увидит результат выполнения.

Адреса страниц с постраничной навигацией выглядядят так:
Первая страница - https://metail.ru/demo/pagenavigation/
Вторая страница - https://metail.ru/demo/pagenavigation/?page=2
- - -
Десятая страница - https://metail.ru/demo/pagenavigation/?page=10

На первой странице постраничной навигации отсутствует GET-параметр, а на второй и остальных страницах GET-параметр присутствует. Это мы и будем использовать в скрипте. Сначала извлекаем GET-параметр из адресной строки, а далее проверяем на неравенство пустоте.

Скрипт для SEO страниц постраничной навигации получился очень простым. Вставляем этот код между тегами <head> </head>.

СветлаяТёмнаяПеренос 
<?php
$addrget = $_SERVER[ 'QUERY_STRING' ]; // Извлекаем GET-параметр из адресной строки
if ( $addrget !== '' ) {
  echo '<link rel="canonical" href="https://metail.ru/demo/pagenavigation/" />';
}
?>

Готово. Страницы постраничной навигации попали в поиск, о чём и пишет Яндекс.


В исходном коде на демотранице видно, что на всех страницах кроме первой присутствует каноническая ссылка.





Второй вариант: на всех страницах постраничной навигации устанавливается каноническая ссылка сама на себя

На многих сайтах веб-разработчики на страницах постраничной навигации ставят каноническую ссылку саму на себя. То есть поисковый трафик будет направляться поисковиками не на первую страницу постраничной навигации, как в первом варианте, а на те страницы, на которых и находится проиндексированный контент.

Сначала извлекаем адрес страницы из адресной строки и выводим каноническую ссылку на этот адрес.

Вставляем этот код между тегами <head> </head>.

СветлаяТёмнаяПеренос 
<?php
$url = ((!empty($_SERVER['HTTPS'])) ? 'https' : 'http') . '://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
echo "<link rel='canonical' href='$url' />";
?>

Готово. Страницы постраничной навигации попали в поиск.


В исходном коде на демотранице видно, что на всех страницах постраничной навигации присутствует каноническая ссылка.

Рекомендую

Ознакомтесь со статьёй о том, как установить на сайт Постраничную навигацию на PHP и MySQL