Корректная обработка ошибки 404

Корректная обработка ошибки 404

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

Правильная обработка страницы 404 ошибки

Чем плоха страница ошибки 404 по умолчанию?

  1. Сообщение «Страница не найдена» стандартной обработки ошибки 404 не несет никакой пользы для посетителя, что ухудшает впечатление пользователя о сайте.
  2. Если в поисках информации пользователь наткнулся на битую ссылку, то он вынужден возвращаться на главную и начинать поиск заново.

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

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

Как сделать страницу ошибки 404 максимально полезной?

  1. Дизайн страницы ошибки не должен отличаться от остального дизайна веб-сайта, включая логотип,  цветовую схему, навигацию и т.п.
  2. Сделайте страницу информативной для пользователя. Для этого на нее можно пометить  следующие элементы:

    • ссылку на главную страницу сайта
    • форму поиска по сайту
    • самые популярные страницы сайта(топ-10)
    • ссылку на карту сайта
  3. Простая, а порой даже забавная обработка страницы 404 ошибки, поможет задержать на сайте пользователя. Есть много сайтов тому подтверждением
  4. Сообщите об ошибке в дружелюбной манере. «Упс! Извините, мы не можем найти данную страницу!» звучит приятнее, чем «Ошибка 404 – страница не найдена»

Как реализуется обработка 404 ошибки?

Во-первых, необходимо запретить индексацию данной страницы  поисковыми роботами. Для этого необходимо убедиться, что возвращается правильный http статус ошибки, тогда поисковики ее проигнорируют. Но для надежности лучше запретить  страницу в файле robots.txt , добавив в него всего одну строку:

Disallow: /404.html

Во-вторых,  чтобы отображалась  собственная страница 404 ошибки в файле .htaccess (для сервера Apache) необходимо прописать следующее:

ErrorDocument  404 / 404-error.html

где 404-error.html и есть специально созданная страница-обработчик ошибки.

Почему не стоит перенаправлять пользователя на другую (например, главную)  страницу сайта?  Перенаправление приводит к замешательству пользователя, так как выдается не то, что он искал – необходимо информировать об ошибке. Кроме того, если ответ страницы будет не 404, то это наплодит большое число неинформативных страниц в поисковых системах.

Как бороться с возникновением ошибки 404 на сайте?

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

Грамотная обработка 404 ошибки поможет вам удержать пользователей на сайте и не отпугнуть их от дальнейших действий.

Вот несколько нестандартных решений оформления страницы обработки ошибки 404 различными ресурсами:

Сайт eu.blizzard.com

Корректная обработка ошибки 404 различными ресурсами

 Сайт chrisjennings.com

404 ошибка - сайт не найден

 Сайт jhuskisson.com

Страница не найдена, обработка 404 ошибки

Вернуться назад

  • 10.07.2012
  • веб-дизайн

Статья написана в рамках статейного конкурса Serpstat и SEOnews. Условия конкурса.

Для начала давайте разберем – что такое 404? Почему это ошибка? И причем тут бизнес?

404 – это код состояния HTTP.

Опустим подробности о том, что такое код состояния HTTP, вы это можете прочитать в Википедии.

С точки зрения SEO нас интересуют следующие коды состояния http:

Код? Что передает? Что значит для поисковой системы?
200 запрос был успешно получен, понят и обработан Такой код ответа сервера должны отдавать все рабочие страницы сайта.
301 ресурс перемещен навсегда Такой код ответа сервера настраивается, если требуется перенаправление на другую страницу. Например, сделали редизайн со сменой CMS. Адреса страниц поменялись, но трафик мы сохранить хотим.
500 внутренняя ошибка сервера Сервер столкнулся с непредвиденным условием, которое не позволяет ему выполнить запрос (получен код 500 Internal Server Error). Обычно, говорит о проблемах на хостинге.
404 Ресурс не найден Указывает на то, что этой страницы больше нет, и поисковому роботу нужно удалить ее из своей базы.

На страницу ошибки 404 пользователи попадают в нескольких случаях:

  • если они неверно набрали адрес страницы,
  • кто-то указал неправильную ссылку на сайт,
  • вы удалили какую-то страницу с сайта (сняли товар с производства, перестали оказывать услугу).

Неверно настроенная 404 – проблемы для бизнеса

Существуют 2 основных группы проблем для бизнеса, когда можно сказать, что ошибка 404 настроена неправильно:

  • обработка ошибки 404,
  • оформление страницы ошибки 404.

Далее разберем основные моменты, с которыми можно столкнуться при проблеме из первого блока.

Основные ошибки при настройке обработки 404 ошибки для SEO

  • Ошибка 1. 404 не обрабатывается.

Что это значит?

При вводе любого несуществующего адреса на сайте, url в адресной строке меняется, а содержимое страницы остается неизменным.

То есть, мы зашли на главную страницу site.ru. Увидели одно содержимое. Дописали к site.ru/pr7777 – содержимое осталось прежним, хотя страницы по такому адресу нет.

Таким образом, мы получаем бесчисленное множество дубликатов главной страницы.

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

Решение

Настроить корректную обработку ошибки 404 для всех несуществующих страниц на сайте.

Если страницы-дубликаты уже попали в индекс поисковой системы, чтобы минимизировать последствия, закройте их в robots.txt от индексации.

  • Ошибка 2. На сайте настроена Soft 404

Soft 404 — это замена страницы ошибки 404 страницей с контентом о несуществующей странице с кодом ответа сервера 200 (существующей страницы). Яндекс. Вебмастер относит soft 404 к распространенным ошибкам при разработке сайтов.

Наиболее часто встречается soft 404 в CMS Битрикс.

Когда принимаете работы по разработке, в обязательном порядке проверьте корректность настройки 404.

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

  • Ошибка 3. Редирект на главную.

Частой ошибкой при настройке обработки ошибки 404 является настройка редиректа с 404 на главную страницу. Этот вариант можно рассмотреть как разновидность soft 404 с такими же последствиями.

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

Основные ошибки при оформлении страниц 404 ошибки

Итак, основные проблемы, связанные с некорректной настройкой обработки ошибки 404 мы разобрали. Переходим ко второй группе проблем – оформлению страницы ошибки 404.

Допустим, мы провели работы и настроили правильную обработку ошибки 404. Для всех несуществующих адресов у нас отдается долгожданный код ответа сервера 404, а не 200, и не 301.

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

Рассмотрим наиболее распространенные «недружелюбные» шаблоны страниц 404 ошибки.

Все перечисленные варианты 404 страниц не позволяют пользователю вернуться на сайт и дезориентируют его. Вероятность того, что пользователь закроет сайт и не вернется стремится к 100%.

  • Ошибка 1. Шаблон 404 страницы от хостера.

