Просматривая свой веб-сайт в аналитике, я заметил, что на мою страницу 404 заходит много посетителей. Первый шаг, который я делаю, — убедиться, что я не удалю страницу без ее перенаправления. Однако чаще бывает иначе.
Это распространенное разочарование: пользователь нажимает на ссылку, ожидая ответа, но получает холодное, общее сообщение. 404 Не найден сообщение. В мире SEO и UX страница 404 не должна быть тупиком, она должна быть путем к релевантному взаимодействию.
Превратив страницу с ошибкой в проводник, вы сможете сэкономить трафик, который в противном случае вернулся бы в Google.
Содержание
Почему пользователи попадают на вашу страницу 404
Прежде чем мы сможем решить проблему, нам нужно понять, как исчезают пользователи. Редко бывает одно и то же дважды:
- Неработающие внешние ссылки: Другой сайт перенаправляет на ваш контент, но неправильно пишет URL-адрес.
- Отложенный контент: Вы удалили старую публикацию или товар, не настроив 301 редирект.
- Опечатки: Пользователь вручную вводит ваш URL-адрес в браузер и выполняет большой палец ноги ошибка.
- Изменения структуры URL: Вы изменили настройки постоянной ссылки (например, с
/blog/post-nameк/post-name) и старые акции в социальных сетях теперь не работают. - Ошибки копирования-вставки: Пользователь обрезает последний символ ссылки, когда делится ею по электронной почте или в сообщении Slack.
Стратегия: парсинг URL-адресов придет на помощь
Вместо того, чтобы показывать панель поиска и просить пользователя выполнить дополнительную работу, мы можем использовать улитка (часть URL-адреса после вашего домена), чтобы угадать, что они ищут.
Если пользователь пытается посетить mysite.com/how-to-setup-email-marketing и эта страница исчезла, наш код:
- Разобрать URL-адрес: Разбейте член на отдельные слова.
- Очистить данные: Удалите «стоп-слова» (is, at, with), которые не добавляют смысла.
- Автоматический поиск: Запустите внутренний поиск WordPress, используя наиболее релевантные ключевые слова.
- Показать результаты: Мгновенно показывайте пользователю наиболее релевантные статьи.
- Обеспечьте отступление: Если совпадений не обнаружено, покажите свои последние «Лучшие хиты», чтобы остаться на сайте.
Вот пример на Martech Zone:

Пользовательская реализация 404.php
Чтобы реализовать это, вам нужно будет отредактировать (или создать) файл 404.php файл в вашем Дочерняя тема WordPress. Использование дочерней темы гарантирует, что изменения не будут удалены при обновлении родительской темы.
Код
Скопируйте и вставьте его в свой 404.php файл. Это общая, чистая версия практически для любой темы, но вы можете просмотреть свою page.php шаблон для соответствующей структуры и классов.
request ?? '', "
// 2. Clean the path and extract keywords
$stop_words = ['the', 'and', 'for', 'with', 'was', 'this', 'that', 'from', 'how', 'why', 'is', 'at'];
$keywords = array();
if (!empty($request_path)) {
// Split by slashes and dashes
$parts = preg_split('/[-\/]+/', $request_path);
foreach ($parts as $term) {
$term = sanitize_text_field($term);
// Only keep terms longer than 2 chars and not in our stop list
if (strlen($term) > 2 && !in_array(strtolower($term), $stop_words)) {
$keywords[] = $term;
}
}
}
// 3. Limit to top 4 unique keywords for search accuracy
$keywords = array_slice(array_unique($keywords), 0, 4);
$search_string = implode(' ', $keywords);
// 4. Run the Query
$args = array(
'post_type' => 'post',
'posts_per_page' => 5,
'post_status' => 'publish',
'ignore_sticky_posts' => true
);
// If we have keywords, do a search. Otherwise, just get latest.
if (!empty($search_string)) {
$args['s'] = $search_string;
echo 'Suggested Articles Based on Your Search
';
} else {
echo 'Latest From Our Blog
';
}
$related_query = new WP_Query($args);
if ($related_query->have_posts()) :
echo '';
while ($related_query->have_posts()) : $related_query->the_post(); ?>
-
';
wp_reset_postdata();
else :
// Secondary Fallback: If search fails, show latest posts anyway
echo 'We couldn\'t find a direct match, but you might like these:
';
$latest_args = array('post_type' => 'post', 'posts_per_page' => 5);
$latest_query = new WP_Query($latest_args);
if ($latest_query->have_posts()) :
echo '';
while ($latest_query->have_posts()) : $latest_query->the_post(); ?>
';
wp_reset_postdata();
endif;
endif;
?>
Как включить это в свою тему
- Получите доступ к своим файлам: Используйте SFTP или файловый менеджер панели управления хостингом.
- Перейдите к своей дочерней теме: Перейти к
/wp-content/themes/your-child-theme/. - Создать/изменить 404.php: Если файл не существует, создайте его. Если да, сначала создайте резервную копию исходного содержимого.
- Стандартизируйте крючки: Наблюдайте за использованием
get_header(),get_sidebar()иget_footer(). Они гарантируют, что ваша страница 404 будет выглядеть так же, как и остальная часть вашего сайта. - Создайте стиль: В коде используются стандартные классы WordPress, например
site-mainиpage-content. Вы можете добавить собственный CSS в свойstyle.cssфайл для создания Рекомендуемые статьи сделайте список похожим на сетку или добавьте миниатюры.
Реализуя это, вы превращаете момент неудачи пользователя в момент полезного открытия – сохраняя вовлеченность посетителей и низкий показатель отказов SEO.

