wpkit.ru wordpress WPKit

Как убрать страницу 404 и настроить полезную страницу ошибки в WordPress

Полностью «убрать» 404-страницу нельзя: если URL не существует, сервер и WordPress всё равно должны вернуть код ответа 404. Но можно убрать бесполезный вид стандартной ошибки и сделать так, чтобы посетитель не упирался в тупик. Для этого настраивают шаблон 404.php в теме или используют конструктор/тему с готовой страницей ошибки.

Задача здесь простая: не скрыть ошибку, а превратить её в полезную точку возврата на сайт. На практике это значит добавить поиск, ссылки на важные разделы, последние записи, форму обратной связи или подсказку, куда идти дальше.

Что именно нужно менять на странице 404

В WordPress страница 404 состоит из двух частей: технического ответа сервера и визуального шаблона. Технический ответ должен остаться 404, иначе поисковые системы и браузеры будут получать неверный статус. Менять нужно оформление и содержимое страницы.

Если у вас сейчас открывается пустая или почти пустая ошибка, обычно проблема в теме: в ней либо нет файла 404.php, либо он сделан формально и не помогает пользователю. В этом случае исправление делается на уровне темы, а не в настройках WordPress.

Самый правильный вариант: отредактировать шаблон 404.php

Если тема поддерживает отдельный шаблон ошибки, это лучший путь. Тогда вы контролируете и внешний вид, и поведение страницы. Перед изменениями сделайте резервную копию файлов темы или работайте в дочерней теме. Если править родительскую тему напрямую, обновление может затереть ваши изменения.

В классической теме файл обычно лежит в корне папки темы: /wp-content/themes/имя-темы/404.php. Если файла нет, WordPress может использовать запасной шаблон, но лучше создать свой.

Минимально полезный шаблон должен:

  • показывать понятное сообщение, что страница не найдена;
  • предлагать поиск по сайту;
  • давать ссылки на главную и важные разделы;
  • не ломать стандартный вывод WordPress и не подменять код ответа на 200.

Пример простого, но рабоче полезного шаблона 404.php:

<?php get_header(); ?>

<main id="primary" class="site-main">
	<section class="error-404 not-found">
		<header class="page-header">
			<h1 class="page-title">Страница не найдена</h1>
		</header>

		<div class="page-content">
			<p>Похоже, адрес введён с ошибкой или страница была удалена. Попробуйте поискать нужный материал или перейти в один из разделов ниже.</p>

			<?php get_search_form(); ?>

			<p><a href="<?php echo esc_url( home_url( '/' ) ); ?>">Вернуться на главную</a></p>
		</div>
	</section>
</main>

<?php get_footer(); ?>

Этот вариант уже лучше стандартной пустой ошибки, но его обычно недостаточно. Пользователь, который попал на 404, часто не хочет искать вручную. Ему нужно сразу показать, куда можно перейти дальше.

Как сделать 404 действительно полезной для посетителя

Хорошая страница ошибки не должна выглядеть как тупик. На ней полезно разместить не только поиск, но и несколько очевидных маршрутов для возврата в контент. Это особенно важно для блогов, корпоративных сайтов и небольших каталогов, где посетитель часто приходит на конкретную статью или раздел.

Что обычно работает лучше всего:

  • поиск по сайту;
  • ссылки на главную и ключевые разделы;
  • список последних записей или популярных материалов;
  • контактную кнопку или ссылку на форму, если сайт коммерческий;
  • краткое объяснение, что делать дальше.

Если у сайта есть несколько основных рубрик, не перегружайте страницу всем подряд. Достаточно 3–6 ссылок на самые важные разделы. Слишком длинная 404-страница выглядит как свалка и не помогает быстрее сориентироваться.

Что добавить в шаблон, если сайт на обычной теме WordPress

В классической теме можно вывести последние записи через стандартный цикл. Это не требует плагинов и обычно работает на любой актуальной версии WordPress. Например, можно добавить блок с последними публикациями:

<h2>Последние записи</h2>
<ul>
<?php
$recent_posts = new WP_Query( array(
	'post_type'      => 'post',
	'posts_per_page' => 5,
	'no_found_rows'  => true,
) );

if ( $recent_posts->have_posts() ) {
	while ( $recent_posts->have_posts() ) {
		$recent_posts->the_post();
		printf(
			'<li><a href="%s">%s</a></li>',
			esc_url( get_permalink() ),
			esc_html( get_the_title() )
		);
	}
	wp_reset_postdata();
}
?>
</ul>

Если на сайте важнее не записи, а страницы услуг, замените post на нужный тип контента или просто вручную укажите ссылки на ключевые страницы. Для небольшого сайта это часто даже лучше, чем автоматически тянуть последние материалы.

Как не сломать код ответа 404

Самая частая ошибка при «улучшении» ошибки 404 — случайно вернуть страницу с кодом 200 OK. Визуально всё выглядит нормально, но для поисковых систем и аналитики это уже не ошибка, а обычная страница. В результате могут появляться мусорные URL в индексе и путаница в отчётах.

В WordPress корректный 404-код обычно выставляется автоматически, если используется правильный шаблон и не вмешиваются сторонние плагины или нестандартные редиректы. Проверить это можно несколькими способами:

  • открыть несуществующий URL, например /this-page-does-not-exist;
  • посмотреть код ответа в инструментах разработчика браузера на вкладке Network;
  • проверить ответ через онлайн-сервис проверки HTTP-кода или через curl, если вам удобно работать с консолью.

Пример проверки через curl:

curl -I https://example.com/this-page-does-not-exist

В ответе должен быть статус вроде HTTP/2 404 или HTTP/1.1 404 Not Found. Если вместо этого приходит 200, значит проблема не в оформлении страницы, а в логике темы, плагина или редиректа.

Когда лучше не править тему вручную

Если сайт собран на блоковой теме, FSE-шаблонах или конструкторе, путь к настройке может отличаться. В таких случаях 404-страница часто редактируется через шаблоны сайта, а не через файл 404.php. Логика та же: нужен отдельный шаблон ошибки, который выводит полезный контент и не меняет HTTP-статус.

Если вы не хотите лезть в код, проверьте возможности вашей темы или конструктора. Многие современные темы позволяют редактировать шаблон 404 через визуальный редактор. Это удобно, если достаточно добавить текст, кнопку, поиск и несколько ссылок. Но если нужен точный контроль над разметкой и содержимым, файл шаблона надёжнее.

Плагины для редиректов здесь не заменяют 404-страницу. Они полезны, когда нужно перенаправить старый адрес на новый, но не решают задачу полезной страницы ошибки. Если URL действительно не существует, редирект не должен подменять 404 без необходимости.

Что проверить после настройки

После правок откройте несколько заведомо несуществующих адресов. Проверьте три вещи:

  • страница выглядит не как пустая ошибка, а как нормальная часть сайта;
  • есть понятный путь дальше: поиск, главная, разделы, последние записи;
  • сервер по-прежнему отдаёт 404, а не 200.

Если всё работает, можно считать задачу решённой. Пользователь не застревает на ошибке, а поисковый робот получает корректный сигнал о несуществующем URL. Это и есть правильная настройка 404 в WordPress: не скрыть проблему, а сделать её полезной для человека и корректной для сайта.

×

AI-плагин от WPShop.ru

анализирует конкурентов

пишет статьи

готовит SEO

генерирует изображения

и еще кое-что...
WPGPT
Плагин, который наполняет ваш сайт WordPress
Узнать больше