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