404 ошибка — как настраивать и отслеживать страницу «Не найдено»?

Сайты развиваются: создаются новые разделы, меняется структура, удаляются страницы или переделываются их адреса. Часто за всеми этими процессами уследить очень сложно даже опытному веб-мастеру. Чем старше сайт — тем больше вероятность того, что каждый день он получают процент пользователей, попадающих на страницы, которых больше не существует. Как это отследить? Как оповестить робота и клиента, что таких страниц больше нет? Что показывать пользователю на странице 404? Отвечаю!

404-not-found

404 NOT FOUND

Определение: «404 ошибка сервера (not found) — самая распространенная ошибка при пользовании Интернетом, основная причина — ошибка в написании адреса Web-страницы. Сервер понял запрос, но не нашёл соответствующего ресурса по указанному URI.»

Для чего нужна 404 страница?

1. Поисковому роботу необходимо сообщить, что такой страницы не существует, для этого используется 404 код ответа сервера. Это очень важно, чтобы не плодились дубли и не размывать релевантность страниц в индексе поисковых систем.

Проверить ответ это очень просто, наберите несуществующий адрес страницы тут — http://bertal.ru/.

not-found-404

2. Пользователю необходимо сообщить, что запрашиваемой страницы больше (или вообще) не существует, и предоставить возможность работать с сайтом дальше.

Как настроить ответ сервера?

404 ошибка сервера через htaccess

Если Ваш сервер или CMS не настроены атоматически, то придётся это сделать Вам самим — добавьте в htaccess строчку:

1
ErrorDocument 404 http://www.site.ru/404.php

Теперь, когда пользователь введёт неверный адрес, то он будет направлен на этот адрес. Страница может располагаться где угодно, но мы для примера поместили ее в корне сайта: /404.php.

404 ошибка сервера в PHP

Велосипеда изобретать не надо — существует специальная функция header, которая успешно поможет Вам это сделать.

1
header(«HTTP/1.0 404 Not Found»);

Как должна выглядеть страница 404?

  • В дизайне сайта (а не страница по умолчанию вашего хостинга)
  • Содержать информацию о том, что произошла ошибка
  • Иметь форму поиска по сайту
  • Иметь небольшую карту сайта с основными разделами.

Креативные 404 страницы — вред или польза?

Смешное оформление 404 страницы — это красиво и оригинально, но не стоит слишком сильно увлекаться. Не стоит забывать, чтобы пользователю в первую очередь необходимо решить какие-то задачи на вашем сайте, а не зависать на 404 странице, Вы должны максимально упростить и помочь ему в достижении его целей.

404

Как отследить, сколько таких пользователей попадают на страницу 404?

Яндекс.Метрика

Для этого удобно использовать «Параметры визитов».
В код счётчика необходимо добавить строчку: params:window.yaParams||{ }});

Таким образом, должно получиться как-то так:

1
2
3
4
5
6
7
8
w.yaCounterХХХХХХХХ = new Ya.Metrika({id:ХХХХХХХХ,
                    webvisor:true,
                    clickmap:true,
                    trackLinks:true,
                    accurateTrackBounce:true,
                    trackHash:true,
                    ut:"noindex",
                    params:window.yaParams||{ }});

На самой же странице 404 в любом месте необходимо разместить следующий JS-код:

1
2
3
var url = document.location.pathname + document.location.search	
var url_referrer = document.referrer;
var yaParams = {error404: {page: url, from: url_referrer}};

Где url — текущий адрес страницы 404, а url_referrer — адрес, с которого на него попали. Таким образом, мы в Яндекс.Метрике сможем отлеживать не только все 404 страницы, но и адреса, по которым на неё перешли.

Отчёт в Метрике необходимо смотреть тут: все отчеты -> содержание -> параметры визитов.

params

Подробнее о параметрах визита в Яндекс.Метрике: http://help.yandex.ru/metrika/content/visit-params.xml

Google.Analytics

Для отслеживания ошибок используем «события». Добавляем JS-код в тело страницы:

1
2
3
4
5
6
7
8
9
jQuery(document).ready(function() { 
var url = document.location.pathname + document.location.search	
var url_referrer = document.referrer;
ga('send', {'hitType': 'event', 
	'eventCategory': 'page-404', 
	'eventAction': url, 
	'eventLabel': url_referrer
	});
});

Где hitType — тип события, eventCategory — категория, eventAction — адрес ошибки, url_referrer — откуда на 404 страницу попали.

Отчёт в Гугл.Аналитикс: Поведение -> События -> Обзор.

events

Подробнее о настройке событий в Аналитикс: https://support.google.com/analytics/answer/1033068?hl=ru

Как использовать полученные данные?

Если ошибки 404 внутри сайта — исправьте все ссылки на правильные или уберите вовсе. Если эти ссылки с внешних ресурсов? и Вам никак не повлиять на них, то поставьте 301 редирект на максимально релевантные страницы. Любите своих клиентов и не заставляйте их думать или что-то искать на Вашем сайте.

Я со своей командой готов сделать это за вас! Заказать!

* – поля, обязательные для заполнения