Сайт для любой компании — это важный канал продвижения товаров и услуг. И если на нём выскакивает ошибка 500, то это и для ваших клиентов, и для поисковых систем сайт становится недоступен. Частое возникновение ошибки может даже понизить рейтинг сайта в поисковой выдаче. В этой статье рассказываем, что означает ошибка 500, почему она появляется и как её можно исправить.
Что такое внутренняя ошибка сервера 500?
Источник: vecteezy.com
Внутренняя ошибка 500 означает, что сервер не может обработать запрос пользователя. Этот код не указывает на причины проблемы, но сигнализирует о том, что в работе сервера что-то пошло не так. На экране монитора при этом появляется уведомление. Оно может быть стандартным:
-
внутренняя ошибка сервера;
-
500 Internal Server Error.
Некоторые разработчики подходят к этому креативно и тогда сообщение может выглядеть примерно вот так:
-
Упс! Что-то пошло не так. Мы уже работаем над устранением проблемы. Пожалуйста, попробуйте зайти позже.
Почему возникает код ответа 500?
Источник: vecteezy.com
Почему сервер не воспринимает запрос пользователя и выдаёт ошибку? Причины могут быть разные.
-
Ошибки в коде приложения. Если в программном коде сайта или приложения есть баги, синтаксические ошибки или логические сбои, сервер может «упасть» при попытке выполнить этот код.
-
Проблемы с базой данных. В этом случае сервер не может подключиться к базе данных или выполнить запрос к ней и соответственно выдаёт ошибку.
-
Неправильные настройки сервера. Ошибки в конфигурационных файлах сервера (например, .htaccess для Apache или nginx.conf для Nginx), например из-за неправильной настройки прав доступа к папкам и файлам.
-
Недостаток ресурсов сервера. Если владелец сайта делит сервер с другими пользователями, то из-за большого числа запросов сервер может оказаться перегружен. Элементарно не хватает ресурса: памяти, процессорного времени или места на диске.
-
Проблемы с обновлениями. После обновления CMS, плагинов или серверного ПО могут возникнуть конфликты или ошибки. Например, WordPress или Joomla обновились, а плагины не совместимы с новой версией.
-
Сбои в работе серверного ПО. Проблемы могут возникнуть из-за некорректно написанного кода. Чаще всего это происходит после обновления ПО или внесения изменений в существующий код. Также сервер может быть заражён вирусами и вредоносными ПО.
-
Скрипты работают слишком медленно. Если скрипт не успел исполниться в определенный промежуток времени, система выдаёт ошибку. Такой скрипт требует оптимизации, чтобы он в итоге использовал меньше ресурсов системы.
Как исправить ошибку 500?
Источник: techquintal.com
Если вы обнаружили ошибку 500, необходимо срочно установить причину и постараться поскорее её устранить. Кое-что можно предпринять самостоятельно. В сложных случаях необходимо обратиться к хостинг-провайдеру или разработчику.
Проверьте права доступа к файлам
У сервера может отсутствовать доступ к некоторым файлам или папкам, что вызывает ошибку 500. Убедитесь, что права доступа настроены правильно. Проверить это можно путём выполнения команды 1s -1. Вам откроется список файлов и папок с их правами доступа. Как правило для файлов должно быть 644, а для папок — 755. Измените права доступа, если они неправильные, с помощью команды chmod. После настройки прав доступа проверьте, пропала ли ошибка 500. Если проблема сохраняется, возможно, стоит также проверить логи сервера, чтобы получить дополнительную информацию об ошибке.
Проверьте логи сервера
Логи сервера — это файлы, в которые записываются все ошибки и события. Они помогут понять, что именно вызвало ошибку 500. Расположены логи в папке /var/log/ на сервере (для Linux). Можно также зайти через панель управления хостинга и найти записи с пометкой «500» или «500 internal server error».
Проверьте код приложения
Если вы разрабатываете сайт или приложение, ошибка 500 может быть вызвана ошибкой в коде (например, синтаксическая ошибка, неправильное использование функции или отсутствие необходимого файла). Проверьте, нет ли ошибок в коде, особенно в тех местах, которые были изменены недавно.
Проверьте файл .htaccess
Если файл .htaccess (для Apache) содержит неверные директивы может возникнуть ошибка 500. Убедитесь, что конфигурационные файлы настроены правильно. Переименуйте файл (например в test). Если после этого сайт заработает, ошибка в директивах и её надо найти. Сделать это можно с помощью онлайн-тестировщика. В строку поиска необходимо ввести адрес своего сайта через http//:, а ниже содержимое .htaccess. Нажать Test. В полученном отчёте ошибки будут выделены красным цветом.
Оптимизируйте скрипты
Если скрипты слишком долго исполняются, необходимо их пересмотреть. Убрать лишние запросы к базе данных. По возможности заменить синхронные операции на асинхронные. Проверить логику скриптов, чтобы убедиться, что они выполняют задуманный сценарий. После проверки запустить скрипты в изолированной среде, имитирующей рабочую, и посмотреть будет ли снова возникать ошибка 500.
Увеличьте объём оперативной памяти сервера
Если ваш проект развивается быстро и для корректной работы сайта уже недостаточно ресурсов, стоит пересмотреть выбор хостинга в пользу более дорогого варианта выделенного сервера. Отсутствие других пользователей позволит не зависеть от их действий и ошибок. Можно и в рамках существующего пакета попробовать увеличить объем оперативной памяти, если это предусмотрено условиями. Так можно избежать ненужных трат за функции, в которых пока нет необходимости.
InSales предоставляет надёжную и безопасную платформу для быстрого запуска и масштабирования интернет-магазина.
-
Вы получаете неограниченное дисковое пространство и трафик, подключение собственного домена и SLL-сертификатов.
-
Все данные хранятся на защищённых платформах (Cloud.ru, Selectel, Yandex Cloud).
-
Мы проводим ежедневное автоматическое резервное копирование данных. А служба мониторинга круглосуточно контролирует работу вашего интернет-магазина.
Ответы на популярные вопросы
Влияет ли ошибка 500 на SEO-продвижение?
Продвижение за счёт SEO обходится намного дешевле рекламы. Поисковые системы регулярно сканируют сайты и располагают их в порядке убывания их значимости. Если страницы недоступны из-за ошибки 500, поисковые роботы не смогут их проиндексировать. В течение суток все ещё можно исправить. А дальше сайт падает в поисковой выдаче и может вообще исчезнуть из неё.
Ошибка 500 ведёт также к ухудшению пользовательского опыта. Посетители, столкнувшись с ошибкой, могут покинуть сайт, что увеличит показатель отказов и снизит время пребывания на сайте. Это тоже негативно влияет на ранжирование.
Как и где получить больше информации о причине ошибки 500?
Ошибка 500 — это всегда проблема, возникшая со стороны сервера. Поэтому, чтобы найти её причину, нужно провести анализ сервера, а также кода и конфигураций. Вот некоторые рекомендации, что необходимо сделать:
- Ищите записи, соответствующие времени появления ошибки 500. Логи могут содержать конкретные сообщения об ошибках, например, сложности с подключением к базе данных или синтаксические ошибки в коде.
- Проверьте код. Просмотрите файлы, которые были изменены перед появлением ошибки. Используйте инструменты для проверки синтаксиса (например, встроенные в IDE). Если ошибка появилась после установки плагина или модуля, отключите его и проверьте, исчезла ли ошибка.
- Если появилась надпись «500 internal server error», то это сигнал о том, что возникла проблема с файлом .htaccess. Поменяйте название файла с помощью FTP-клиента или файлового менеджера. Если после изменения имени файла всё осталось также, ищите проблему через панель разработчика.
- При появлении на экране надписи HTTP Error 500 ищите проблему в скриптах. Самый простой способ посмотреть код — правой кнопкой мыши выберите в открывшемся окне соответствующий запрос «Посмотреть код».
- Если у вас не получается определить причину самостоятельно, обратитесь в техподдержку хостинг-провайдера. Они предоставят вам доступ к более детальным логам или помогут с диагностикой.
Что делать, если вы столкнулись с ошибкой 500 на чужом сайте?
Вы можете увидеть ошибку 500 и как обычный пользователь, когда зайдёте на какой-нибудь сайт через поиск, рекламу или по ссылке. Попробуйте выполнить следующие действия.
-
Обновите страницу. Используйте для этого клавишу F5 или иконку обновления в браузере.
-
Убедитесь, что интернет-соединение работает исправно. Иногда ошибка возникает при проблемах с подключением.
-
Очистите кэш браузера. Возможно проблема в этом. После очистки повторите вход на страницу сайта.
-
Попробуйте выполнить вход на сайт с другого браузера или устройства. Это может помочь.
-
Если ничего не помогает, свяжитесь с поддержкой сайта через раздел «Помощь» или «Обратная связь».