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