Обзор самых популярных ошибок на сайте и секреты управления ими
Prostoweb расскажет о наиболее распространенных внутренних ошибках, о причинах их возникновения и возможных способах устранения 403, 404, 500 и других ошибок. Ни один сайт во время своего взаимодействия с посетителем не застрахован от появления ошибок. Причины у ошибок могут быть очень разные – это действия пользователя, ошибки программиста при разработке сайта, проблемы с аппаратным обеспечением сервера или сетью.
Ошибки при работе сайта разделяются на 2 большие группы: ошибки на стороне клиента и ошибки на стороне сервера. Ошибки клиентской стороны имеют коды ответа протокола HTTP из серии 4xx, ошибки сервера - 5xx. Коды ответов сгруппированы логически на несколько неформальных групп для упрощения восприятия. Итак, какие же ошибки подстерегают нас при серфинге в Интернет?
Ресурс не найден (код 404)
Самая распространенная и простая в обработке ошибка, которая возникает, когда некоторый ресурс на сайте меняет свое расположение.
Причины:
- страница сайта была удалена или перемещена;
- заголовок страницы был изменен, и система управления сайтом автоматически изменила ее URI (универсальный идентификатор ресурса);
- запрошенный ресурс действительно отсутствует, т.к. его адрес был введен пользователем вручную неверно;
- нарушена целостность сайта в результате проблем с программным или аппаратным обеспечением, например, стерт или недоступен индексный файл, картинка, видеоролик и т.д.
Что делать:
- обязательно создать пользовательскую страницу для данного типа ошибки и дать в ней ссылку на главную страницу сайта и/или поисковую форму;
- при переименовании страниц и изменении их URI создать 301-ый редирект на новый адрес;
- периодически проверять сайт на наличие так называемых «битых» ссылок и исправлять их;
- периодически создавать резервные копии файлов сайта, чтобы при обнаружении «битой» ссылки на существовавший ранее файл можно было его восстановить.
Также есть понятие «программной» 404-ой ошибки (soft 404 error), которая возникает в случае, если программист по незнанию при отсутствии некоторого ресурса возвращает код успеха 200 и сообщение о том, что такая страница не найдена. Ситуация крайне неприятная, т.к. поисковые системы могут расценить это как большое количество задвоенных страниц, а найти «программные» ошибки с помощью ПО для обнаружения «битых» ссылок без дополнительных действий нельзя. Здесь совет один: если ресурс не найден, должен возвращаться именно код 404.
Внутренняя ошибка сервера (код 500)
Это зачастую довольно сложная техническая проблема, для решения которой без глубоких знаний в веб-разработке не обойтись. Код 500 возвращается, если есть проблема на стороне сервера, для которой не предусмотрен никакой другой код из группы 5xx.
Причины:
- ошибки в программном коде сайта;
- проблемы с настройкой веб-сервера.
Что делать:
- не менять без крайней необходимости и соответствующих знаний код системы управления сайтом и настройки веб-сервера;
- тестировать код сайта перед публикацией в Сети, тестировать функциональность сайта после публикации.
Сервис недоступен (код 503)
Причины:
- проблемы с серверным программным обеспечение: веб-сервер, базы данных, кеширующие прокси-сервера, акселераторы выполнения кода;
- сервер действительно отсутствует в Сети из-за проблем с его аппаратурой, питанием, сетью, в которой он находится.
Что делать:
- следить за состоянием сервера и сайта с помощью соответствующего ПО и своевременно исправлять нештатные ситуации.
Ошибка при маршрутизации запроса (код 502)
Причины:
- проблемы с сетью на участке между клиентом и сервером;
- проблемы в работе одного из связанных с работой сайта серверов.
Что делать:
- проверить, что у Вас точно работает Интернет или локальная сеть, если целевой сайт находится во внутренней сети организации (Интранет);
- проверить работоспособность сайта, подключившись к другому провайдеру или через другой прокси-сервер;
- веб-мастеру следует проверить, что все сервера, на которых работает сайт, нормально работают.
Ошибки, связанные со временем ожидания ответа (коды 408, 504, 522)
Причины:
- сервер не дождался запроса от клиента (код 408);
- не получил ответ от следующего в цепочке сервера (код 504);
- соединение клиента с сервером вообще не было установлено (код 522).
В таком случае клиенту также есть смысл повторить свой запрос через некоторое время, больше от него ничего не зависит. Веб-мастеру нужно проверить связь между серверами, которые принимают участие в работе его сайта, и их работоспособность в принципе.
Ошибки авторизации (коды 401, 403, 407, 511)
Причины:
- для доступа к странице сайта требуется авторизация на нем самом (код 401) либо в прокси-сервере (коды 407 и 511);
- авторизация успешна, но для данного пользователя доступ запрещен (код 403).
Что делать:
- ввести правильные имя пользователя и пароль, если их запрашивает сайт через специальное окно в браузере (для кода 401);
- при настройке соединения через прокси-сервер указать действующие имя пользователя и пароль (коды 407 и 511);
- в случае получения кода ответа 403 нужно использовать другие имя пользователя и пароль, если они известны, либо же ничего не делать, если 403-й код получен в ответ на попытку просмотреть список содержимого каталога на веб-сервере, отображение которого запрещено серверными настройкам.
Ошибки запроса к серверу (коды 400, 405, 406, 409, 411-417, 501, 505, 510 и многие другие)
Данные ошибки возвращаются в случае, если запрос получен, не может быть обработан сервером. Причины могут быть очень разными и не всегда могут быть правильно интерпретированы со стороны клиента.
Что делать:
- повторить запрос, который не был выполнен с первого раза (например, повторно отправить форму в браузере);
- поменять клиентское приложение, если это возможно (например, выполнить действия в другом браузере);
- повторить свой запрос позже;
- если ничего не помогает, нужно обратиться в службу поддержки того ресурса, при работе с которым возникают проблемы.
Редактируем страницы ошибок в CPanel
Если система управления сайтом не позволяет управлять страницами ошибок, которые возникают на сайте, используйте панель управления хостингом. Как это сделать, будет показано на примере широко распространенной системы CPanel.
В CPanel отредактировать страницы ошибок можно зайдя по соответствующей ссылке в секции «Дополнительно».

Здесь по умолчанию открывается вкладка с наиболее распространенными кодами ошибок: неверный запрос (ошибка 400), проблемы с доступом (ошибки 401 и 403), страницы не найдена (ошибка 404) и внутренняя ошибка сервера (ошибка 500). Если нужны дополнительные коды, то выбираем вкладку справа.

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

Создание пользовательских страниц с описанием ошибок через панель управления хостингом – не самый лучший вариант. Предпочтительнее, если система управления сайтом позволяет создать такую страницу в едином дизайне с основным сайтом. Рассмотрим эту возможность на примере некоторых распространенных бесплатных CMS (систем управления сайтом).
Управление ошибками в Joomla
Система управления сайтом Joomla 3.1.5 по умолчанию обрабатывает ошибку 404 и показывает страницу, которая описана в файле error.php в каталоге с темой.

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

Управление ошибками в WordPress
В самой популярной системе для создания блогов встроить страницу с 404-ой ошибкой в дизайн сайта совсем не трудно. Достаточно создать файл 404.php в каталоге с темой и внести в него рекомендованный в документации код. Ниже представлен пример создания такой страницы в дизайне сайта.

Важность управления ошибками для веб-мастера
Постоянный мониторинг и грамотная обработка ошибок на сайте очень важны, т.к. это напрямую влияет на удобство его использования посетителями и отношение к нему поисковых систем. Одна ошибка за раз может перечеркнуть месяцы работы SEO-оптимизаторов, поэтому обязательно правильно возвращайте код ошибки при проблемах на сайте и уделите время для настройки страницы ошибок через панель управления хостингом или, что предпочтительнее, используйте возможности CMS, на которой работает сайт.
Материалы по теме
- Краткое описание HTTP-кодов ответа.
- Спецификация протокола HTTP версии 1.1 - RFC 2616.
- Описание кода ошибки 404.
- Описание и примеры дизайна страницы с 404-ой ошибкой.
- Описание и причины ошибки 502 (ссылки, http://www.wikireality.ru/wiki/502_Bad_Gateway, http://blog.pcmag.ru/node/601)
- Описание и причины ошибки 503.
- Создание собственной страницы для 404-ой ошибки в Joomla.
- Руководство по созданию страницы для ошибки 404 в Joomla.
- Создание собственной страницы для 404-ой ошибки в WordPress.
Автор: Евгений Свирский
Забавное видео
В 2 года родители подарили малышу баскетбольное кольцо и мяч, посмотрите, что умеет этот малыш сейчас!