Многие хостинги подставляют в случае отсутствия на сайте собственного шаблона 404 ошибки, свой шаблон.

  • Ошибка 2. Белый лист вместо шаблона 404.

Если хостер не предоставляет шаблона 404, то вместо шаблона 404 страницы будет отображаться белый лист с надписью «404 not found».

  • Ошибка 3. Шаблон 404 от браузера.

Если при коде ответа сервера 404 не предусмотрено совсем никакого шаблона, то за вас его сделает браузер.

  • Ошибка 4. Шаблон 404 от CMS.

В некоторых CMS предустановлен шаблон 404 ошибки. У Joomla, к примеру, он такой.

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

  • Ошибка 5. «Непонятная» страница.

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

Это может быть страница с картой сайта, пустая страница сайта, просто странная страница сайта, как на примере ниже.

С точки зрения SEO также крайне важно, чтобы и мета-описания не дублировались с другой страницы сайта, а соответствовали содержимому страницы 404 ошибки. Частый случай, когда <title> и мета-описания дублируют главную страницу сайта.</p>
<h2>Что же делать, чтобы не потерять пользователей?</h2>
<p>Наша задача сделать максимально «дружелюбную» страницу 404 ошибки.</p>

<ul>
<li>Она должна быть в дизайне сайта. Пользователь должен понимать, что он попал на нужный сайт, просто по неверной ссылке.</li>
<li>Она должна содержать пояснения, почему пользователь здесь оказался.</li>
<li>С нее должна быть доступна навигация сайта, чтобы пользователь мог вернуться и продолжить поиск по сайту по-другому.</li>
<li>Заголовок страницы, <title> и мета-описания должны быть соответствующими.</li>
</ul>
<p>Но можно пойти и дальше)</p>

<p>Очень желательно, при разработке сайта запланировать креативную страницу 404 ошибки. Чтобы она запомнилась пользователю и вызвала положительные эмоции. Примеры креативных 404 мы припасли на конец статьи.</p>
<h2>«Битые» ссылки</h2>
<p>В статье о 404 ошибке нельзя не затронуть тему битых ссылок.</p>

<p>«Битыми» ссылками называют ссылки, которые ведут на страницу 404 ошибки. Они могут появиться, если</p>
<ul>
<li>при простановке ссылки допущена опечатка,</li>
<li>адреса страниц изменились при редизайне, а 301 редиректы вы не настроили,</li>
<li>страница, на которую вела ссылка, была удалена.</li>
</ul>
<p>На сайте не должно быть внутренних битых ссылок. Поэтому необходимо регулярно проверять сайты на их наличие и исправлять ошибки.</p>
<h2>Сервисы для поиска битых ссылок</h2>
<p>Мониторинг сайтов на битые ссылки можно проводить с помощью различных сервисов. Вот небольшой набор тех, которыми пользуются в Интернет-агентстве Орех.</p>
<ol class=»ol»>
<li><strong>Расширение для браузера Google Chrome</strong> <a href=»https://chrome.google.com/webstore/detail/check-my-links/ojkcdipcgfaekbeaelaapakgnjflfglf»>https://chrome.google.com/webstore/detail/check-my-links/ojkcdipcgfaekbeaelaapakgnjflfglf</a></li>
</ol>
<ul>
<li>С его помощью можно проверять на битые ссылки конкретную страницу.</li>
<li>Бесплатно.</li>
<li>На английском языке.</li>
</ul>
 
<ol class=»ol» start=»2″>
<li><strong>Netpeak Spider</strong></li>
</ol>
<ul>
<li>Проверяет весь сайт, нет ограничений по количеству страниц. Указывает на какой странице находится битая ссылка.</li>
</ul>
<ul>
<li>Платный. От 14$ в месяц.</li>
<li>На русском языке.</li>
</ul>
 
<ol class=»ol» start=»3″>
<li><strong>Screaming Frog</strong></li>
</ol>
<ul>
<li>Ограничение по количеству проверяемых страниц</li>
<li>Показывает ответы сервера, в том числе 404, но не показывает страницу, на которой находится ссылка.</li>
<li>Бесплатный.</li>
<li>На английском языке.</li>
</ul>
 
<ol class=»ol» start=»4″>
<li><strong>XENU</strong></li>
</ol>
<ul>
<li>Нет ограничения по количеству проверяемых страниц.</li>
<li>Показывает ответы сервера, в том числе 404, и страницу, на которой находится ссылка.</li>
<li>Не очень удобный интерфейс.</li>
<li>Бесплатный.</li>
<li>На английском языке.</li>
</ul>
<h2>На сладкое!</h2>
<p>В заключение предлагаем подборочку креативных страниц ошибки 404.</p>

Проверь себя!

  • Код ответа сервера

Все несуществующие страницы должны отдавать код ответа сервера 404

Проверить можно, к примеру, в Яндекс.Вебмастере

  • Оформление

Страница 404 ошибки

  • должна быть в дизайне сайта,
  • информировать пользователя, почему он здесь оказался,
  • иметь соответствующие и мета-описания,</li>
    <li>иметь навигацию.</li>
    </ul>

  • Битые ссылки.

С помощью сервисов, которые мы дали в этой статье, либо любых других, находим страницы, с которых ведут битые ссылки и устраняем их.

Все в порядке? Работаем дальше.

Обработка 404 ошибки

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

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

  • Отсутствует файл favicon.ico, который запрашивается браузером при каждом входе на страницу. Этот файл требуется, чтобы появилось изображение перед URL страницы в адресной строке браузера.
  • Отсутствует файл robots.txt. Он создается для роботов поисковиков, которые запрашивают его, когда выполняются запросы сайта. Это позволяет более грамотно распределять ресурсы поискового робота, указывая ему на страницы какие следует обойти, а какие нет.
  • Отсутствует файл javascript. Если в html-коде присутствует ссылка на данный файл, а сам файл отсутствует, то возникнет ошибка.

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

Этапы обработки ошибки 404

  • Пользователь получает ошибку сервера.
  • Уточняется, какая именно ошибка произошла.
  • В случае 404 ошибки, происходит ее обработка, которая выполняет следующие действия:
  • устанавливает кода ошибки 404.
  • создает документ из шаблона.
  • удаляет код ошибки с сервера.

Также проводится проверка обработки страниц 404.

Очень часто сервером хостинга является Apache, в таком случае, в файл .htaccess следует добавить код:

ErrorDocument 404 /404.html

Где 404.html — это страница, сообщающая об ошибке, а .htaccess – это файл, содержащий правила для работы сервера.

