Страницы «Вариант страницы с тегом canonical» в Search Console

Обновлено 02.11.2023

wordpress logo

Добрый день! Уважаемые читатели и гости IT блога Pyatilistnik.org. В прошлый раз мы с вами познакомились с ситуацией, что не удавалось скопировать файл с DVD диска, но мы это смогли решить. Сегодня я хочу вам рассказать интересный момент связанный с CMS WordPress и Google Search Console. Суть проблемы в том, что в данной консоли у меня стали появляться страницы, у который был статус "Вариант страницы с тегом canonical". В результате чего некоторые страницы в блоге были исключены из поиска, началась какая-то неразбериха. Давайте обо всем по порядку.

Что за статус "Вариант страницы с тегом canonical" в Google Search Console

Пока я все борюсь с последствиями сентябрьского МПК, стараюсь оптимизировать все, что только можно, вечерами на постоянной основе заглядываю в кабинет вебмастера и Google Search Console, дабы почерпнуть там полезную информацию, на которую подзабивал последнее время. В один из таких заходов, я обратил внимание в разделе "Индексирование", на появившиеся страницы со статусом "Вариант страницы с тегом canonical" их было 19 штук.

Вариант страницы с тегом canonical

По графику видно, что все началось 5 августа, прямо в тот же день, что и началась первая волна МПК. не знаю совпадение это или прост ослучайность.

График со страницами - Вариант страницы с тегом canonical

Чуть ниже я обнаружил примеры таких страниц, там были вот такие адреса:

  1. https://pyatilistnik.org/kak-uznat-ip-adres-kompyutera-Windows-mac-linux/
  2. https://pyatilistnik.org/ne-rabotaet-printer-na-Windows-10/
  3. https://pyatilistnik.org/Windows-can-not-connect-to-the-printer/
  4. https://pyatilistnik.org/kak-postavit-viber-na-kompyuter-s-Windows-10/
  5. https://pyatilistnik.org/kak-uznat-versiyu-Windows-za-minutu/
  6. https://pyatilistnik.org/kak-ustanovit-Windows-7-na-noutbuk-Lenovo-g50-30/
  7. https://pyatilistnik.org/chernyiy-ekran-v-Windows-10/
  8. https://pyatilistnik.org/Windows-11-clean-install/
  9. https://pyatilistnik.org/kak-ochistit-istoriyu-na-kompyutere-s-Windows/
  10. https://pyatilistnik.org/delaem-sbros-parolya-BIOS/
  11. https://pyatilistnik.org/delete-files-with-cipher-exe-Utility/

Визуально все было в порядке, но только потом я понял, что в каждом из них была заглавная буква в адресе UR.

Пример страниц - Вариант страницы с тегом canonical

Я для примера зашел на одну такую страницу там сообщалось:

  • URL нет в индексе Google - Нет
  • Файлы Sitemap
  • Временная ошибка при обработке
  • Ссылающаяся страница - Не найдено
  • URL может быть известен из других источников, которые в настоящее время не раскрываются.
  • Каноническая страница, выбранная пользователем - https://pyatilistnik.org/chernyiy-ekran-v-windows-10/
  • Каноническая страница, выбранная Google - Совпадает с канонической страницей, выбранной пользователем

То есть получается, что у меня в качестве канонического адреса выбрана ссылка с нижним регистром, Google так же ее считает канонической, а вот с большой буквой в адресе, это дубль, который мешает текущей.

Совпадает с канонической страницей, выбранной пользователем

Что из себя представляет каноническая страница и как ее посмотреть

. Каноническая страница - это основная страница, которая представляет собой предпочтительный вариант для поисковых систем при индексации и ранжировании контента на сайте. Она используется для указания поисковым системам на то, что конкретная страница является основной и должна быть приоритетной при отображении в результатах поиска.

Каноническая страница может быть использована в следующих случаях:

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

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

Посмотреть какой у вас канонический URL, можно открыв вашу страницу, нажать там сочетание клавиш CTRL + U, и в тексте найти тег

rel="canonical"

