Сайт выдает ошибку 500 Internal Server Error
WordPress является очень стабильной платформой для создания сайтов и блогов. Хочу заметить, что из блогового движка он в последние годы быстро эволюционировал в универсальный движок, на котором создаются не только блоги, но и бизнес-сайты с магазинами.
Тем не менее, время от времени, и этот движок может показать свой характер и выбросить шутку, от которой админу смешно не станет. Например, думаю, большинство админов встречались с белым экраном вместо админки, или с режимом обслуживания из которого сайт ну никак не хочет выходить.
Сегодня мы рассмотрим ошибку: 500 Internal Server Error
Возможные причины
- проблемы с файлом .htaccess (неправильная конфигурация);
- поврежденный плагин;
- поврежденная тема;
- нехватка памяти;
- установка CMS не до конца (отсутствуют файлы, повреждение файлов);
- и др.
Такие ситуации возникают регулярно, чем дольше живет сайт, тем больше шансов испытать это на себе. Почему? Потому что ваш проект развивается или не развивается, добавляются новые функции, плагины, происходит обновление программного обеспечения на сервере. Все это может повлиять на работу сайта. Свой сайт вы можете сломать сами или его могут сломать новые плагины, обновления и т.д.
Что делать, если это произошло?
Вспомните, какие последние изменения вы (или не вы) делали на сайте?
Может какую функцию PHP прописали или стиль CSS новый добавили? Может новый плагин установили? Или обновили WordPress? Понимая причину вы сможете дальше исправлять ошибки.
Я не помню или не знаю, какие изменения вносились на сайте. Что делать?
Отключайте плагины WordPress по одному и проверяйте — пропала ошибка или нет? Если пропала — отлично, вы нашли причину. Замените этот плагин на альтернативный, обновите его, или обратитесь к автору плагина с просьбой об исправлении.
Причина не в плагинах? Возможно в вашей теме WordPress?
Активируйте тему WordPress по умолчанию. Причина может в функциях темы, в ее стилях и т.д. Если причина в теме, то подумайте почему возникла эта ошибка/конфликт? Возможно, Вы внесли свои изменения в код файлов темы? Или тема сама перестала нормально работать?
Причина не в теме WordPress?
Проверьте настройки на сервере — версия PHP, сертификат SSL, расширения PHP, открытые порты, место на диске (иногда, оно заканчивается, а пользователь даже не в курсе).
Проверьте права на папки и файлы сайта
Через файловый менеджер на хостинге или клиент FTP проверьте права на основные папки сайта. Права на папки — 755, а на файлы — 644. Для файла wp-config.php можно указать права 444 (в целях безопасности).
Для некоторых файлов и папок можно установить более сильные ограничения:
Корневая папка сайта — /сайт.ru/public_html/ — 750
.htaccess — /сайт.ru/public_html/.htaccess — 640
wp-admin/ — /сайт.ru/public_html/wp-admin — 750
wp-admin/js/ — /сайт.ru/public_html/wp-admin/js/ — 750
wp-admin/index.php — /сайт.ru/public_html/wp-admin/index.php — 640
wp-content/ — /сайт.ru/public_html/wp-content — 750
wp-content/themes/ — /сайт.ru/public_html/wp-content/themes — 750
wp-content/plugins/ — /сайт.ru/public_html/wp-content/plugins — 750
wp-includes/ — /сайт.ru/public_html/wp-includes — 750
Включите DEBUG
Включите функцию дебаггинга и отображения ошибок на сайте в файле wp-config.php. По ошибкам можно определить виновника.
Открываем его и находим строчку:
define('WP_DEBUG', false);
заменяем ее на это:
define('WP_DEBUG', true);
Если на сайте присутствуют ошибки — они появятся сверху (на сайте и в админке сайта).
Ошибки можно записывать в специальный файл. Для этого в файл wp-config.php пропишите следующие строчки:
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
Текстовый файл с ошибками появится в папке /wp-content/
Вирусы?
Возможно, ваш сайт заражен вирусом. Проверьте кабинеты вебмастера в Google и в Яндексе. Не появились ли сообщения о заражении.
Проверьте поисковую выдачу — введите свой сайт в поиск и перейдите по ссылкам.
site:my-site.ru
Что отображается в поисковой выдаче и куда ведут ссылки?
Просмотрите папки сайта через файловый менеджер или FTP. Не появились ли лишние файлы и папки?
Как проверить сайт на наличие вирусов?
1.На многих хостингах есть инструменты для проверки.
2.С помощью онлайн-сервисов:
3.С помощью плагинов WordPress:
Сделайте откат сайта из резервной копии
Если ничего не помогло — сделайте откат сайта используя резервные копии.
Нет резервных копий? Это беда! Тогда начните с 1-го пункта этого списка, все сначала.
Не уверены?
Обратитесь к опытному специалисту за помощью.
Если проблема на стороне сервера, проблема с портами или запросами — обратитесь в поддержку хостинга.