В ситуации, когда сервером является IIS, для устранения ошибки нужно в разделе настроек менеджера Error Pages найти файл web.config и прописать код обработки ошибок:

error statusCode="404" prefixLanguageFilePath="" path="/404.php" responseMode="ExecuteURL" /

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

Отслеживать появление и обработку ошибок 404 вы можете в файле error_log, он покажет вам, каких файлов не хватает на сайте. Это поможет избежать ссылок на такие несуществующие файлы.

Стоит отметить, что описанная выше директива ErrorDocument способна обрабатывать не только 404 ошибку, но и все остальные.

Корректная обработка ошибки 404

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

Правильная обработка страницы 404 ошибки

  1. Сообщение «Страница не найдена» стандартной обработки ошибки 404 не несет никакой пользы для посетителя, что ухудшает впечатление пользователя о сайте.
  2. Если в поисках информации пользователь наткнулся на битую ссылку, то он вынужден возвращаться на главную и начинать поиск заново.

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

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

Как сделать страницу ошибки 404 максимально полезной?

  1. Дизайн страницы ошибки не должен отличаться от остального дизайна веб-сайта, включая логотип,  цветовую схему, навигацию и т.п.
  2. Сделайте страницу информативной для пользователя. Для этого на нее можно пометить  следующие элементы:

    • ссылку на главную страницу сайта
    • форму поиска по сайту
    • самые популярные страницы сайта(топ-10)
    • ссылку на карту сайта
  3. Простая, а порой даже забавная обработка страницы 404 ошибки, поможет задержать на сайте пользователя. Есть много сайтов тому подтверждением
  4. Сообщите об ошибке в дружелюбной манере. «Упс! Извините, мы не можем найти данную страницу!» звучит приятнее, чем «Ошибка 404 – страница не найдена»

Как реализуется обработка 404 ошибки?

Во-первых, необходимо запретить индексацию данной страницы  поисковыми роботами. Для этого необходимо убедиться, что возвращается правильный http статус ошибки, тогда поисковики ее проигнорируют. Но для надежности лучше запретить  страницу в файле robots.txt , добавив в него всего одну строку:

Disallow: /404.html

Во-вторых,  чтобы отображалась  собственная страница 404 ошибки в файле .htaccess (для сервера Apache) необходимо прописать следующее:

ErrorDocument  404 / 404-error.html

где 404-error.html и есть специально созданная страница-обработчик ошибки.

Почему не стоит перенаправлять пользователя на другую (например, главную)  страницу сайта?  Перенаправление приводит к замешательству пользователя, так как выдается не то, что он искал – необходимо информировать об ошибке. Кроме того, если ответ страницы будет не 404, то это наплодит большое число неинформативных страниц в поисковых системах.

Как бороться с возникновением ошибки 404 на сайте?

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

Грамотная обработка 404 ошибки поможет вам удержать пользователей на сайте и не отпугнуть их от дальнейших действий.

Вот несколько нестандартных решений оформления страницы обработки ошибки 404 различными ресурсами:

Сайт eu.blizzard.com

Корректная обработка ошибки 404 различными ресурсами

 Сайт chrisjennings.com

404 ошибка - сайт не найден

 Сайт jhuskisson.com

Страница не найдена, обработка 404 ошибки

Вернуться назад

  • 10.07.2012
  • веб-дизайн

Статья написана в рамках статейного конкурса Serpstat и SEOnews. Условия конкурса.

Для начала давайте разберем – что такое 404? Почему это ошибка? И причем тут бизнес?

404 – это код состояния HTTP.

Опустим подробности о том, что такое код состояния HTTP, вы это можете прочитать в Википедии.

С точки зрения SEO нас интересуют следующие коды состояния http:

Код? Что передает? Что значит для поисковой системы?
200 запрос был успешно получен, понят и обработан Такой код ответа сервера должны отдавать все рабочие страницы сайта.
301 ресурс перемещен навсегда Такой код ответа сервера настраивается, если требуется перенаправление на другую страницу. Например, сделали редизайн со сменой CMS. Адреса страниц поменялись, но трафик мы сохранить хотим.
500 внутренняя ошибка сервера Сервер столкнулся с непредвиденным условием, которое не позволяет ему выполнить запрос (получен код 500 Internal Server Error). Обычно, говорит о проблемах на хостинге.
404 Ресурс не найден Указывает на то, что этой страницы больше нет, и поисковому роботу нужно удалить ее из своей базы.

На страницу ошибки 404 пользователи попадают в нескольких случаях:

  • если они неверно набрали адрес страницы,
  • кто-то указал неправильную ссылку на сайт,
  • вы удалили какую-то страницу с сайта (сняли товар с производства, перестали оказывать услугу).

Неверно настроенная 404 – проблемы для бизнеса

Существуют 2 основных группы проблем для бизнеса, когда можно сказать, что ошибка 404 настроена неправильно:

  • обработка ошибки 404,
  • оформление страницы ошибки 404.

Далее разберем основные моменты, с которыми можно столкнуться при проблеме из первого блока.

Основные ошибки при настройке обработки 404 ошибки для SEO

  • Ошибка 1. 404 не обрабатывается.

Что это значит?

При вводе любого несуществующего адреса на сайте, url в адресной строке меняется, а содержимое страницы остается неизменным.

То есть, мы зашли на главную страницу site.ru. Увидели одно содержимое. Дописали к site.ru/pr7777 – содержимое осталось прежним, хотя страницы по такому адресу нет.

Таким образом, мы получаем бесчисленное множество дубликатов главной страницы.

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

Решение

Настроить корректную обработку ошибки 404 для всех несуществующих страниц на сайте.

Если страницы-дубликаты уже попали в индекс поисковой системы, чтобы минимизировать последствия, закройте их в robots.txt от индексации.

  • Ошибка 2. На сайте настроена Soft 404

Soft 404 — это замена страницы ошибки 404 страницей с контентом о несуществующей странице с кодом ответа сервера 200 (существующей страницы). Яндекс. Вебмастер относит soft 404 к распространенным ошибкам при разработке сайтов.

Наиболее часто встречается soft 404 в CMS Битрикс.

Когда принимаете работы по разработке, в обязательном порядке проверьте корректность настройки 404.

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

  • Ошибка 3. Редирект на главную.

Частой ошибкой при настройке обработки ошибки 404 является настройка редиректа с 404 на главную страницу. Этот вариант можно рассмотреть как разновидность soft 404 с такими же последствиями.

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

Основные ошибки при оформлении страниц 404 ошибки

Итак, основные проблемы, связанные с некорректной настройкой обработки ошибки 404 мы разобрали. Переходим ко второй группе проблем – оформлению страницы ошибки 404.

Допустим, мы провели работы и настроили правильную обработку ошибки 404. Для всех несуществующих адресов у нас отдается долгожданный код ответа сервера 404, а не 200, и не 301.

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

Рассмотрим наиболее распространенные «недружелюбные» шаблоны страниц 404 ошибки.

Все перечисленные варианты 404 страниц не позволяют пользователю вернуться на сайт и дезориентируют его. Вероятность того, что пользователь закроет сайт и не вернется стремится к 100%.

  • Ошибка 1. Шаблон 404 страницы от хостера.

Многие хостинги подставляют в случае отсутствия на сайте собственного шаблона 404 ошибки, свой шаблон.

  • Ошибка 2. Белый лист вместо шаблона 404.

Если хостер не предоставляет шаблона 404, то вместо шаблона 404 страницы будет отображаться белый лист с надписью «404 not found».

  • Ошибка 3. Шаблон 404 от браузера.

Если при коде ответа сервера 404 не предусмотрено совсем никакого шаблона, то за вас его сделает браузер.

  • Ошибка 4. Шаблон 404 от CMS.

В некоторых CMS предустановлен шаблон 404 ошибки. У Joomla, к примеру, он такой.

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

  • Ошибка 5. «Непонятная» страница.

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

Это может быть страница с картой сайта, пустая страница сайта, просто странная страница сайта, как на примере ниже.

С точки зрения SEO также крайне важно, чтобы и мета-описания не дублировались с другой страницы сайта, а соответствовали содержимому страницы 404 ошибки. Частый случай, когда <title> и мета-описания дублируют главную страницу сайта.</p>
<h2>Что же делать, чтобы не потерять пользователей?</h2>
<p>Наша задача сделать максимально «дружелюбную» страницу 404 ошибки.</p>

<ul>
<li>Она должна быть в дизайне сайта. Пользователь должен понимать, что он попал на нужный сайт, просто по неверной ссылке.</li>
<li>Она должна содержать пояснения, почему пользователь здесь оказался.</li>
<li>С нее должна быть доступна навигация сайта, чтобы пользователь мог вернуться и продолжить поиск по сайту по-другому.</li>
<li>Заголовок страницы, <title> и мета-описания должны быть соответствующими.</li>
</ul>
<p>Но можно пойти и дальше)</p>

<p>Очень желательно, при разработке сайта запланировать креативную страницу 404 ошибки. Чтобы она запомнилась пользователю и вызвала положительные эмоции. Примеры креативных 404 мы припасли на конец статьи.</p>
<h2>«Битые» ссылки</h2>
<p>В статье о 404 ошибке нельзя не затронуть тему битых ссылок.</p>

<p>«Битыми» ссылками называют ссылки, которые ведут на страницу 404 ошибки. Они могут появиться, если</p>
<ul>
<li>при простановке ссылки допущена опечатка,</li>
<li>адреса страниц изменились при редизайне, а 301 редиректы вы не настроили,</li>
<li>страница, на которую вела ссылка, была удалена.</li>
</ul>
<p>На сайте не должно быть внутренних битых ссылок. Поэтому необходимо регулярно проверять сайты на их наличие и исправлять ошибки.</p>
<h2>Сервисы для поиска битых ссылок</h2>
<p>Мониторинг сайтов на битые ссылки можно проводить с помощью различных сервисов. Вот небольшой набор тех, которыми пользуются в Интернет-агентстве Орех.</p>
<ol class=»ol»>
<li><strong>Расширение для браузера Google Chrome</strong> <a href=»https://chrome.google.com/webstore/detail/check-my-links/ojkcdipcgfaekbeaelaapakgnjflfglf»>https://chrome.google.com/webstore/detail/check-my-links/ojkcdipcgfaekbeaelaapakgnjflfglf</a></li>
</ol>
<ul>
<li>С его помощью можно проверять на битые ссылки конкретную страницу.</li>
<li>Бесплатно.</li>
<li>На английском языке.</li>
</ul>

 
<ol class=»ol» start=»2″>
<li><strong>Netpeak Spider</strong></li>
</ol>
<ul>
<li>Проверяет весь сайт, нет ограничений по количеству страниц. Указывает на какой странице находится битая ссылка.</li>
</ul>
<ul>
<li>Платный. От 14$ в месяц.</li>
<li>На русском языке.</li>
</ul>

 
<ol class=»ol» start=»3″>
<li><strong>Screaming Frog</strong></li>
</ol>
<ul>
<li>Ограничение по количеству проверяемых страниц</li>
<li>Показывает ответы сервера, в том числе 404, но не показывает страницу, на которой находится ссылка.</li>
<li>Бесплатный.</li>
<li>На английском языке.</li>
</ul>

 
<ol class=»ol» start=»4″>
<li><strong>XENU</strong></li>
</ol>
<ul>
<li>Нет ограничения по количеству проверяемых страниц.</li>
<li>Показывает ответы сервера, в том числе 404, и страницу, на которой находится ссылка.</li>
<li>Не очень удобный интерфейс.</li>
<li>Бесплатный.</li>
<li>На английском языке.</li>
</ul>
<h2>На сладкое!</h2>
<p>В заключение предлагаем подборочку креативных страниц ошибки 404.</p>

Проверь себя!

  • Код ответа сервера

Все несуществующие страницы должны отдавать код ответа сервера 404

Проверить можно, к примеру, в Яндекс.Вебмастере

  • Оформление

Страница 404 ошибки

  • должна быть в дизайне сайта,
  • информировать пользователя, почему он здесь оказался,
  • иметь соответствующие и мета-описания,</li>
    <li>иметь навигацию.</li>
    </ul>

  • Битые ссылки.

С помощью сервисов, которые мы дали в этой статье, либо любых других, находим страницы, с которых ведут битые ссылки и устраняем их.

Все в порядке? Работаем дальше.

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

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

ошибка 404

Причины возникновения ошибок 404

Как правило, появление такой ошибки вызывают:

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

Как ошибки 404 влияют на ранжирование сайта?

Хотя ошибки 404 сами по себе не являются фактором ранжирования, они могут отрицательно повлиять на SEO-продвижение.

Даже единичные битые ссылки снижают поведенческие характеристики сайта, вызывая уход посетителей и рост показателя отказов. Это является негативным сигналом для поисковых систем. Официальные источники Яндекса и Google рекомендуют избегать неработающих ссылок на сайте. Большое количество таких ошибок негативно влияет на его ранжирование. Чем больше неработающих ссылок на вашем сайте, тем сложнее будет Google и другим поисковым системам сканировать сайт. Поисковые системы считают, что за состоянием такого веб-ресурса никто не следит, и понижают его позиции в результатах поиска. Страницы, отдающие ответ с ошибкой 404, исключаются из индекса (базы данных поисковой системы).

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

Чтобы наличие на сайте таких страниц не привело к ухудшению ранжирования ресурса, они должны быть правильно настроены — давать код ответа 404 (Not Found). Именно такой ответ сообщает поисковому роботу, что данной страницы не существует, и предотвращает ее индексирование.

Страница может выглядеть нормальной, но при этом давать ответ 404 или наоборот — уже несуществующая страница возвращает ответ 200 (страница доступна). Это вводит в заблуждение поисковые системы.

Если вместо кода 404 будет даваться ответ 200, в индекс попадет множество бесполезных страниц, которые будут сканироваться поисковым роботом вместо страниц с качественным контентом.

Лучший способ сделать так, чтобы посетители не попадали на страницу 404 — регулярно проверять наличие на сайте так называемых «битых» ссылок, которые ведут на несуществующие страницы. Это касается как внутренней перелинковки, так и внешних ссылок на другие ресурсы.

Как обнаружить ошибки 404 с помощью сервиса Labrika

Отчет «Ошибки 4хх» вы сможете найти в левом боковом меню в разделе «Технический аудит».

ошибка 404

Отчет содержит:

  • URL-адрес страницы, которая отдала код ошибки 4xx.
  • Информацию о коде ответа страницы.
  • Кнопку для проверки HTTP-статуса — при нажатии на неё откроется сервис проверки HTTP-заголовков страниц.

ошибка 404

  • Список страниц, с которых ведут ссылки на данную страницу с ошибкой 404 — открывается при нажатии на кнопку «Показать».

ошибка 404

Как исправить ошибки 404?

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

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

ошибка 404

Более подробно об оформлении страницы 404-й ошибки вы можете прочитать в отдельной статье нашего сайта.

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

Довольно часто встречаются случаи, когда ошибки 404 приобретают характер систематических ошибок:

  • Отсутствие файла favicon.ico. Когда вы открываете любую страницу, браузер запрашивает изображение с именем favicon.ico, которое отображается в адресной строке перед адресом страницы.

  • Отсутствие файла robots.txt. Данный файл запрашивают роботы поисковиков регулярно перед каждым выполнением запросов сайта.

  • Отсутствующий javascript файл, когда на этот файл имеется ссылка в шаблоне HTML-кода сайта.

Способ решения этих проблем достаточно прост – необходимо убедиться, что файлы, которые запрашивает браузер, присутствуют на сервере. Устранение этой проблемы увеличивает скорость загрузки примерно в 4 раза.

Следует обратить внимание, что обработка ошибки 404 htaccess полностью исключена из настройки системы. Поэтому пользователю необходимо обрабатывать её самостоятельно.

Сообщение о 404 ошибка должно помогать читателю сайта с определением дальнейших действий

Этапы обработки ошибки 404 осуществляются в таком виде:

  • Пользователю поступает ошибка сервера;

  • Идет распознание типа ошибки;

  • Если это ошибка 404, ошибка обрабатывается.

Шаги обработки ошибки 404 htaccess:

  • Установка кода ошибки 404;

  • Создание документа из шаблона;

  • Удаление кода ошибки с сервера. 

Решение проблемы также зависит от сервера, установленного на хостинге.

В том случае, если это сервер Apache, нужно вставить в файл .htaccess следующее:

ErrorDocument 404 /404.html

Рассмотрим код детальнее:

  • 404.html – страница, которая сообщает об ошибке;

  • .htaccess — файл, который содержит правила для сервера Apache.

Если же на хостинге установлен сервер IIS, в таком случае устранять ошибку лучше с помощью менеджера. В настройках сайта выбираем следующее:

HTTP Features->Error Pages

После ищем нужный заголовок и редактируем. В файле Web.config обработка ошибок прописывается так:

<error statusCode="404" prefixLanguageFilePath="" path="/404.php" responseMode="ExecuteURL" />

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

Также вы можете наблюдать появление ошибки 404 в файле error_log и прослеживать, какие документы отсутствуют на сервере, чтобы исключить битые ссылки.

После решения проблемы создайте файл 404.html, в котором будет описание того, что делать пользователю при возникшей проблеме. Советы и указания всегда пригодятся вашему пользователю.

Важно, что директива ErrorDocument может обрабатывать не только ошибку 404, но и все остальные ошибки. К примеру, такими способами можно обработать 403 ошибку.

Предложить идею урока:

Опубликовано:
10 апреля 2015

Обновлено:
11 апреля 2019

73 449

Сайты развиваются: создаются новые разделы, меняется структура, удаляются страницы или переделываются их адреса. Часто за всеми этими процессами уследить очень сложно даже опытному веб-мастеру. Чем старше сайт – тем больше вероятность того, что каждый день он получают процент пользователей, попадающих на страницы, которых больше не существует. Как это отследить? Как оповестить робота и клиента, что таких страниц больше нет? Что показывать пользователю на странице 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 редирект на максимально релевантные страницы. Любите своих клиентов и не заставляйте их думать или что-то искать на Вашем сайте.

Обработка 404 ошибки

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

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

  • Отсутствует файл favicon.ico, который запрашивается браузером при каждом входе на страницу. Этот файл требуется, чтобы появилось изображение перед URL страницы в адресной строке браузера.
  • Отсутствует файл robots.txt. Он создается для роботов поисковиков, которые запрашивают его, когда выполняются запросы сайта. Это позволяет более грамотно распределять ресурсы поискового робота, указывая ему на страницы какие следует обойти, а какие нет.
  • Отсутствует файл javascript. Если в html-коде присутствует ссылка на данный файл, а сам файл отсутствует, то возникнет ошибка.

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

Этапы обработки ошибки 404

  • Пользователь получает ошибку сервера.
  • Уточняется, какая именно ошибка произошла.
  • В случае 404 ошибки, происходит ее обработка, которая выполняет следующие действия:
  • устанавливает кода ошибки 404.
  • создает документ из шаблона.
  • удаляет код ошибки с сервера.

Также проводится проверка обработки страниц 404.

Очень часто сервером хостинга является Apache, в таком случае, в файл .htaccess следует добавить код:

ErrorDocument 404 /404.html

Где 404.html — это страница, сообщающая об ошибке, а .htaccess – это файл, содержащий правила для работы сервера.

В ситуации, когда сервером является IIS, для устранения ошибки нужно в разделе настроек менеджера Error Pages найти файл web.config и прописать код обработки ошибок:

error statusCode="404" prefixLanguageFilePath="" path="/404.php" responseMode="ExecuteURL" /

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

