После смены ЧПУ на сайте — в индексе остались страницы со старыми адресами. Адреса вида: permalink.html?route=shop&sort=price
. WP по умолчанию отдает 202, ибо это просто GET запросы. Если возникла ситуация, когда нужно насильно для какой-либо страницы отдать 404 ошибку и показать шаблон 404.php (страница не найдена), поступаем следующим образом:
В functions.php
добавляем код:
if (isset($_GET['route'])) {
status_header( 404 );
nocache_headers();
include( get_query_template( '404' ) );
die();
}
Вместо isset($_GET['route'])
пишем свое условие, может быть это is_page('about')
или что-то еще.
В результате мы получим 404 ответ страницы и наш шаблон «страница не найдена». Со временем эти страницы будут удалены из индекса.
Спасибо, помогло!