Раздел помощи SpaceWeb

Ошибка 500 на сайте: что такое и как исправить

25 мар, 2024

Что такое ошибка 500

Ошибка Internal Server Error (Внутренняя ошибка сервера 500) или ошибка 500 – это код состояния HTTP, который указывает на то, что на сервере произошла неожиданная ошибка и он не может выполнить запрос. Это один из кодов состояния, который используется для обозначения ошибок со стороны сервера, и, как правило, он не предоставляет информации о конкретной причине проблемы. 

Причины ошибки 500

HTTP статус 500 – это своего рода «заглушка» для различных непредвиденных ситуаций, когда сервер сталкивается с внутренней ошибкой, не позволяющей ему успешно обработать запрос. В отличие от более конкретных кодов ошибок (401, 404, 526 и прочих), ошибка 500 не даёт чёткого понимания о природе проблемы, поэтому её решение требует комплексного подхода. 

Рассмотрим подробнее основные причины, которые могут привести к возникновению ошибки 500 на сервере:

  • Программные ошибки в приложениях. Одна из наиболее частых причин ошибки 500 – программные ошибки на стороне сервера. Это могут быть синтаксические ошибки в коде, неправильное использование серверных API, утечки памяти или конфликты между различными компонентами серверного программного обеспечения. Ошибки в коде могут быть как явными (например, ошибка в синтаксисе), так и скрытыми, когда логика работы приложения приводит к непредвиденным последствиям.
  • Настройка сервера. Неправильно сконфигурированные серверные параметры также могут вызывать ошибку 500. К этому относятся ошибки в файлах конфигурации веб-сервера (например, Apache и Nginx), неправильные настройки безопасности, некорректно настроенные директивы для обработки определённых типов файлов или неправильная конфигурация виртуальных хостов.
  • Неисправности серверного оборудования. Хотя это менее распространённая причина, но физические неисправности серверного оборудования или проблемы с инфраструктурой (например, сбои в системе питания, проблемы с жёстким диском или перегрев компонентов) также могут привести к ошибке 500.
  • Проблемы с зависимостями. Серверные приложения часто зависят от внешних библиотек, систем баз данных, внешних веб-сервисов и других компонентов. Если эти зависимости недоступны, устарели или настроены некорректно, это может вызвать внутреннюю ошибку сервера.
  • Перегрузка сервера. Чрезмерная нагрузка на сервер из-за большого количества запросов или DDoS-атаки (атака типа «отказ в обслуживании») может привести к невозможности обработать все запросы корректно, что в некоторых случаях выливается в ошибку 500. Перегрузка ресурсов сервера (памяти или процессорного времени) также может быть причиной.
  • Проблемы с правами доступа. Неправильно установленные права доступа к файлам и директориям на сервере могут мешать веб-серверу или скриптам корректно обрабатывать запросы, что также приводит к ошибке 500.

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

Как ошибка 500 влияет на SEO

Ошибка Internal Server Error оказывает значительное влияние на SEO-продвижение сайта, поскольку поисковые системы стремятся предоставлять пользователям высококачественный и доступный контент. Когда поисковые роботы сталкиваются с ошибкой 500 на странице, это может привести к ряду негативных последствий для рейтинга и видимости сайта в поисковой выдаче Google, Yandex, Bing и других. Но как именно ошибка 500 может повлиять на SEO?

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

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

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

И наконец, хотя ошибка 500 сама по себе не влияет напрямую на скорость загрузки страниц, проблемы, которые вызывают такие ошибки, часто связаны с перегруженностью сервера или неправильной конфигурацией, что может косвенно снизить скорость загрузки. А скорость сайта – это важный фактор ранжирования, поскольку она влияет на пользовательский опыт.

Как исправить ошибку 500

Инструкция для пользователя

Коды ошибок, которые имеют вид «5ХХ», обычно указывают на проблемы внутри сервера, и обычно их устранением занимаются администраторы или владельцы веб-сайтов.

Тем не менее существует несколько способов, которыми вы, как пользователь, можете попытаться устранить ошибку:

  1. Обновите страницу

Удалённый сервер возвращает ошибку не только из-за серьёзных проблем на сервере. Иногда ошибка сервера 500 может быть вызвана небольшими перегрузками сайт

Чтобы устранить ошибку, перезагрузите страницу с помощью сочетания клавиш: 

  • на ПК – F5
  • на ноутбуке – Fn + F5
  • на устройствах Apple – Cmd + R

Важно! Если вы приобретаете товары в интернет-магазине и при оформлении заказа появляется 500 Internal Server Error, при перезагрузке страницы может создаться несколько одинаковых заказов. Поэтому сначала проверьте, оформился ли ваш предыдущий заказ. Если нет, попробуйте оформить заказ заново.

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

  1. Очистите кеш вашего браузера

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

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

  1. Свяжитесь с владельцем сайта

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

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

  1. В строке поиска пропишите имя домена или IP-адрес. 
  2. Нажмите Проверить.

  1. В результате вы получите следующую информацию:

  1. Чтобы узнать контакты администратора, потребуется нажать кнопку Подробнее. 

Как исправить ошибку 500

Инструкция для владельцев сайта

Если вы владелец сайта и столкнулись с ошибкой Internal Server Error, это означает, что на сервере возникла внутренняя ошибка, которая препятствует корректной обработке запроса. Эта ошибка может быть вызвана множеством причин, и для её устранения потребуется попробовать несколько способов.

  1. Проверьте журналы ошибок сервера

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

Неполадки в этих документах могут появиться, если вы внесли изменения самостоятельно. Ошибка 500 иногда происходит из-за самой незначительной ошибки в тексте. Тщательно проверьте корректность написания команд и общие настройки.

Где обычно находятся файлы конфигурации для известных серверов вроде Apache и Nginx:

Apache

Основной файл: «/etc/httpd/conf/httpd.conf».

Дополнительные файлы: «/etc/httpd/conf.d/httpd.conf», «/etc/apache2/conf/apache.conf», «/etc/apache2/conf.d/apache.conf», «/etc/apache2/sites-available/apache.conf», «/etc/apache2/sites-enabled/apache.conf». 

Nginx

Основной файл: «/etc/nginx/nginx.conf».

Дополнительные файлы: «/etc/nginx/conf.d/nginx.conf», «/etc/nginx/sites-available/nginx.conf», «/etc/nginx/sites-enabled/nginx.conf». 

  1. Проверьте файл .htaccess

Неправильные настройки в файле .htaccess часто становятся причиной ошибки 500 на серверах Apache. Попробуйте временно переименовать файл .htaccess, например, в «.htaccess_old», и проверьте, исчезла ли ошибка. Если это помогло, проблема заключалась в настройках .htaccess. 

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

  1.  Проверьте права доступа

Неподходящие настройки прав доступа к директориям и файлам на сервере могут стать причиной возникновения ошибки 500.

Когда у аккаунта, под которым веб-сервер запускает задачи, нет необходимых разрешений для изменения или запуска определённых файлов, сервер не в состоянии корректно обработать запрос, что и приводит к внутренней серверной ошибке 500. Особенно это характерно для VPS.

Для того чтобы изменить владельца файлов или папок на сервере через SSH, используется команда chown:

chown имя-пользователя:группа путь-к-файлу-или-папке

Для корректировки прав доступа применяется другая команда – chmod:

chmod уровень-доступа путь-к-файлу-или-папке

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

  1. Проверьте конфигурационные файлы

Настройка параметров PHP-скриптов может стать ключевым элементом в устранении ошибки 500, в частности, когда требуется больше времени на выполнение скриптов или дополнительный объём памяти.

  1. Авторизуйтесь в панели управления вашего хостинга, где доступны настройки PHP. В этом руководстве мы будем использовать ispmanager.
  2. Откройте раздел «Сайты».
  3. Выберите необходимый сайт. 

  1. В верхнем меню найдите настройки PHP.
  2. Выберите опцию Основные настройки.

  1. В этом разделе адаптируйте следующие параметры PHP:
  • «Время выполнения» указывает на допустимую продолжительность работы PHP-скриптов в секундах. При необходимости увеличьте это значение, чтобы обеспечить достаточно времени для выполнения ваших скриптов.
  • «Макс.размер запроса» задаёт ограничение на размер POST-запроса. 
  • «Макс.размер файлов» задаёт ограничение на размер файлов, которые загружаются с помощью скриптов. 
  • «Лимит памяти» задаёт максимально доступный объём оперативной памяти для работы PHP-скрипта. Увеличьте этот параметр, если ваши скрипты требуют больше ресурсов.
  1. После корректировки параметров обязательно сохраните внесённые изменения.

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

  1. Проверьте ресурсы сервера

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

  1. Обратитесь в службу поддержки хостинга

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

Ошибка «500 Internal Server Error» в WordPress

У WordPress есть обширный набор плагинов, которые значительно улучшают функционал и возможности платформы для создания сайтов. Тем не менее эти же дополнения иногда становятся причиной ошибок в работе сайта, в том числе Internal Server Error. Иногда проблема возникает из-за недавно добавленных плагинов, в других случаях – из-за тех, что были установлены уже давно.

Первым делом проверьте актуальность плагинов. Устаревшие версии могут конфликтовать с текущей версией WordPress или другими плагинами, что в итоге приведёт к сбоям в работе сайта. Если обновление плагинов не решает проблему с ошибкой 500 отключите все плагины, чтобы выяснить, вызвана ли ошибка именно ими. 

Для этого:

  1. Откройте административную панель сайта на WordPress.
  2. В меню администратора перейдите к разделу «Плагины».
  3. Чтобы временно отключить все плагины, выберите их все, поставив галочку вверху списка, и через выпадающее меню выберите опцию Деактивировать.
  4. Затем подтвердите действие кнопкой Применить.

Это действие временно деактивирует все плагины на сайте.

  1. Далее проверьте сайт на наличие ошибки 500. Если после деактивации плагинов ошибка исчезла, это указывает на то, что один из плагинов и есть причина сбоя.
  2. Включите плагины обратно и теперь начните поочерёдно отключать каждый из них, чтобы найти источник проблемы, который нарушает стабильность работы вашего сайта на WordPress.

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

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