Отслеживать появление и обработку ошибок 404 вы можете в файле error_log, он покажет вам, каких файлов не хватает на сайте. Это поможет избежать ссылок на такие несуществующие файлы.

Стоит отметить, что описанная выше директива ErrorDocument способна обрабатывать не только 404 ошибку, но и все остальные.

Сергей Коваль

Опубликовано: 9 ноября 2021

Ошибка 404: проверка, настройка и оформление

Разбираемся, почему возникает ошибка 404 и как обратить ее появление в свою пользу

Иногда переходя по ссылке из различных ресурсов или даже из поисковой системы пользователь вместо страницы вашего сайта может увидеть сообщение браузера: 404 ошибка. В этом случае он просто закрывает вкладку и забывает о намерении посетить ваш сервис.

Однако вы можете изменить его решение и обратить ошибку 404 в свою пользу. Как это сделать, узнаете из нашей статьи.

Причины возникновения ошибки 404

Ошибка 404 – это не результат неправильной работы сайта. Ее причинами могут быть:

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

Ошибка 404 довольно неприятное явление для владельца сайта, она имеет ряд негативных последствий:

  • Пользователи покидают ваш сайт так и не узнав о ваших услугах, товарах или других возможностях, которые он предлагает.
  • Ваш сайт теряет посещения, отчего страдает статистика, а значит и ранжирование сайта.
  • У пользователей складывается негативное впечатление о вашем ресурсе.

К сожалению, возникновение ошибки 404 в большинстве случаев зависит не от владельца сайта. Однако есть способы, как сделать страницу ошибки полезной для себя и своего ресурса.

Как обработать страницу ошибки 404?

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

Позаботьтесь об оформлении страницы. Она должна соответствовать сайту в целом и свидетельствовать о серьезности и солидности ресурса. Разместите на странице свои логотипы, оформите в единой с сайтом цветовой схеме.

Сделайте страницу полезной для посетителя, то есть разместите на ней элементы, которые помогут ему перейти к полезной информации. Для этого на страницу ошибки 404 следует поместить:

  • ссылку, ведущую на главную страницу вашего сайта, в каталог или к другой полезной по вашему мнению информации;
  • форму поиска для того, чтоб посетители могли быстро найти любые данные, введя соответствующий запрос;
  • ссылки для перехода на самые популярные страницы вашего сервиса, например, оформив их каталогом или в виде рейтинга ТОП-10;
  • ссылку на карту сайта;
  • рекламную и полезную информацию, например, объявление о скидках, новых товарах или рубриках.

Довольно интересными идеями, которые привлекут внимание пользователя и вызовут интерес, станут необычные или смешные картинки. Проявите креатив в этом вопросе. Также внимание привлекают и сообщения в нестандартной, юмористической форме. Например: Ой, мы не можем найти эту страницу, но раз уж вы здесь, посетите нашу распродажу. Или: Упс, что-то пошло не так, может вам будет интересна следующая информация?

Обработка ошибки 404

Чтобы ошибка 404 не отразилась на популярности сайта, ее следует настроить.

Для начала отключите индексацию данной страницы поисковыми роботами, а лучше запретите ее. Тогда поисковики будут игнорировать эту страницу вашего сайта и не направлять посетителей на нее по недоразумению. Чтобы запретить страницу, найдите файл robots.txt и добавьте в него всего одну строчку: Disallow: /404.html.

Далее следует заменить стандартную страницу на собственную уникальную разработку. Для этого найдите файл с расширением .htaccess и внесите в него следующую строку: ErrorDocument 404 / 404-error.html. Где 404-error.html – это и будет URL созданной вами оригинальной страницы для обработки ошибки.

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

Как минимизировать вероятность возникновения ошибки 404

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

Для обнаружения битых ссылок может пригодиться и специальное программное обеспечение.

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

Запомните, от ошибки 404 не защищен ни один ресурс. Однако грамотная ее обработка поможет удержать посетителей и не скажется на статистике и ранжировании сайта.

Самые важные новости сферы интернет-маркетинга

Подписаться на обновления

3 августа 2018

Задача любого сайта – привлечение максимального объема читательской аудитории. Реализовать ее можно ресурсом, полностью выполняющим требования поисковых систем. Одно из требований поисковиков − корректная обработка поступающих запросов, включающая также ошибочные запросы.

Код ошибки 404

Иногда при поиске нужного ресурса появляется страница с трехзначным кодом 404 и надписью: «Страница не найдена» («Not Found»). Реже на странице размещено подробное объяснение возникновения ошибки. Страница 404 ошибки на сайте информирует, что нужный сервер обнаружен, но разыскать запрашиваемую страницу не удается, отсутствует информация об указанной странице в браузере.

Код

Код статуса 404 обозначается в определенной последовательности:

  • первая цифра указывает на класс состояния. Она свидетельствует об ошибке браузера (Client Error) или неправильном указании URL сайта в адресной строке, либо об ошибке на сервере;
  • вторая цифра обозначает ошибку синтаксиса протокола, ее отношение к группе ошибок «40*»;
  • третья цифра в коде конкретизирует ошибку пользователя – страница по указанному адресу не найдена.

Причины появления кода ответа сервера 404

Небольшие сайты могут контролировать свои ссылки, тогда как крупным сайтам отслеживать битые ссылки на перемещенные или удаленные файлы проблематично.
Битые ссылки, направляющие на страницу 404 ошибки, негативным образом сказываются на индексировании сайта в поисковых системах Google и Yandex.

Причин появления кода ответа сервера 404 несколько:

  • пользователь неправильно ввел адрес онлайн-ресурса;
  • страница была перемещена или удалена;
  • URL страницы был переписан, но битая ссылка осталась в закладках браузера либо на сторонних ресурсах.

Рекомендации по созданию страницы 404

Страница 404 ошибки на сайте – одна из составляющих оптимизации веб-ресурса, и, чтобы пользователь остался на сайте, необходимо правильно подойти к оформлению данной страницы

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

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

Примеры оригинально оформленных страниц 404-й ошибки

Пример

Пример

Пример

Пример

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

Специальные инструменты для веб-мастеров, такие как панель Вебмастера Яндекс и Google, Screaming Frog SEO Spider и др., помогут отследить ошибки на сайте и понять, как они формируются.

Если вы хотите продвинуть свой сайт в ТОП поисковой выдачи, тогда записывайтесь на курс по SEO-оптимизации.


Дмитрий Медведев Статью подготовил Дмитрий Медведев, 
ведущий спикер Webcom Academy.

Самое свежее за последнюю неделю

Эффективное решение для отслеживания событий в Яндекс Метрике

