Ошибка 500: что произошло и как всё исправить
Подробный рассказ про 500-ю ошибку сервера (Internal Server Error). Всё о том, почему она возникает, как её найти и как исправить.
-
10+
стаж работы в
интернет маркетинге -
103
написано тематических
статей
Если однажды при переходе на свой сайт вы увидели в браузере сообщение: "Ошибка 500 — внутренняя ошибка сервера", то точно испытывали это ощущение ужаса. Что-то сломалось, но что и как это исправить — непонятно.
Ошибки сайта — в целом вещь неприятная, но они ещё и негативно влияют на SEO-продвижение. Если неисправности возникают часто, поисковая система автоматически считает ресурс некачественным и не стремится продвигать его выше. Также может страдать и лояльность пользователей: ведь люди будут переходить по ссылке, видеть неполадки и уходить к конкурентам.
В этом материале мы разберёмся, что это за ошибка, почему она вдруг появляется и как с ней бороться.
Когда может возникать 500-я ошибка?
Код ответа 500 — это общее сообщение, которое появляется, когда на сервере что-то идёт не так, и он не справляется с обработкой запроса. Проще говоря, это значит, что сайт столкнулся с проблемой, но точно не может объяснить, в чём она заключается.
Случается это по разным причинам: сбои в программном обеспечении, опечатки в коде, проблемы с базой данных или даже неверные настройки сервера. Обычно сервер не предоставляет конкретные детали о проблеме, что делает её решение особенно сложной.
Давайте подробнее остановимся на причинах, из-за которых эта ошибка может возникнуть:
- Ошибки в коде сайта. Иногда программа или скрипт, который используется на сайте, содержит неточность. В этом случае сервер не понимает, что делать, и выдаёт код ответа 500.
- Проблемы с базой данных. Базы данных — это хранилища, где лежит вся информация с сайта. Их можно представить в виде шкафов с кучей папок. Если сервер не может открыть нужный "шкаф" или найти "папку" с данными, то появляется ошибка. Это может произойти, если база данных не работает или запрос к ней составлен некорректно.
- Конфигурационные ошибки. Серверы работают по определённым правилам и настройкам. Если эти настройки неверные или кто-то случайно их испортил, то сервер не понимает, как обработать запрос, и выдаёт ошибку 500. Чаще всего неполадки возникают в файлах .htaccess и nginx.conf. Эти файлы следят за тем, как обрабатываются запросы, и любая неточность в их настройках может вызвать проблемы.
- Проблемы с правами доступа. Серверу нужны права, чтобы открывать или изменять файлы на сайте. Если эти права настроены неправильно (например, файл или папка имеет не те разрешения), то он не может получить доступ и выдаёт ошибку. Можно представить себе закрытый на ключ шкаф: вы не можете его открыть, если вам не сделали дубликат.
- Недостаток ресурсов. У серверов, как и у компьютеров, тоже есть ограничения по памяти и мощности. Если сайт слишком перегружен запросами, и серверу не хватает мощности, он может "зависнуть" и выдать ошибку 500. Особенно часто это происходит там, где одновременно обслуживают большое количество запросов.
- Неисправные плагины или расширения. Многие сайты используют дополнительные плагины, чтобы расширить функции. Если один из таких плагинов работает неправильно или не совместим с другими, это может привести к проблемам.
- Системные сбои. Иногда ответ 500 может быть вызван проблемами на уровне сервера, такими как сбой в работе его программного обеспечения.
500-я ошибка может возникнуть как на отдельной странице, так и на всей площадке в целом. Например, если наблюдаются неполадки в коде страницы, проблемы с базой данных или неверные права доступа к файлам и папкам, ответ 500 скорее будет возвращаться на отдельной странице (или нескольких). А вот если проблемы с основными файлами сайта, системными сбоями или перегрузкой сервера, сломается уже весь сайт.
Чем ошибка 500 отличается от других серверных ошибок?
500-й ответ мы уже обсудили. Это самая общая ошибка, которая возникает, когда сервер сталкивается с непредвиденной проблемой и не может обработать запрос.
Но есть ещё и другие ошибки с кодом 5XX:
502
Она всплывает, когда сервер получил недопустимый ответ от вышестоящего сервера, к которому он обращался, чтобы выполнить запрос пользователя. Если говорить по-простому, сервер-шлюз или прокси-сервер не смог получить нормальный ответ от другого сервера.
Почему может возникать?
Неправильные настройки, проблемы с подключением между серверами, перегрузка одного из них, фаерволы или сетевые проблемы, блокирующие запросы.
503
Означает, что сервер временно не может обработать запрос. Это часто случается, когда он перегружен или находится на техническом обслуживании. В отличие от ошибки 500, 503-я говорит о временной проблеме, а в остальном сервер работает нормально.
Почему может возникать?
Сервер перегружен запросами (например, из-за резкого увеличения трафика), временно отключён для технического обслуживания или его ресурсы исчерпаны.
504
Возникает, когда один сервер не получает своевременного ответа от вышестоящего. Это означает, что сервер, к которому был сделан запрос, слишком долго отвечает, и время ожидания истекло.
Почему может возникать?
Задержки в сети, перегрузка одного из серверов, проблемы с подключением между ними.
Как просканировать сайт и выявить ошибку?
Иногда вы моментально замечаете ошибку, просто при входе на сайт. Но иногда она всплывает только на некоторых страницах, и важно понять, на каких именно. Для этого можно использовать специальные инструменты.
Screaming Frog SEO Spider
Это популярный инструмент для SEO-продвижения сайта, который помогает отслеживать в том числе и технические неполадки ресурса. В бесплатной версии можно проверить до 500 URL.
Сервис работает примерно так же, как и поисковые роботы: он обходит страницы сайта и выдаёт основную информацию о них. В том числе коды ответа сервера.
Программу нужно установить на компьютер, а потом в специальное поле ввести адрес своего сайта и запустить проверку.
Сервис сразу же начнёт анализировать страницы. Когда он закончит, перейдите на вкладку “Response Codes” и в столбце “Status Code” посмотрите, есть ли среди ответов 500-е ошибки. В нашем случае их нет.
Яндекс.Вебмастер
Перейдите в раздел “Диагностика”. В нём хранятся все сообщения об ошибках, которые приходят от поисковых роботов Яндекса. Если робот не смог попасть на страницу из-за 500-й ошибки, он выведет сообщение об этом в раздел критичных неисправностей. Также можно настроить уведомления, чтобы сообщения о неполадках в работе сайта приходили вам на почту.
Ещё информацию о проблемах можно найти в разделе “Страницы в поиске”. Он находится на вкладке “Индексирование”. Роботы обходят страницы сайта, чтобы добавить их в поисковую систему, а если какие-то из страниц недоступны, то сохраняют информацию об этом в отчёте.
Google Search Console
В инструменте от Google тоже есть отчёт об индексировании страниц. Если какие-то из страниц не проиндексированы, в отчёте будет написана причина. Если это 500-я ошибка, нужно срочно исправлять положение.
Как исправить 500-ю ошибку?
Вот несколько вариантов, которые можно использовать:
Написать в техподдержку хостинга
Возможно, проблема на стороне хостинга, и специалисты техподдержки вам помогут. Как минимум, они имеют доступ к серверным логам и настройкам, которые могут помочь быстро выявить причину ошибки. А если вы будете знать причину, её будет легче устранить самостоятельно или с помощью разработчиков.
Контакты техподдержки ищите на сайте вашего хостинг-провайдера. В обращении укажите, что вы столкнулись с ошибкой 500, опишите, на каких страницах она появляется и что вы делали перед тем, как она возникла.
В зависимости от компании провайдера, время ответа может занять от нескольких минут до нескольких часов. Обычно техподдержка предоставляет дополнительную информацию о причине неполадок и предлагает способы их исправления.
Проверить, выдерживает ли сервер нагрузку
Как мы уже обсуждали, ответ 500 может возникнуть, если сервер не справляется с нагрузкой. Это часто случается, если ресурсы ограничены, или при внезапном увеличении трафика на сайт.
Если вы подозреваете, что столкнулись именно с этой проблемой, проверьте статистику использования ресурсов. Для этого войдите в панель управления хостингом и найдите раздел, связанный с использованием ресурсов сервера. Например, "Resource Usage" или "Server Statistics". Дальше посмотрите на графики и данные по использованию процессора (CPU), оперативной памяти (RAM) и дискового пространства. Если показатели часто достигают или превышают 100%, это вполне может быть причиной неполадок.
Теперь у вас два варианта:
- Оптимизировать свой сайт. Например, сократить количество подключений к базе данных, оптимизировать запросы, уменьшить использование тяжёлых плагинов или скриптов, которые могут потреблять много ресурсов, включить кэширование на сервере.
- Рассмотреть возможность перехода на более мощный тариф. Если ваш сайт вырос и требует больше ресурсов, подумайте о переходе на более мощный тарифный план хостинга, например, виртуальный частный или выделенный сервер.
Обратиться к разработчикам
Если вы вообще не хотите разбираться с проблемой самостоятельно или точно знаете, что ошибка связана с неполадками в коде, конфигурации или настройках сервера, вам понадобится помощь разработчиков.
Скорее всего, они проверят логи сервера. Логи содержат информацию обо всех последних действиях и ошибках. Поэтому разработчики могут просмотреть их и найти конкретные причины случившегося.
Скорее всего, проблема будет в одной из этих причин:
- Файл htaccess. Он управляет настройками сервера и может содержать команды, которые вызывают ошибку. Разработчики проверят файл на наличие ошибок в коде, неверных команд или конфликтов. Иногда достаточно удалить или временно переименовать файл .htaccess, чтобы проверить, является ли он источником проблемы.
- Базы данных. Например, в них могут повредиться таблицы или возникнуть некорректные запросы. Разработчики проверят состояние базы данных и при необходимости восстановят таблицы или оптимизируют запросы.
- Значения php скриптов. Например, ошибку может вызвать превышение времени выполнения скрипта или использование слишком большого объёма памяти. Разработчики проверят и изменят настройки PHP в файле php.ini или в панели управления хостингом.
- Кэш на сервере. Разработчики могут очистить кэш или убедиться, что система кэширования работает корректно.
Вывод
Ошибка 500 — одна из самых неприятных и запутанных проблем, с которыми может столкнуться владелец сайта. Она не даёт конкретных подсказок о том, что именно пошло не так, и может возникнуть по разным причинам: от неполадок в коде до перегрузки сервера. Но теперь вы знаете, как её побороть.
Главное — не оставляйте проблему без внимания. Чем быстрее вы начнёте её решать, тем меньше посетителей потеряете. И не успеете обрушить свои позиции в SEO.