Как отключить мусорные суффиксы в WordPress
Добрый день! Уважаемые читатели и гости IT блога Pyatilistnik. Сегодня хочу продолжить рассказывать свой опыт выхода из-под фильтра МПК от Яндекса, который я словил в августе 2023. В начале 2024 года, у многих вебмастеров в мире на их площадках и ресурсах стали появляться странные ссылки в кабинете Google GSC. У страниц был 404 код, а у большинства были страницы с переадресацией и на конце они имели странные суффиксы /1000 или //1000. При попытке их открыть, шел редирект на каноническую страницу. Но с появлением данных ссылок в GSC кабинете, стал проседать трафик и стала ухудшаться индексация. Давайте смотреть, что можно сделать. откуда растут корни и можно ли это предупредить в будущем.
Что за ссылки на конце которых /1000 или //1000
Как я и писал ранее в статье "Страница с переадресацией в Search Console" у меня с 2023 года резко выросло количество такого барахла. Я понимаю, что отчасти и Google алгоритмы развиваются, но и не стоят на месте спамеры с черными сеошниками, но ладно бы это были просто укороченные адреса, как в случае с Youtube ссылками, но там появились очень странные URL. Вот пример такого:
/unable-to-configure-the-rd-session-host-server//1000
/unable-to-configure-the-rd-session-host-server/1000
У данных адресов присутствовали после основного / рандомный набор цифр, чаще всего 1000. При попытке перейти по такому адресу, вас просто перекидывало на адрес без данных суффиксов.
Когда число таких адресов стало исчисляться сотнями, меня это стало напрягать, так как:
- Я точно знаю, что мой сайт на WordPress этого точно не генерирует
- Любой редирект это кража краулингового бюджета, поэтому я и вижу. что разные страницы начинают вылетать из индекса, после чего приходится их повторно отправлять на переиндексацию.
Я нашел много различных обсуждений, где многие вебмастера негодовали, откуда Google это высасывает, например:
- https://www.seroundtable.com/google-search-console-404-error-report-1000-urls-36728.html
- https://www.reddit.com/r/SEO/comments/1agw5oq/seeking_advice_on_dealing_with_ongoing_spammy/
- https://www.reddit.com/r/SEO/comments/196k2ge/anybody_else_finding_loads_of_404s_for_urls/
- https://searchengines.guru/ru/forum/1105166
- https://wordpress.com/forums/topic/problem-some-setting-or-plugin-adds-1000-at-the-end-of-the-page-url/
На связь с вебмастерами вышел Джон Мюллер из Google, он обычно говорит много воды, что Goole очень умный и не беспокойтесь, ничего не учитывается и вашим ресурсам это не навредит. Но народ не верит и логично хочет понять. что делать в такой ситуации. После всеобщего расследования было выяснено, что:
- Пострадали сайты у которых был хороший трафик и трафиковые страницы
- Сайты на WordPress
- Источниками данного спама были говно сайты, которые в заголовке ссылки или самой ссылке проставляли адрес на конце которого и было /1000 или //1000.
Откройте Google Search Console и нажмите проверить любой из таких URL, У вас откроется более детальная информация, где вам будет интересна ссылающаяся страница. Ниже я привел два примера. Хочу отметить, что ни один из этих спам-сайтов у меня не открылся. Мне не удалось посмотреть более детально что там было, но многие пишут, что там страницы странного содержания с запрещенным контентом.
Советую почитать - Редиректы в Яндекс вебмастере и Страницы «Вариант страницы с тегом canonical» в Search Console
Что делать со ссылками /1000 или //1000
Хоть Джон Мюллер из Google и пишет, что не нужно беспокоиться, я считаю, что данные страницы должны отдавать код 404, а не 301, так как их нет, а не то что они были и их просто переместили.
Для решения данной проблемы есть два пути, использование .htaccess и использование функций Woedpress.
- Пример настройки 404 ответа для записей в адресе которых /1000 и //1000.
Сразу хочу отметить, что у данного метода есть большой минус. Как только спамеры захотят изменить /1000 на /2000, то вам нужно будет видоизменять правила. Если найдете рабочий вариант всего цифрового, то поделитесь.
Подключитесь к вашему FTP, после чего в корне возьмите файл .htaccess. Я советую перед его редактированием сделать его копию на всякий случай. Далее вставьте вот такой код:
# 404 код для страниц заканчивающихся на 1000
RewriteEngine On
RewriteCond %{REQUEST_URI} /1000$
RewriteRule ^ - [R=404,L]
Теперь все страницы/записи, что заканчиваются на /1000 будут получать 404 код.
Но как я и писал выше, нужно быть на шаг впереди, правильнее всего запретить любые суффиксы, и поможет нам в этом сам Wordpree и его функция по угадыванию URL по его части. Да, есть такая функция, которая видит, что у вас неполный текст в URL обращения, и она пытается ее сопоставить с существующей.
Как запретить Worpdress перенаправлять пользователя на похожие посты
Когда пользователь запрашивает страницу, которая не существует, WordPress может попытаться найти похожие посты или страницы и перенаправить пользователя на один из них. Это делается для улучшения пользовательского опыта, чтобы пользователи не сталкивались с ошибкой 404 без каких-либо альтернатив. Однако в некоторых случаях это поведение может быть нежелательным, например, если вы хотите, чтобы пользователи оставались на странице ошибки 404.
Есть функция remove_redirect_guess_404_permalink в WordPress используется для управления поведением редиректов, связанных с несуществующими (404) страницами. Функция remove_redirect_guess_404_permalink отключает механизм, который пытается угадать возможные корректные постоянные ссылки для запрашиваемых URL, которые не существуют на сайте. Функция remove_redirect_guess_404_permalink обычно используется в сочетании с хуком template_redirect, чтобы отключить это поведение
Вот пример кода, который вы должны вставить в свой файл Functions.php или его аналоги, я для этого использую плагин profunctions, где в нем есть файл profunctions.php. Отредактируйте его, добавив:
function remove_redirect_guess_404_permalink( $redirect_url ) {
if ( is_404() ) {
return false;
}//end if
return $redirect_url;
}//end remove_redirect_guess_404_permalink()
add_filter( 'redirect_canonical', 'remove_redirect_guess_404_permalink' );
Теперь, чтобы не было после основного / у меня стала отдаваться 404 страница.
К сожалению, запрашиваемая страница не существует.
Теперь остается только наблюдать и ожидать, как эти изменения воспримут поисковые системы, и мне удалось уменьшить потом спама на вой ресурс.
Дополнительные ссылки
https://wpsurfer.com/stop-wordpress-from-guessing-urls/