В данной статье мы сравним точность статистики при настройке JavaScript-события и автоматических целей Метрики в рекламных кампания Яндекс Директа. Могут ли они заменить друг друга, какое решение эффективнее и с чем вы можете столкнуться при работе с ними.

Mindmap или интеллект-карта: что это такое и зачем она нужна

Большинство бизнес-задач или проектов можно разбить на более мелкие части и выполнить по отдельности. А если удобно разложить эти части на условном «столе», то станут заметны и взаимосвязи между ними и общий масштаб работы. Эти принципы широко используются в IT-индустрии, но подходят и для других бизнесов. В этой статье говорим о пользе интеллект-карт.

Теневой бан в Инстаграм: что это, причины, проверка аккаунта, способы выхода

Теневой бан — хоть и не полная блокировка аккаунта, но вещь крайне неприятная для любого пользователя Инстаграм. Особенно, если речь идет о блоге с десятками и сотнями тысяч подписчиков. В этой статье расскажем: что такое теневой бан в Инстаграм, как в него не попасть и как из него выйти, если неприятность все же случилась.

обновлено: 13.02.2020 1566399901

Александр Коваленко, CEO/founder агентства Advermedia.ua, опыт в SEO более 10 лет.
Канал автора в телеграм: @seomnenie

Информация о статье

Ошибка 404 - что означает, как создать и настроить

Заголовок

Ошибка 404 — что означает, как создать и настроить

Описание

Все о 404 ошибке: 1. Что означает 404 2. Как создать страницу 404 3. Как найти ошибки 404 на сайте 4. Как исправить

Автор

Организация

advermedia.ua

Логотип

advermedia.ua

Loading…

CEO/founder агентства Advermedia.ua, опыт в SEO более 10 лет.
Канал автора в телеграм: @seomnenie

Новые материалы

Подписаться на телеграм канал СEO Advermedia Мнение SEO

Публикуем интересные материалы из блога и разбираем вопросы по SEO от подписчиков!


https://t.me/seomnenie
Подписаться

Время на прочтение
7 мин

Количество просмотров 24K

Когда я только начинал работать с Express и пытался разобраться с тем, как обрабатывать ошибки, мне пришлось нелегко. Возникало такое ощущение, будто никто не писал о том, что мне было нужно. В итоге мне пришлось самому искать ответы на мои вопросы. Сегодня я хочу рассказать всё, что знаю об обработке ошибок в Express-приложениях. Начнём с синхронных ошибок.

Обработка синхронных ошибок

Если вам нужно обработать синхронную ошибку, то вы можете, для начала, с помощью инструкции throw, выдать такую ошибку в обработчике запроса Express. Обратите внимание на то, что обработчики запросов ещё называют «контроллерами», но я предпочитаю использовать термин «обработчик запросов» так как он кажется мне понятнее.

Вот как это выглядит:

app.post('/testing', (req, res) => {
  throw new Error('Something broke! ')
})

Такие ошибки можно перехватить с помощью обработчика ошибок Express. Если вы не написали собственный обработчик ошибок (подробнее об этом мы поговорим ниже), то Express обработает ошибку с помощью обработчика, используемого по умолчанию.

Вот что делает стандартный обработчик ошибок Express:

  1. Устанавливает код состояния HTTP-ответа в значение 500.
  2. Отправляет сущности, выполнившей запрос, текстовый ответ.
  3. Логирует текстовый ответ в консоль.

Сообщение об ошибке, выведенное в консоль

Обработка асинхронных ошибок

Для обработки асинхронных ошибок нужно отправить ошибку обработчику ошибок Express через аргумент next:

app.post('/testing', async (req, res, next) => {
  return next(new Error('Something broke again! '))
})

Вот что попадёт в консоль при логировании этой ошибки.

Сообщение об ошибке, выведенное в консоль

Если вы пользуетесь в Express-приложении конструкцией async/await, то вам понадобится использовать функцию-обёртку, наподобие express-async-handler. Это позволяет писать асинхронный код без блоков try/catch. Подробнее об async/await в Express можно почитать здесь.

const asyncHandler = require('express-async-handler')

app.post('/testing', asyncHandler(async (req, res, next) => {
  // Сделать что-нибудь
}))

После того, как обработчик запроса обёрнут в express-async-handler, то можно, так же, как было описано выше, выбросить ошибку с использованием инструкции throw. Эта ошибка попадёт к обработчику ошибок Express.

app.post('/testing', asyncHandler(async (req, res, next) => {
  throw new Error('Something broke yet again! ')
}))

Сообщение об ошибке, выведенное в консоль

Написание собственного обработчика ошибок

Обработчики ошибок Express принимают 4 аргумента:

  1. error
  2. req
  3. res
  4. next

Размещать их нужно после промежуточных обработчиков и маршрутов.

app.use(/*...*/)
app.get(/*...*/)
app.post(/*...*/)
app.put(/*...*/)
app.delete(/*...*/)

// Собственный обработчик ошибок нужно поместить после всех остальных промежуточных обработчиков
app.use((error, req, res, next) => { /* ... */ })

Если создать собственный обработчик ошибок, то Express прекратит использование стандартного обработчика. Для того чтобы обработать ошибку, нужно сформировать ответ для фронтенд-приложения, которое обратилось к конечной точке, в которой возникла ошибка. Это означает, что нужно выполнить следующие действия:

  1. Сформировать и отправить подходящий код состояния ответа.
  2. Сформировать и отправить подходящий ответ.

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

  1. Ошибка 400 Bad Request. Используется в двух ситуациях. Во-первых — тогда, когда пользователь не включил в запрос необходимое поле (например — в отправленной платёжной форме не заполнено поле со сведениями о кредитной карте). Во-вторых — тогда, когда в запросе содержатся некорректные данные (например — ввод в поле пароля и в поле подтверждения пароля разных паролей).
  2. Ошибка 401 Unauthorized. Этот код состояния ответа применяется в том случае, если пользователь ввёл неправильные учётные данные (вроде имени пользователя, адреса электронной почты или пароля).
  3. Ошибка 403 Forbidden. Используется в тех случаях, когда пользователю не разрешён доступ к конечной точке.
  4. Ошибка 404 Not Found. Применяется в тех случаях, когда конечную точку невозможно обнаружить.
  5. Ошибка 500 Internal Server Error. Применяется тогда, когда запрос, отправленный фронтендом, сформирован правильно, но на бэкенде при этом возникла какая-то ошибка.

После того, как определён подходящий код состояния ответа, его нужно установить с помощью res.status:

app.use((error, req, res, next) => {
  // Ошибка, выдаваемая в ответ на неправильно сформированный запрос
  res.status(400)
  res.json(/* ... */)
})

