Как насильно вывести страницу с 404 ошибкой

После смены ЧПУ на сайте — в индексе остались страницы со старыми адресами. Адреса вида: 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 ответ страницы и наш шаблон «страница не найдена». Со временем эти страницы будут удалены из индекса.