markratledge
  • 0
Гуру

Как подавить код состояния 404 на странице WordPress?

  • 0

У меня есть сайт WordPress, содержащий страницы, извлеченные из другой базы данных. Проблема в том, что эти другие страницы возвращают код состояния 404. (Сообщения/страницы WordPress в порядке.)

Страницы с ошибкой 404 отображаются нормально, и я удалил текст «Страница не найдена» из тега заголовка в WordPress. Но Googlebot и W3C видят заголовок 404.

Итак: вау, можно ли сказать Apache подавить статус 404? И будет ли Apache переопределять заголовок WordPress 404?

Имеет ли это смысл? На какую еще информацию и вещи мне следует обратить внимание?

Могу ли я подавить код состояния в.htaccess, чтобы не изменять основные файлы WP?

Share
  1. WordPress предлагает функцию status_header() возврата правильного кода состояния.

    Вы можете вызвать эту функцию внутри вашего шаблона/функции WordPress:

    // Will return http status header "200 OK"
    status_header(200);
    
    • 0
  2. WordPress — это PHP, поэтому ищите, куда он отправляет что-то вроде:

    header("HTTP/1.0 404 Not Found");
    
    • 0
  3. Взгляните на хук pre_handle_404 (добавлен в v4.5.0): https://developer.wordpress.org/reference/hooks/pre_handle_404/

    // add to your functions.php
    add_filter('pre_handle_404', function($preempt, $wp_query) {
        global $wp;
        $customPages = ['custom-1','custom-2','custom-3'];
    
        if (in_array($wp->request, $customPages)) {
          $preempt = true;
        }
    
        return $preempt;
    }, 10, 2);
    
    • 0
  4. Вы можете либо добавить пользовательские перезаписи на свои страницы. Или в верхней части файлов шаблонов, которые обертывают ваши другие страницы, просто выводите файлы header('HTTP/1.1 200 OK'); .

    • -1

Оставить ответ

You must login to add an answer.