Код состояния ответа должен соответствовать сообщению об ошибке. Для этого нужно отправлять код состояния вместе с ошибкой.

Легче всего это сделать с помощью пакета http-errors. Он позволяет отправлять в ошибке три фрагмента информации:

  1. Код состояния ответа.
  2. Сообщение, сопутствующее ошибке.
  3. Любые данные, которые нужно отправить (это необязательно).

Вот как установить пакет http-errors:

npm install http-errors --save

Вот как этим пакетом пользоваться:

const createError = require('http-errors')

// Создание ошибки
throw createError(status, message, properties)

Рассмотрим пример, который позволит как следует в этом всём разобраться.

Представим, что мы пытаемся обнаружить пользователя по адресу его электронной почты. Но этого пользователя найти не удаётся. В результате мы решаем отправить в ответ на соответствующий запрос ошибку User not found, сообщающую вызывающей стороне о том, что пользователь не найден.

Вот что нам нужно будет сделать при создании ошибки:

  1. Установить код состояния ответа как 400 Bad Request (ведь пользователь ввёл неправильные данные). Это будет наш первый параметр.
  2. Отправить вызывающей стороне сообщение наподобие User not found. Это будет второй параметр.

app.put('/testing', asyncHandler(async (req, res) => {
  const { email } = req.body
  const user = await User.findOne({ email })

  // Если пользователь не найден - выбросим ошибку
  if (!user) throw createError(400, `User '${email}' not found`)
}))

Получить код состояния можно с помощью конструкции error.status, а сообщение ошибки — с помощью error.message:

// Логирование ошибки
app.use((error, req, res, next) => {
  console.log('Error status: ', error.status)
  console.log('Message: ', error.message)
})

Результат логирования ошибки в консоли

Затем состояние ответа устанавливают с помощью res.status, а сообщение записывают в res.json:

app.use((error, req, res, next) => {
  // Установка кода состояния ответа
  res.status(error.status)

  // Отправка ответа
  res.json({ message: error.message })
})

Лично я предпочитаю отправлять в подобных ответах код состояния, сообщение и результат трассировки стека. Это облегчает отладку.

app.use((error, req, res, next) => {
  // Установка кода состояния ответа
  res.status(error.status)

  // Отправка ответа
  res.json({
    status: error.status,
    message: error.message,
    stack: error.stack
  })
})

▍Код состояния ответа, используемый по умолчанию

Если источником ошибки не является createError, то у неё не будет свойства status. Вот пример, в котором сделана попытка прочесть несуществующий файл с помощью fs.readFile:

const fs = require('fs')
const util = require('util')

// Преобразуем readFile из функции, использующей коллбэки, в async/await-функцию.
// Подробности об этом смотрите здесь: https://zellwk.com/blog/callbacks-to-promises
const readFilePromise = util.promisify(fs.readFile)

app.get('/testing', asyncHandler(async (req, res, next) => {
  const data = await readFilePromise('some-file')
})

У такого объекта ошибки не будет свойства status:

app.use((error, req, res, next) => {
  console.log('Error status: ', error.status)
  console.log('Message: ', error.message)
})

Результат логирования ошибки в консоли

В подобных случаях можно задать код ошибки, используемый по умолчанию. А именно, речь идёт об ошибке 500 Internal Server Error:

app.use((error, req, res, next) => {
  res.status(error.status || 500)
  res.json({
    status: error.status,
    message: error.message,
    stack: error.stack
  })
})

▍Изменение кода состояния ошибки

Предположим, мы собираемся прочитать некий файл, воспользовавшись данными, предоставленными пользователем. Если такого файла не существует, это значит, что нам нужно выдать ошибку 400 Bad Request. Ведь в том, что файл найти не удаётся, нет вины сервера.

В подобном случае нужно воспользоваться конструкцией try/catch для перехвата исходной ошибки. Затем нужно воссоздать объект ошибки с помощью createError:

app.get('/testing', asyncHandler(async (req, res, next) => {
  try {
    const { file } = req.body
    const contents = await readFilePromise(path.join(__dirname, file))
  } catch (error) {
    throw createError(400, `File ${file} does not exist`)
  }
})

▍Обработка ошибок 404

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

Для обработки ошибок 404 Not Found нужно добавить, между маршрутами и обработчиком ошибок, дополнительный обработчик. Вот как выглядит создание объекта ошибки 404:

// Промежуточные обработчики...
// Маршруты...

app.use((req, res, next) => {
  next(createError(404))
})

// Обработчик ошибок...

Сведения об ошибке

▍Замечания об ошибке ERR_HTTP_HEADERS_SENT

Не впадайте в панику если видите сообщение об ошибке ERR_HTTP_HEADERS_SENT: Cannot set headers after they are sent to the client. Она возникает из-за того, что в одном и том же обработчике многократно вызывается метод, устанавливающий заголовки ответа. Вот методы, вызов которых приводит к автоматической установке заголовков ответа:

  1. res.send
  2. res.json
  3. res.render
  4. res.sendFile
  5. res.sendStatus
  6. res.end
  7. res.redirect

Так, например, если вы вызовете методы res.render и res.json в одном и том же обработчике ответа, то вы получите ошибку ERR_HTTP_HEADERS_SENT:

app.get('/testing', (req, res) => {
  res.render('new-page')
  res.json({ message: '¯\_(ツ)_/¯' })
})

В результате, в том случае, если вы сталкиваетесь с этой ошибкой, тщательно проверьте код обработчиков ответа и убедитесь в том, что в нём нет ситуаций, в которых вызывается несколько вышеописанных методов.

▍Обработка ошибок и потоковая передача данных

Если что-то идёт не так при потоковой передаче ответа фронтенду, то можно столкнуться с той же самой ошибкой ERR_HTTP_HEADERS_SENT.

В подобном случае обработку ошибок нужно передать стандартным обработчикам. Такой обработчик отправит ошибку и автоматически закроет соединение.

app.use((error, req, res, next) => {
  // Сделать это нужно только в том случае, если ответ передаётся в потоковом режиме
  if (res.headersSent) {
    return next(error)
  }

  // Остальной код обработки ошибок
})

Итоги

Сегодня я рассказал вам всё, что знаю об обработке ошибок в Express. Надеюсь, это поможет вам писать более надёжные Express-приложения.

Уважаемые читатели! Как вы обрабатываете ошибки в своих Node.js-проектах?

Понравилась статья? Поделить с друзьями:
  • Корректировка технических ошибок
  • Коррекция орфографических ошибок у младших школьников
  • Корректирующие коды обнаружения и исправления ошибок
  • Коррекционная работа над ошибками
  • Корректировочный отчет сзв тд при ошибке