# Белый экран и ошибка 500 в WordPress: как найти причину

> Белый экран и ошибка 500 в WordPress: включаем debug.log, отключаем плагины и тему, поднимаем memory_limit и чиним .htaccess за 15 минут.

Белый экран без единой надписи или ошибка 500 при открытии сайта на WordPress означают одно: PHP упал ещё до того, как успел отдать HTML браузеру. Разбираем, как за 15 минут найти причину и вернуть сайт в рабочее состояние, не переустанавливая WordPress с нуля.

## Что означает белый экран и ошибка 500 в WordPress

«Белый экран смерти» (White Screen of Death) появляется, когда PHP-скрипт завершился с фатальной ошибкой, а вывод ошибок на экран выключен — так настроено по умолчанию на боевых серверах. Ошибка 500 Internal Server Error — по сути то же самое, только сообщение формирует веб-сервер, а не сам WordPress.

Причины у обеих проблем почти всегда одни: конфликт плагина или темы после обновления, нехватка памяти PHP, повреждённый файл `.htaccess` или синтаксическая ошибка в коде после ручного редактирования functions.php. Первый шаг — включить логирование и посмотреть реальный текст ошибки, а не гадать.

## Как включить журнал ошибок в wp-config.php

Откройте файл `wp-config.php` в корне сайта и добавьте перед строкой `/* That's all, stop editing! */` три константы:

```
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
```

После этого WordPress перестанет показывать ошибку на экране посетителям, но запишет весь стек вызовов в файл `wp-content/debug.log`. Посмотреть последние строки лога можно командой:

```
# Показать последние 50 строк лога ошибок
tail -n 50 wp-content/debug.log
```

Ищите строку с `PHP Fatal error` — в ней указан файл и номер строки, где произошёл сбой. Обычно это путь внутри `wp-content/plugins/` или `wp-content/themes/`.

## Как найти виновника среди плагинов и тем

Если лог указывает на конкретный плагин — переименуйте его папку через FTP или файловый менеджер панели, например `plugin-name` в `plugin-name-off`. WordPress увидит, что файл плагина пропал, и автоматически отключит его без доступа к админке.

Быстрее сделать то же самое через WP-CLI, если он подключён на сервере:

```
# Отключить все плагины разом
wp plugin deactivate --all

# Включать плагины по одному, проверяя сайт после каждого
wp plugin activate plugin-name
```

Про остальные команды управления плагинами и темами из терминала — в статье [WP-CLI: управление WordPress из командной строки](https://www.zevshost.net/ru/kb/wp-cli-commands/). Если после отключения всех плагинов сайт заработал, проблема в одном из них — включайте по очереди, пока ошибка не вернётся.

Если дело не в плагинах, переключите тему на стандартную:

```
wp theme activate twentytwentyfour
```

## Ошибка 500 из-за нехватки памяти PHP

Строка `Allowed memory size of 134217728 bytes exhausted` в логе означает, что скрипту не хватило лимита `memory_limit`. Значение 134217728 байт — это 128 МБ, стандартный лимит на многих тарифах. Поднять его можно в трёх местах, по порядку приоритета:

| Файл | Строка | Когда применять |
| --- | --- | --- |
| wp-config.php | `define( 'WP_MEMORY_LIMIT', '256M' );` | работает почти всегда, приоритет |
| .htaccess | `php_value memory_limit 256M` | только если PHP работает как модуль Apache |
| php.ini / панель хостинга | `memory_limit = 256M` | если есть доступ к настройкам PHP в панели |

256 МБ хватает большинству сайтов на WooCommerce и с тяжёлыми конструкторами страниц. Если после увеличения лимита ошибка не ушла, дело не в памяти, а в бесконечном цикле или рекурсии в коде плагина.

## Проблемы с .htaccess и правами доступа

Ошибка 500 без записи в debug.log почти всегда означает повреждённый `.htaccess`. Переименуйте файл во что-то вроде `.htaccess-old` и зайдите на сайт заново:

```
# Временно отключить .htaccess
mv .htaccess .htaccess-old
```

Если сайт открылся, создайте новый файл, зайдя в админке в раздел «Настройки → Постоянные ссылки» и нажав «Сохранить изменения» — WordPress пересоздаст правила автоматически. Второй частый виновник — неверные права доступа. Правильные значения для WordPress:

```
# Права на папки — 755, на файлы — 644
find /var/www/site/public_html -type d -exec chmod 755 {} \;
find /var/www/site/public_html -type f -exec chmod 644 {} \;
```

## Чек-лист диагностики белого экрана

Перед тем как звать техподдержку хостинга, пройдите по пунктам:

- Включили `WP_DEBUG_LOG` и посмотрели `wp-content/debug.log`.
- Отключили все плагины через FTP или WP-CLI и проверили сайт заново.
- Переключили тему на стандартную (Twenty Twenty-Four).
- Подняли `memory_limit` до 256М в wp-config.php.
- Проверили `.htaccess` и права доступа 755/644.

Если делали резервную копию перед последним обновлением — часто быстрее откатиться, чем искать причину вручную; порядок восстановления описан в статье [WordPress бэкап: UpdraftPlus и ручной метод](https://www.zevshost.net/ru/kb/wordpress-backup-nastroika/). А чтобы белый экран не появлялся после каждого обновления плагинов, настройте безопасный процесс — он расписан в статье [Безопасное обновление WordPress: порядок действий и откат](https://www.zevshost.net/ru/kb/wordpress-bezopasnoe-obnovlenie/).

---

Источник: https://www.zevshost.net/ru/kb/wordpress-belyy-ekran-oshibka-500/
