Шаблон страницы ошибки 404 в WordPress по умолчанию находится в файле 404.php активной темы. Если этот файл отсутствует, CMS будет использовать index.php как резерв. Чтобы изменить внешний вид и содержимое страницы, достаточно отредактировать или создать файл 404.php в каталоге темы: /wp-content/themes/название_темы/404.php.
При создании пользовательского шаблона рекомендуется использовать функции get_header() и get_footer() для сохранения структуры сайта. Внутри шаблона можно задать кастомный текст, добавить ссылки на популярные разделы или подключить форму поиска: get_search_form().
Если используется дочерняя тема, изменения следует вносить именно в её каталоге. WordPress автоматически отдаст приоритет файлу 404.php дочерней темы, если он есть. Это позволяет модифицировать страницу ошибки без риска потерять правки при обновлении основной темы.
Для контроля над редиректами и расширения функциональности можно установить плагин, например, 404page или Redirection. Первый позволяет указать статическую страницу WordPress в качестве 404-й, второй – управлять логикой перенаправлений и отслеживать ошибочные запросы.
Где находится файл шаблона 404 в теме WordPress
Файл шаблона, отвечающий за отображение страницы 404 в WordPress, называется 404.php
. Он располагается в директории активной темы.
- Путь:
/wp-content/themes/название-активной-темы/404.php
- Если файл отсутствует, WordPress использует
index.php
той же темы в качестве резервного варианта. - При использовании дочерней темы приоритет имеет файл
404.php
в дочерней теме.
Для точного определения местоположения:
- Откройте админ-панель WordPress и перейдите в меню «Внешний вид» → «Темы», чтобы определить активную тему.
- Подключитесь к сайту через FTP или файловый менеджер хостинга.
- Перейдите в директорию активной темы:
/wp-content/themes/
. - Проверьте наличие файла
404.php
.
Если тема создана с использованием шаблонизатора (например, Timber), логика 404 может находиться не в 404.php
, а в подключаемом шаблоне. В таких случаях структура может отличаться.
Как создать файл 404.php, если он отсутствует
Проверьте наличие файла 404.php
в корне активной темы. Если файл отсутствует, выполните следующие шаги:
- Откройте директорию вашей темы:
wp-content/themes/название_темы
. - Создайте новый файл с именем
404.php
. - Вставьте базовую структуру шаблона:
<?php get_header(); ?>
<main id="main">
<h1>Страница не найдена</h1>
<p>Запрашиваемая страница отсутствует или была удалена.</p>
<a href="<?php echo home_url(); ?>">На главную</a>
</main>
<?php get_footer(); ?>
Файл должен находиться в корне темы, а не в подкаталогах. WordPress автоматически подгрузит его при ошибке 404, если активная тема не использует иерархически более приоритетный файл (например, index.php
в случае отсутствия 404.php
).
После создания откройте несуществующую ссылку на сайте и проверьте, подгружается ли созданный шаблон. При необходимости включите отладку в wp-config.php
для выявления ошибок.
Изменение текстов и разметки напрямую в файле 404.php
Файл 404.php
расположен в директории активной темы: /wp-content/themes/название_темы/404.php
. Для редактирования используйте текстовый редактор, поддерживающий подсветку PHP и HTML, например, VS Code или Sublime Text.
Чтобы заменить сообщение об ошибке, найдите строку с текстом, например: <h1>Страница не найдена</h1>
. Замените её на нужный заголовок, соблюдая структуру HTML. Теги можно адаптировать под макет темы: <h2>
, <p>
или <div>
.
При необходимости измените ссылку для возврата на главную. Обычно она оформлена так: <a href="<?php echo home_url(); ?>">Вернуться на главную</a>
. Можно задать произвольную ссылку или использовать другую навигацию.
Для добавления пояснений используйте элементы списка или абзацы: <ul><li>...</li></ul>
или <p>Текст</p>
. Не вставляйте сложные скрипты без проверки на совместимость с темой.
После внесения изменений обновите страницу в браузере. Если кэш включён, очистите его через панель администратора или средствами браузера. Рекомендуется сохранить резервную копию исходного файла перед редактированием.
Добавление кнопки возврата на главную через HTML и PHP
Откройте файл 404.php в директории вашей темы. Если файла нет, создайте его вручную.
В нужном месте вставьте следующий код:
<a href="<?php echo esc_url( home_url( '/' ) ); ?>">На главную</a>
Функция home_url() возвращает корректный адрес главной страницы с учётом настроек WordPress. esc_url() защищает URL от потенциальных уязвимостей.
Для кнопочного оформления используйте HTML-тег <button>
внутри ссылки:
<a href="<?php echo esc_url( home_url( '/' ) ); ?>">
<button>Вернуться на главную</button>
</a>
Если используется кастомная структура ссылок, home_url() подставит правильный путь автоматически. Добавление этой кнопки упрощает навигацию при ошибке 404.
Как подключить кастомный стиль CSS для страницы 404
Создайте файл, например, 404-style.css
и разместите его в папке темы: /wp-content/themes/ваша-тема/404-style.css
.
Откройте 404.php
и добавьте в блок <head>
строку подключения:
<link rel="stylesheet" href="<?php echo get_template_directory_uri(); ?>/404-style.css">
Если структура темы использует get_header()
, правьте файл header.php
с условием:
<?php if ( is_404() ) : ?>
<link rel="stylesheet" href="<?php echo get_template_directory_uri(); ?>/404-style.css">
<?php endif; ?>
Если используется кастомный шаблон без header.php
, добавьте ссылку на CSS прямо в 404.php
до основного HTML-контента.
Проверьте отсутствие кэширования. Для этого можно временно изменить URL файла, добавив параметр, например: 404-style.css?v=2
.
Файл 404-style.css
должен содержать только стили, необходимые для оформления страницы 404, чтобы не мешать глобальному оформлению.
Использование дочерней темы для сохранения изменений
Дочерняя тема позволяет внести правки в страницу 404 без риска потерять их при обновлении основной темы. Для создания дочерней темы нужно в каталоге wp-content/themes
создать новую папку и добавить в неё файл style.css
с обязательным указанием шаблона родительской темы:
/*
Theme Name: Название дочерней темы
Template: имя_родительской_темы
*/
Далее создайте файл 404.php
внутри папки дочерней темы и скопируйте туда содержимое оригинального шаблона 404 из родительской темы для редактирования. Это обеспечит корректную загрузку новой страницы при ошибке 404.
Для применения стилей из родительской темы рекомендуется подключить их в functions.php
дочерней темы с помощью функции wp_enqueue_style
с указанием зависимости от стилей родителя. Такой подход сохраняет структуру и одновременно позволяет расширять функционал.
Использование дочерней темы минимизирует риск конфликтов при обновлениях и упрощает управление кастомными правками, что особенно важно для страниц с уникальным содержанием, таких как 404.
Проверка отображения кастомной страницы 404 на сайте
Для проверки работы кастомной страницы 404 откройте браузер и в адресной строке введите URL с несуществующим путем, например: https://вашсайт.ру/неверный-адрес. Страница должна загрузиться без редиректов на стандартную ошибку сервера.
Обратите внимание, что HTTP-статус ответа должен быть 404 Not Found. Это можно проверить через инструменты разработчика браузера во вкладке «Сеть» или с помощью онлайн-сервисов проверки статуса HTTP, например, curl или Postman.
Для более глубокой диагностики стоит отключить плагины кэширования и безопасности, которые могут перехватывать ошибки и заменять страницу 404 своим контентом.
После изменения страницы 404 полезно очистить кеш браузера и серверный кеш, чтобы исключить показ устаревшего контента.
Вопрос-ответ:
Как заменить стандартную страницу 404 в WordPress на свою?
Для замены стандартной страницы 404 нужно создать или отредактировать файл 404.php в теме вашего сайта. В этом файле можно разместить любой контент — текст, изображения, ссылки на другие разделы сайта. После сохранения изменений при ошибке «страница не найдена» будет показываться ваш вариант страницы.
Можно ли сделать страницу 404 более полезной для посетителей?
Да, стоит добавить на страницу 404 элементы, которые помогут пользователю найти нужную информацию. Например, разместить поисковую форму, популярные статьи, ссылки на главные разделы или контактные данные. Это поможет удержать посетителя и снизит вероятность ухода с сайта после ошибки.
Нужно ли редактировать файл 404.php в дочерней теме или можно менять напрямую в основной?
Лучше работать с дочерней темой. Если изменить файл 404.php в основной теме, при обновлении темы ваши правки могут быть потеряны. Создайте дочернюю тему и скопируйте туда 404.php, затем внесите изменения. Так вы сохраните все настройки после обновлений.
Существуют ли плагины для настройки страницы 404 в WordPress без правки кода?
Да, в репозитории WordPress есть несколько плагинов, которые позволяют легко настроить страницу 404 через визуальный интерфейс. Они дают возможность добавить текст, изображения, формы поиска или ссылки без необходимости изменять файлы темы. Это удобно для тех, кто не хочет работать с кодом.