WordPress отдает не 404, а 302

WordPress отдает не 404, а 302

При запросе несуществующего адреса (напимер, «https://yoursite.com/вывывр») сайт выдает 302 ошибку. А должен выдавать 404 и высвечивать соответствующую страничку. 302 у нас ваще то «временно перемещен» или что-то там подобное.

В браузере же любую несуществующую страничку перекидывало на главную. Ну да, не очень правильно это, если вдуматься. А сеошника любого и того в жар бросит. Инфаркт микарда — во такой рубец!©

Первым делом смотрим .htaccess У чистого вордпресса должно быть что-то вроде

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

После сеошников может еще что-нибудь добавиться. Я например, нашел свои же вставки:

## Vash Webmaster edit start 2019.11.01
#### www -> without www
RewriteCond %{HTTP_HOST} ^www\.(.*)$
RewriteRule ^(.*)$ https://%1/$1 [L,R=301]

RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]
## Vash Webmaster edit end 2019.11.01

Редирект c www и принудительный https. Тоже ничего криминального. Смотрим дальше.

За отображение страницы ошибки 404 в Вордпрессе отвечает файл 404.php в теме. Смотрим его и видим такую дичь:

Бинго! Редирект на домашнуюю страницу с любой несуществующей. Правим на что-нибудь адекватное

Правка шаблона ошибки 404.php  в wordpress

Проверяем:

Fixed

Евгений

Яндекс.Метрика