Дубли страницы являются проблемой для поисковых систем по нескольким причинам

  1. ‼️Распыление веса страниц: Когда есть несколько дублирующихся страниц, поисковая система не может однозначно определить, какая из них является наиболее релевантной для конкретного запроса пользователя. В результате, вес страниц может быть разделен между разными дубликатами, что снижает их общую релевантность.
  2. ‼️Ухудшение пользовательского опыта: Если пользователь выполняет поиск и получает в ответ несколько одинаковых или почти идентичных страниц, это может быть разочаровывающим и негативно влиять на его опыт. Это может привести к ухудшению пользовательской активности на сайте, такой как высокий показатель отказов и низкая продолжительность сеанса.
  3. ‼️Снижение доверия поисковых систем: Поисковые системы стремятся предоставить пользователям наиболее релевантные и уникальные результаты поиска. Если сайт содержит множество дублирующихся страниц, это может создать впечатление, что сайт не предлагает оригинального или ценного контента. В результате, поисковые системы могут снизить рейтинг такого сайта или даже исключить его из поисковой выдачи.
  4. ‼️Проблемы с индексацией: Когда поисковая система обнаруживает дубли страниц, она может столкнуться с проблемой выбора наиболее подходящей для индексации. Это может привести к тому, что поисковая система проигнорирует некоторые дубликаты или включит только одну версию страницы в свой индекс. В результате, некоторые страницы могут быть исключены из поисковой выдачи, что снижает видимость сайта.

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

Видит ли Яндекс такие URL?

Как я и писал выше, я каждый вечер просматриваю кабинет вебмастера. Там есть полезный раздел "Индексирование - Страницы в поиске".  Там выберите вкладку "Исключенные" и  статусе отфильтруйте по "Неканоническая". В результате вы увидите страницы "Alternate page with proper canonical tag", по версии Яндекс, и тут у меня были все те же адреса.

Неканонические адреса в яндекс вебмастере

Вот примеры таких страниц, с высокой долей вероятности их нагенерировали парсеры, но это не отменяет того, что это брешь в CMS WordPress.

Примеры неканонических страниц в вебмастере яндекс

Почему WordPress не учитывает регистер?

По умолчанию WordPress не учитывает регистр, когда речь идет о постоянных ссылках, поэтому он будет рассматривать https://pyatilistnik.org/chernyiy-ekran-v-Windows-10/ и https://pyatilistnik.org/chernyiy-ekran-v-windows-10/ как одну и ту же страницу. Это поведение нельзя изменить в самом WordPress. Однако вы можете использовать плагин или изменить файл .htaccess, чтобы перенаправить все постоянные ссылки, написанные с заглавной буквы, на их аналоги в нижнем регистре.

Чтобы сделать это с помощью плагина, вы можете использовать такой плагин, как "Lowercase URLs". Эти плагины автоматически перенаправляют все URL-адреса, написанные с заглавной буквы, на их аналоги в нижнем регистре, но мне больше по душе вариант без плагинов.

Как сделать перенаправление адресов содержащих верхний регистр на нижний

Если вы предпочитаете вносить изменения вручную, вы можете добавить следующий код в свой файл .htaccess. Немного напомню теории.

.htaccess (Hypertext Access) - это файл конфигурации, используемый веб-серверами Apache для управления настройками и поведением веб-сайта. Он позволяет веб-мастерам определять правила перенаправления URL-адресов, управлять доступом к файлам и директориям, настраивать параметры сервера и многое другое.

Файл .htaccess обычно располагается в корневой директории веб-сайта и может быть использован для изменения поведения сервера на уровне директории или для конкретных файлов. Для того, чтобы отредактировать .htaccess нужно подключиться по sftp/ftp на хостинг.

Обязательно перед редактированием .htaccess сделайте его копию

Если вы предпочитаете вносить изменения вручную, вы можете добавить следующий код в свой файл .htaccess:

# Редирект по регистрам
RewriteEngine On
RewriteRule [A-Z] - [E=HASCAPS:TRUE,S=1]
RewriteRule ![A-Z] - [S=28]
RewriteRule ^([^A]*)A(.*)$ $1a$2
RewriteRule ^([^B]*)B(.*)$ $1b$2
RewriteRule ^([^C]*)C(.*)$ $1c$2
RewriteRule ^([^D]*)D(.*)$ $1d$2
RewriteRule ^([^E]*)E(.*)$ $1e$2
RewriteRule ^([^F]*)F(.*)$ $1f$2
RewriteRule ^([^G]*)G(.*)$ $1g$2
RewriteRule ^([^H]*)H(.*)$ $1h$2
RewriteRule ^([^I]*)I(.*)$ $1i$2
RewriteRule ^([^J]*)J(.*)$ $1j$2
RewriteRule ^([^K]*)K(.*)$ $1k$2
RewriteRule ^([^L]*)L(.*)$ $1l$2
RewriteRule ^([^M]*)M(.*)$ $1m$2
RewriteRule ^([^N]*)N(.*)$ $1n$2
RewriteRule ^([^O]*)O(.*)$ $1o$2
RewriteRule ^([^P]*)P(.*)$ $1p$2
RewriteRule ^([^Q]*)Q(.*)$ $1q$2
RewriteRule ^([^R]*)R(.*)$ $1r$2
RewriteRule ^([^S]*)S(.*)$ $1s$2
RewriteRule ^([^T]*)T(.*)$ $1t$2
RewriteRule ^([^U]*)U(.*)$ $1u$2
RewriteRule ^([^V]*)V(.*)$ $1v$2
RewriteRule ^([^W]*)W(.*)$ $1w$2
RewriteRule ^([^X]*)X(.*)$ $1x$2
RewriteRule ^([^Y]*)Y(.*)$ $1y$2
RewriteRule ^([^Z]*)Z(.*)$ $1z$2
RewriteRule [A-Z] - [N]
RewriteCond %{ENV:HASCAPS} TRUE
RewriteRule ^/?(.*) /$1 [R=301,L]

301 редирект с верхнего регистра на нижний

На моем хостинге McHost это заработало. Это перенаправит все URL-адреса, написанные с заглавной буквы, на их аналоги в нижнем регистре, это по сути 301 редирект.

Еще вариант, перенаправления адресов с верхнего регистра на маленький, проверял работает на McHost:

RewriteEngine On
RewriteMap lowercase int:tolower
RewriteCond %{REQUEST_URI} [A-Z]
RewriteRule (.*) ${lowercase:$1} [R=301,L]

Еще вариация:

RewriteEngine On
RewriteMap lc int:tolower
RewriteCond %{REQUEST_URI} [A-Z]
RewriteRule (.*) ${lc:$1} [R=301,L]

Еще один вариант:

RewriteEngine On
RewriteCond %{REQUEST_URI} [A-Z]
RewriteRule . ${lc:%{REQUEST_URI}} [R=301,L]

Более быстрый метод, но он прописывается в httpd.conf, но нужен модуль mod_speling.

RewriteEngine on
RewriteBase /
RewriteMap lowercase int:tolower
RewriteCond $1 [A-Z]
RewriteRule ^/?(.*)$ /${lowercase:$1} [R=301,L]

Проверить включен ли модуль mod_speling:

<IfModule mod_speling.c>
CheckCaseOnly On
CheckSpelling On
</IfModule>

Вот рабочий код, и вы можете добавить его в файл header.php или footer.php вашей темы WordPress:

<script>
function isLower(character) {
return (character === character.toLowerCase()) && (character !== character.toUpperCase());
}
$(document).ready(function(){
var url = window.location.href;
if(isLower(window.location.href))
{
//true condition
}
else
{
url = url.toLowerCase();
window.location.href = url;
}

})
</script>

Результат такого редиректа

Лучше один раз показать, чем рассказать. Был запрос, потом упал из-за таких дублей, после изменения опять вырос.

Влияние дублей страниц

Итог

Думаю, что данный редирект с верхнего регистра на нижний лучше сделать, меньше будет вопросов у поисковой системы к вашему ресурсу, делаем обязательно каноникал и перенаправление. Напомню 301 редирект передает вес, и если поисковая система, дала ему вес он перетечет основной системе, да и боты будут попадать на нужный URL, Единственный минус, это конечно, что будет увеличиваться краулинговый бюджет, но тут уже ничего не попишешь. На этом у меня все, с вами был Иван Сёмин, автор и создатель IT портала Pyatilistnik.org.

Дополнительно

  • https://wordpress.org/support/topic/urls-resolve-w-different-capitalizations-would-like-to-redirect-to-all-lower/
  • https://organicdigital.co/blog/how-to-convert-and-redirect-uppercase-url-characters-to-lowercase/
Автор - Сёмин Иван

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *