Ошибка 500 возникает, когда сервер не может должным образом обработать запрос. В результате сайт становится недоступным и вместо основного контента на странице появляется сообщение «500 Internal Server Error» или «HTTP ERROR 500». Что это за ошибка и как ее исправить, будет подробно рассмотрено в этой статье.
Содержание
Где и когда можно столкнуться с ошибкой 500?
Ошибка 500 возникает только на стороне сайта и не связана с вашим браузером или компьютером. Оно может появиться на любом ресурсе из-за превышения разрешенной нагрузки на сервер, ошибок во внутренних файлах сайта, несовместимости плагинов и других проблем.
Влияние ошибки 500 на SEO-продвижение
При коде ответа 500 страница становится недоступной для посетителей и поисковых ботов. Это влияет на производительность сайта, а значит, может пагубно сказаться на SEO-продвижении.
Если случай единичный и вы быстро решили проблему, вряд ли последуют санкции со стороны Яндекса и Google. Однако если сайт недоступен более суток, поисковые системы могут уменьшить ресурс в результатах поиска. Если проблемы продлятся несколько дней, страницы могут быть полностью удалены из индекса.
Причины ошибки
Существует 6 наиболее распространенных причин ошибки 500:
- Проблемы с сервером. Только веб-хостинг может решить эту проблему. Техническая проблема могла помешать работе сервера.
- Ошибки в .htaccess. Это файл, в котором сохраняются основные настройки сайта. Любая опечатка обычно приводит к тому, что ресурс перестает работать. В этой статье мы рассказали об основных функциях .htaccess.
- Превышение разрешенной нагрузки на сервер. Например, из-за наплыва большого количества пользователей или подключения «тяжелых» и медленных скриптов и плагины.
- Конфликтующие плагины. Код 500 может появиться после установки нового плагина или обновления CMS (системы управления контентом). Часто это происходит из-за несовместимости их версий.
- Разрешения 777 для файлов сценариев CGI. (подключают к серверу внешние программы). Эти права позволяют всем пользователям изменять и удалять эти сценарии. Это неприемлемо с точки зрения безопасности, поэтому сервер может заблокировать любые запросы к файлам с таким уровнем доступа.
- Проблемы с MSQL. Ошибка 500 на сайте может быть вызвана сбоем подключения к базе данных или некорректной обработкой ее запросов.
Не всегда возможно сразу определить точную причину проблемы. Иногда нужно проверить все вышеперечисленные факторы поочередно и воспользоваться методом исключения.
Как получить дополнительную информацию о причине ошибки
Мы разобрались, что означает код ошибки 500 и почему он появляется. Теперь поговорим о том, как найти источник поломки:
- Сообщение о состоянии HTTP 500 Внутренняя ошибка сервера. Это означает, что проблема связана с файлом конфигурации .htaccess или перегрузкой сервера.
- Сообщение об ошибке HTTP 500. Эта ошибка означает, что общий сбой связан с неисправностью скриптов, плагинов и CMS.
Иногда на странице нет текста. Далее необходимо проверить код ответа сервера через панель разработчика браузера.
Как открыть панель разработчика
В большинстве браузеров запустить такую панель можно с помощью клавиши F12 или контекстного меню. Во втором случае щелкните правой кнопкой мыши пустую страницу и выберите «Показать код». Далее перейдите на вкладку «Сеть» и просмотрите информацию в столбце «Статус». Если сбой вызван ошибкой обработки запроса сервером, то здесь появится код 500. Статус 200 означает, что все в порядке.
Что делать вебмастеру, если возникает ошибка 500?
Давайте рассмотрим основные способы устранения неполадок.
Свяжитесь с вашим поставщиком
Прежде чем исправлять ошибку HTTP 500, вам следует сначала уточнить у своего хостинг-провайдера, находится ли сервер на обслуживании или есть ли какие-либо проблемы. Если вы в последнее время не устанавливали новые плагины, не подключали библиотеки и ничего не меняли в настройках сайта, скорее всего, проблема на стороне хостера.
Проверьте файл .htaccess
Чтобы проверить, связан ли код ответа 500 с этим файлом, откройте FTP-клиент и удалите .htaccess с сервера. Прежде чем сделать это, обязательно сохраните его на своем компьютере, чтобы не потерять. Если после удаления файла сайт работает, значит источник проблемы найден. Остаётся только исправить ошибки.
Помните, вносили ли вы какие-либо изменения в этот файл за последние дни. Если да, удалите все недавно добавленные команды одну за другой. После каждого изменения проверяйте работоспособность сайта.
Вы можете найти проблему в «.htaccess», используя журналы. Они хранятся в специальном файле error.log в корневой папке сайта. Ошибки обозначаются строками с текстом «Неверная команда».
Если такие строки есть, скопируйте их по одной и поищите описание проблемы в Интернете. Например, выражение «Недопустимая команда ‘RewretRule’» указывает на то, что в названии директивы «RewretRule» опечатка — нужно зайти в .htacsess и исправить «RewretRule» на «RewriteRule».
Проверка загрузки сервера
Отследить уровень нагрузки на сервер можно в Панели управления хостингом (ПУ) в разделе «Статистика».
Если загрузка ЦП близка к 100%, сервер перегружен и на сайте появится внутренняя ошибка сервера HTTP 500. Есть два способа исправить ситуацию:
- Измените тариф хостинга на более высокий, чтобы провайдер предоставил вам больше ресурсов.
- Оптимизируйте сайт, удалите тяжелые скрипты и настройте кеширование.
Высокая нагрузка может быть временной, например из-за большого наплыва пользователей. В этом случае ошибка исчезнет сама собой, как только трафик уменьшится.
Проверьте плагины (для сайтов WordPress)
Некоторые инструменты могут быть несовместимы друг с другом. Если вы недавно добавили на сайт новые модули или обновили CMS, проблема может быть в этом.
Проверить, связана ли ошибка с плагинами, очень легко. Для этого вам необходимо зайти в консоль управления и отключить все модули. В меню «Плагины» откройте вкладку «Активные» и выберите все инструменты, затем нажмите «Отключить» → «Применить».
Теперь перезагрузите сайт. Если ресурс работает, значит причина найдена. Чтобы определить, какой плагин вызвал проблему, активируйте инструменты поочередно, каждый раз проверяя работоспособность проекта.
Иногда из-за ошибки 500 не открывается не только сайт, но и консоль. В этом случае плагины можно деактивировать через FTP-клиент. Перейдите в папку «public_html» → «wp-content». Найдите папку «Плагины» и измените ее имя на другое. Все плагины сразу перестанут работать.
Затем обновите страницу. Если ошибка 500 пропала, создайте новую папку «Плагины» и перемещайте в нее плагины из старой папки по одному, пока не найдете тот, который вызвал сбой.
Проверьте разрешения для сценариев CGI
Если для сценариев CGI установлены разрешения 777, сервер будет показывать ошибку 500, пока вы не измените их на 755.
Кратко опишем, что означают эти цифры:
- 7 — разрешает полный доступ для чтения, записи и выполнения;
- 6 – разрешает только чтение и запись;
- 5 — разрешает только чтение и выполнение.
Права 777 дают полный доступ ко всем группам пользователей. Но права 755 дают полный доступ только администратору, а все остальные могут только просматривать и активировать скрипты. Они не смогут ничего сохранять, изменять или удалять.
Изменить права доступа можно через любой FTP-клиент.
Проверьте базу данных
Ошибка 500 может возникнуть при наличии проблем с базой данных (БД). Например, из-за неправильно указанного имени пользователя, пароля или других параметров, устаревшей версии MySQL, неправильных SQL-запросов и т. д.
Первое, что нужно сделать, это проверить состояние подключения к базе данных. Откройте основной файл конфигурации (в WordPress это wp-config.php) и проверьте правильность пароля и имени пользователя, имени базы данных и сервера.
Затем проверьте версию MSQL. Его номер можно найти в FAQ хостера, либо написать в техподдержку. Убедитесь, что он совместим со всеми библиотеками, используемыми на сайте.
Проверьте значения PHP-скрипта
Базовых характеристик может не хватить, поэтому сервер также отправит код ошибки 500. Исправить проблему можно, изменив значения на более высокие.
Зайдите в пользовательский интерфейс хостинга в раздел «Программное обеспечение» или «Программное обеспечение». Далее нажмите «Выбрать версию PHP» или «Выбрать версию PHP».
Откройте раздел «Настройки» и увеличьте значения «max_execution_time» и «memory_limit».
Что делать, если вы пользователь
Если вы столкнулись с ошибкой 500 на стороннем сайте, все, что вы можете сделать, это перезагрузить страницу и очистить кеш браузера.
Перезагрузка сайта
Чтобы перезагрузить сайт, нажмите клавишу F5 (для ПК) или комбинацию Fn+F5 (для ноутбука). Вы также можете обновить страницу, щелкнув значок круглой стрелки рядом с адресной строкой браузера.
Подождите и очистите кеш
Очистка кэша необходима для того, чтобы браузер не загрузил старую версию страницы с ошибкой. Иногда бывает, что ресурс уже работает, но вместо текущей страницы программа показывает вам закешированную версию.
Чтобы очистить кеш, перейдите в раздел «Конфиденциальность и безопасность» настроек браузера.
Нажмите «Очистить историю просмотров» и установите флажок «Кэшированные изображения и файлы». При необходимости укажите период, за который вы хотите удалить информацию, и нажмите «Удалить».
После этого перезагрузите страницу еще раз. Если проблема не устранена, значит, владелец ресурса еще не устранил ее.
Что бесполезно делать при ошибке 500
При появлении внутренней ошибки сервера 500 нет необходимости переустанавливать браузер или перезагружать компьютер и роутер. Обновление страницы несколько раз тоже не поможет. Сайт будет работать только тогда, когда будут решены проблемы с его сервером, настройками и файлами.