Ошибка 500 в WordPress: диагностика плагинов, темы, PHP и логов сервера

Ошибка 500 в WordPress часто вызвана конфликтами плагинов, темы или PHP. Узнайте, как проверить логи сервера, плагины, тему и настройки PHP для…

Коротко: Ошибка 500 в WordPress обычно возникает из-за конфликта плагинов, несовместимости темы, исчерпания памяти PHP, ошибок в .htaccess или повреждённых файлов ядра. Для диагностики проверьте логи ошибок сервера, отключите плагины, переключитесь на стандартную тему и протестируйте скрипты PHP.

Ошибка 500 в WordPress: Ошибка 500 (Internal Server Error) в WordPress – общая неполадка, указывающая на сбой на сервере без конкретики. Чтобы устранить её, необходимо последовательно проверить плагины, активную тему, версию PHP и логи сервера.
Разберём, почему возникает Ошибка 500 в WordPress, какие проверки стоит выполнить сначала и в каком порядке лучше устранять проблему.

Что означает Ошибка 500 в WordPress

Разберём, почему возникает Ошибка 500 в WordPress, какие проверки стоит выполнить сначала и в каком порядке лучше устранять проблему.

Основные причины

Причина Что это значит
Конфликт плагинов Один или несколько активированных плагинов могут конфликтовать друг с другом, с темой или с ядром WordPress, вызывая внутреннюю ошибку сервера.
Несовместимая или повреждённая тема Активная тема может содержать битый PHP-код, устаревшие функции или конфликтовать с установленной версией WordPress и PHP.
Исчерпание лимита памяти PHP WordPress-скрипты требуют определённого объёма оперативной памяти. При нехватке выделенной памяти PHP завершает процесс с ошибкой, которую сервер преобразует в 500.
Ошибки в файле .htaccess Некорректные правила перезаписи, лишние пробелы или битые директивы в .htaccess могут нарушить работу сервера.
Повреждённые файлы ядра WordPress Файлы в папках wp-admin и wp-includes могли быть частично повреждены при обновлении, переносе или атаке.
Некорректная версия PHP Устаревшая или слишком новая версия PHP, не поддерживаемая ядром, темой или плагинами, приводит к фатальным ошибкам.
Ошибки в пользовательском коде Добавленный в functions.php темы фрагмент кода с синтаксической ошибкой или вызовом несуществующей функции мгновенно вызывает сбой.
Неверные права доступа к файлам Слишком строгие или, наоборот, излишне открытые права на директории и файлы могут препятствовать выполнению скриптов.

Что проверить сначала

  • Проверьте, загружается ли админ-панель WordPress (wp-admin). Если да, проблема может быть во фронтенде.
  • Включите отображение ошибок в wp-config.php: define(‘WP_DEBUG’, true); define(‘WP_DEBUG_LOG’, true); – затем проверьте wp-content/debug.log.
  • Просмотрите логи ошибок сервера (error_log или журнал в панели управления хостингом) на наличие записей уровня fatal error.
  • Временно переименуйте папку /wp-content/plugins/ через FTP, чтобы массово отключить все плагины.
  • Переключитесь на стандартную тему WordPress через базу данных (измените значения template и stylesheet в таблице wp_options на twentytwentyfive).
  • Проверьте целостность файлов ядра: сравните контрольные суммы или замените папки wp-admin и wp-includes свежими копиями.
  • Убедитесь в панели хостинга, что установлена версия PHP, рекомендуемая для WordPress (не ниже 7.4, предпочтительно 8.0+).
  • Добавьте строку define(‘WP_MEMORY_LIMIT’, ‘256M’); в wp-config.php и проверьте, исчезла ли ошибка.
  • Переименуйте файл .htaccess в .htaccess_old и повторите попытку загрузки сайта. После исправления восстановите постоянные ссылки в настройках.
  • Убедитесь, что права на папки установлены в 755, на файлы – 644, а wp-config.php – 600.

Пошаговое решение

  1. Включите логирование ошибок в wp-config.php: define(‘WP_DEBUG’, true); define(‘WP_DEBUG_LOG’, true); define(‘WP_DEBUG_DISPLAY’, false);. После этого ошибки будут записываться в /wp-content/debug.log.
  2. Отключите все плагины: подключитесь к сайту по FTP или через файловый менеджер хостинга и переименуйте папку /wp-content/plugins, например, в plugins_off.
  3. Если ошибка исчезла, начните возвращать плагины по одному: возвращайте исходное имя папки каждому плагину и обновляйте сайт, пока не найдёте вызывающий сбой.
  4. Переключитесь на стандартную тему: откройте базу данных (phpMyAdmin), найдите таблицу wp_options, строки с option_name = ‘template’ и ‘stylesheet’ и замените их значения на ‘twentytwentyfive’.
  5. Создайте резервную копию файла .htaccess и удалите его, либо переименуйте. Затем перейдите в админ-панель WordPress, Настройки -> Постоянные ссылки и просто нажмите «Сохранить изменения», чтобы сгенерировать новый .htaccess.
  6. Увеличьте лимит памяти PHP: в wp-config.php перед строкой /* That’s all, stop editing! */ добавьте define(‘WP_MEMORY_LIMIT’, ‘256M’);
  7. Проверьте версию PHP и при необходимости измените её в панели управления хостингом на поддерживаемую WordPress (7.4 или новее).
  8. Изучите файл functions.php активной темы на наличие битых конструкций: проверьте баланс фигурных скобок, отсутствие лишних пробелов в начале и конце файла, корректность добавленных пользовательских функций.
  9. Перезагрузите ядро WordPress: скачайте свежий ZIP-архив WordPress, распакуйте и замените папки wp-admin и wp-includes на сервере, не трогая wp-content.
  10. Настройте права доступа: установите для всех папок 755, для файлов – 644, а для wp-config.php – 600. Сделать это можно через FTP-клиент или консоль.
  11. Если ошибка появляется только при выполнении определённых действий (импорт, экспорт, установка плагинов), увеличьте время выполнения скриптов PHP: set_time_limit(300); в wp-config.php.
  12. При отсутствии собственных записей в логе ошибок WordPress обратитесь к журналам сервера через панель хостинга (обычно error_log) и найдите строки, начинающиеся с PHP Fatal error.
AI-инструмент

Проверить ошибку WordPress

Введите ошибку WordPress, PHP, плагина, темы, REST API или кратко опишите проблему сайта.

FAQ

Можно ли восстановить сайт, если админ-панель не открывается из-за ошибки 500?

Да, отключите плагины и смените тему через FTP или базу данных. Доступ к админке обычно восстанавливается после устранения конфликта.

Почему ошибка 500 появляется после обновления плагина?

Новая версия плагина может содержать ошибку или быть несовместимой с вашей версией PHP/WordPress. Откатите плагин до предыдущей версии или дождитесь исправления от разработчика.

Как понять, какой именно плагин вызывает ошибку?

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

Что делать, если ошибка сохраняется даже после отключения всех плагинов и смены темы?

Необходимо проверить файл .htaccess, лимиты памяти PHP, права доступа к файлам и перезагрузить ядро WordPress. Если и это не помогает, обратитесь к логам сервера.

Может ли ошибка 500 быть вызвана проблемами хостинга, а не WordPress?

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

Нужно ли переустанавливать WordPress при постоянной ошибке 500?

Полная переустановка обычно не требуется. Достаточно заменить файлы ядра, сохранив папку wp-content и конфигурацию. Это решает большинство проблем без потери данных.

Итог

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *