Страницы «Вариант страницы с тегом canonical» в Search Console
- Что за статус "Вариант страницы с тегом canonical" в Google Search Console
- Что из себя представляет каноническая страница и как ее посмотреть
- Дубли страницы являются проблемой для поисковых систем по нескольким причинам
- Видит ли Яндекс такие URL?
- Почему WordPress не учитывает регистер?
- Как сделать перенаправление адресов содержащих верхний регистр на нижний
- Результат такого редиректа
- Итог
- Дополнительно
Добрый день! Уважаемые читатели и гости IT блога Pyatilistnik.org. В прошлый раз мы с вами познакомились с ситуацией, что не удавалось скопировать файл с DVD диска, но мы это смогли решить. Сегодня я хочу вам рассказать интересный момент связанный с CMS WordPress и Google Search Console. Суть проблемы в том, что в данной консоли у меня стали появляться страницы, у который был статус "Вариант страницы с тегом canonical". В результате чего некоторые страницы в блоге были исключены из поиска, началась какая-то неразбериха. Давайте обо всем по порядку.
Что за статус "Вариант страницы с тегом canonical" в Google Search Console
Пока я все борюсь с последствиями сентябрьского МПК, стараюсь оптимизировать все, что только можно, вечерами на постоянной основе заглядываю в кабинет вебмастера и Google Search Console, дабы почерпнуть там полезную информацию, на которую подзабивал последнее время. В один из таких заходов, я обратил внимание в разделе "Индексирование", на появившиеся страницы со статусом "Вариант страницы с тегом canonical" их было 19 штук.
По графику видно, что все началось 5 августа, прямо в тот же день, что и началась первая волна МПК. не знаю совпадение это или прост ослучайность.
Чуть ниже я обнаружил примеры таких страниц, там были вот такие адреса:
- https://pyatilistnik.org/kak-uznat-ip-adres-kompyutera-Windows-mac-linux/
- https://pyatilistnik.org/ne-rabotaet-printer-na-Windows-10/
- https://pyatilistnik.org/Windows-can-not-connect-to-the-printer/
- https://pyatilistnik.org/kak-postavit-viber-na-kompyuter-s-Windows-10/
- https://pyatilistnik.org/kak-uznat-versiyu-Windows-za-minutu/
- https://pyatilistnik.org/kak-ustanovit-Windows-7-na-noutbuk-Lenovo-g50-30/
- https://pyatilistnik.org/chernyiy-ekran-v-Windows-10/
- https://pyatilistnik.org/Windows-11-clean-install/
- https://pyatilistnik.org/kak-ochistit-istoriyu-na-kompyutere-s-Windows/
- https://pyatilistnik.org/delaem-sbros-parolya-BIOS/
- https://pyatilistnik.org/delete-files-with-cipher-exe-Utility/
Визуально все было в порядке, но только потом я понял, что в каждом из них была заглавная буква в адресе UR.
Я для примера зашел на одну такую страницу там сообщалось:
- URL нет в индексе Google - Нет
- Файлы Sitemap
- Временная ошибка при обработке
- Ссылающаяся страница - Не найдено
- URL может быть известен из других источников, которые в настоящее время не раскрываются.
- Каноническая страница, выбранная пользователем - https://pyatilistnik.org/chernyiy-ekran-v-windows-10/
- Каноническая страница, выбранная Google - Совпадает с канонической страницей, выбранной пользователем
То есть получается, что у меня в качестве канонического адреса выбрана ссылка с нижним регистром, Google так же ее считает канонической, а вот с большой буквой в адресе, это дубль, который мешает текущей.
Что из себя представляет каноническая страница и как ее посмотреть
. Каноническая страница - это основная страница, которая представляет собой предпочтительный вариант для поисковых систем при индексации и ранжировании контента на сайте. Она используется для указания поисковым системам на то, что конкретная страница является основной и должна быть приоритетной при отображении в результатах поиска.
Каноническая страница может быть использована в следующих случаях:
- Когда на сайте есть несколько страниц с аналогичным или дублирующимся контентом, и вы хотите указать поисковым системам, какую страницу следует рассматривать как основную.
- Когда на сайте используется параметризованный URL, и вы хотите указать поисковым системам, что все варианты URL-адресов должны быть сведены к одной основной странице.
Указание канонической ссылки помогает предотвратить дублирование контента на сайте и повышает шансы основной страницы быть учтенной и ранжированной поисковыми системами.
Посмотреть какой у вас канонический URL, можно открыв вашу страницу, нажать там сочетание клавиш CTRL + U, и в тексте найти тег
Дубли страницы являются проблемой для поисковых систем по нескольким причинам
- ‼️Распыление веса страниц: Когда есть несколько дублирующихся страниц, поисковая система не может однозначно определить, какая из них является наиболее релевантной для конкретного запроса пользователя. В результате, вес страниц может быть разделен между разными дубликатами, что снижает их общую релевантность.
- ‼️Ухудшение пользовательского опыта: Если пользователь выполняет поиск и получает в ответ несколько одинаковых или почти идентичных страниц, это может быть разочаровывающим и негативно влиять на его опыт. Это может привести к ухудшению пользовательской активности на сайте, такой как высокий показатель отказов и низкая продолжительность сеанса.
- ‼️Снижение доверия поисковых систем: Поисковые системы стремятся предоставить пользователям наиболее релевантные и уникальные результаты поиска. Если сайт содержит множество дублирующихся страниц, это может создать впечатление, что сайт не предлагает оригинального или ценного контента. В результате, поисковые системы могут снизить рейтинг такого сайта или даже исключить его из поисковой выдачи.
- ‼️Проблемы с индексацией: Когда поисковая система обнаруживает дубли страниц, она может столкнуться с проблемой выбора наиболее подходящей для индексации. Это может привести к тому, что поисковая система проигнорирует некоторые дубликаты или включит только одну версию страницы в свой индекс. В результате, некоторые страницы могут быть исключены из поисковой выдачи, что снижает видимость сайта.
Видит ли Яндекс такие 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:
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]
На моем хостинге McHost это заработало. Это перенаправит все URL-адреса, написанные с заглавной буквы, на их аналоги в нижнем регистре, это по сути 301 редирект.
Еще вариант, перенаправления адресов с верхнего регистра на маленький, проверял работает на McHost:
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]
Еще один вариант:
RewriteCond %{REQUEST_URI} [A-Z]
RewriteRule . ${lc:%{REQUEST_URI}} [R=301,L]
Более быстрый метод, но он прописывается в httpd.conf, но нужен модуль mod_speling.
RewriteBase /
RewriteMap lowercase int:tolower
RewriteCond $1 [A-Z]
RewriteRule ^/?(.*)$ /${lowercase:$1} [R=301,L]
Проверить включен ли модуль mod_speling:
CheckCaseOnly On
CheckSpelling On
</IfModule>
Вот рабочий код, и вы можете добавить его в файл header.php или footer.php вашей темы WordPress:
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/