Internal Server Error (Ошибка 500) — одна из самых распространённых и неприятных ошибок, с которыми могут столкнуться владельцы сайтов на WordPress.
Она не даёт посетителям попасть на сайт и может возникнуть по разным причинам. В этой статье мы разберём, что вызывает эту ошибку и как её исправить.
Что такое Internal Server Error?
Internal Server Error (или HTTP 500) — это общая ошибка сервера, которая означает, что сервер не может корректно обработать запрос из-за внутренней проблемы. В отличие от ошибки 404 (страница не найдена), ошибка 500 говорит о том, что проблема на стороне сервера.
Возможные причины ошибки
Ошибка 500 в WordPress может возникнуть по разным причинам:
- Повреждённый файл .htaccess
- Недостаток памяти PHP
- Конфликт плагинов или темы
- Ошибка в коде PHP
- Некорректные права доступа к файлам
- Проблемы с сервером или хостингом
Теперь рассмотрим, как поэтапно устранить эту ошибку.
Проверьте файл .htaccess
Одна из самых частых причин ошибки 500 в WordPress — повреждённый или неправильно настроенный файл .htaccess.
Как исправить:
- Подключитесь к серверу через FTP-клиент (например, FileZilla) или используйте файловый менеджер в панели управления хостингом.
- Перейдите в корневую папку сайта и найдите файл .htaccess.
- Переименуйте его (например, в .htaccess_old).
Попробуйте зайти на сайт. Если он заработал, перейдите в Настройки → Постоянные ссылки в админке WordPress и нажмите «Сохранить изменения», чтобы создать новый .htaccess.
Пример стандартного .htaccess для WordPress:
# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ — [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress
Если ошибка 500 исчезла, значит, проблема была в .htaccess.
Увеличьте лимит памяти PHP
Недостаток памяти может приводить к ошибке 500. Попробуйте увеличить лимит, добавив в файл wp-config.php следующую строку:
define(‘WP_MEMORY_LIMIT’, ‘256M’);
Если у вас есть доступ к php.ini, добавьте или измените параметр:
memory_limit = 256M
В .htaccess можно попробовать добавить:
php_value memory_limit 256M
После внесения изменений проверьте работу сайта.
Отключите плагины
Конфликт плагинов — ещё одна частая причина ошибки 500.
Как отключить плагины:
- Подключитесь к серверу через FTP.
- Перейдите в папку /wp-content/plugins/.
- Переименуйте папку plugins (например, в plugins_old).
- Попробуйте зайти на сайт. Если он заработал, значит, проблема в одном из плагинов.
- Верните имя папки и переименовывайте папки отдельных плагинов по очереди, чтобы выявить проблемный.
Отключите текущую тему
Если после отключения плагинов ошибка осталась, попробуйте сменить тему.
Как сменить тему без доступа в админку:
- Перейдите в /wp-content/themes/ и переименуйте папку с активной темой.
- WordPress автоматически переключится на стандартную тему (twentytwentyfour или другую, установленную на сайте).
Если ошибка исчезла, значит, проблема в теме.
Проверьте права на файлы и папки
Некорректные права доступа могут вызывать Internal Server Error.
Рекомендуемые права:
- Файлы — 644
- Папки — 755
- wp-config.php — 600 (для защиты)
Изменить права можно через FTP-клиент или с помощью SSH-команды:
- find /your-wordpress-folder/ -type d -exec chmod 755 {} \;
- find /your-wordpress-folder/ -type f -exec chmod 644 {} \;
После изменения прав попробуйте зайти на сайт.
Включите режим отладки
WordPress позволяет включить режим отладки, чтобы увидеть, какие ошибки вызывают проблему.
Как включить отладку:
Откройте wp-config.php и добавьте:
- define(‘WP_DEBUG’, true);
- define(‘WP_DEBUG_LOG’, true);
- define(‘WP_DEBUG_DISPLAY’, false);
После этого ошибки будут записываться в файл /wp-content/debug.log. Откройте его и посмотрите, какие ошибки возникают.
Проверьте ошибки сервера
Логи сервера могут содержать информацию о причине ошибки 500. Вы можете найти их:
- В панели управления хостингом (обычно в разделе Логи ошибок).
- Через FTP в файле error_log.
Если в логах есть ошибки, связанные с определёнными плагинами или файлами, попробуйте их отключить или исправить.
Обновите файлы WordPress
Если ничего не помогло, попробуйте загрузить свежие файлы WordPress.
Как обновить вручную:
- Скачайте последнюю версию WordPress с wordpress.org.
- Удалите папки wp-admin и wp-includes с сервера.
- Загрузите новые файлы из архива (кроме wp-content).
- Проверьте сайт.
Обратитесь в поддержку хостинга
Если вы попробовали всё, но ошибка остаётся, возможно, проблема на стороне хостинга. Свяжитесь с их поддержкой и уточните:
- Есть ли сбои на сервере?
- Есть ли ограничения на использование ресурсов?
- Можно ли обновить версию PHP?
Internal Server Error в WordPress — распространённая, но решаемая проблема. Главное — действовать методично:
- Проверьте и восстановите .htaccess.
- Увеличьте лимит памяти PHP.
- Отключите плагины и тему.
- Проверьте права доступа к файлам.
- Включите отладку и изучите логи.
- Обновите файлы WordPress.
- Если ничего не помогает, обратитесь в поддержку хостинга.
Следуя этим шагам, вы сможете устранить ошибку 500 и восстановить работу сайта.
Если вы попробовали все вышеперечисленные способы, но ошибка 500 всё равно остаётся, не теряйте время — обратитесь к специалисту. Опытный разработчик быстро найдёт причину проблемы и устранит её, сэкономив вам нервы и время. Не рискуйте работоспособностью сайта, если не уверены в своих действиях!