Skip to content

Всё для WordPress, веб-разработки — и не только

🔧 50 самых распространенных ошибок WordPress и как их исправить

🔧 50 самых распространенных ошибок WordPress и как их исправить

Белый экран вместо сайта. Сообщение «Error establishing a database connection» на весь монитор. Или того хуже, тишина: сайт просто не открывается, а трафик падает с каждой минутой. Знакомая картина для каждого, кто работает с WordPress.

Штука в том, что текст ошибки почти никогда не говорит, где копать. «Internal Server Error», не диагноз, а констатация: что-то пошло не так. Сервер не объясняет, плагины молчат, а клиент ждёт.

Мы разобрали 50 реальных ошибок WordPress, от безобидного Maintenance Mode до глухой блокировки базы данных. По каждой: внятный симптом, вероятная причина и конкретный порядок действий. С копируемыми сниппетами и командами WP-CLI, без воды и догадок.

💡 Быстрый обзор:

  • Найдите свою ошибку в сводной таблице ниже, 50 проблем разбиты на 6 категорий с быстрыми решениями
  • Перейдите в нужный раздел и выполните шаги: каждая ошибка описана по цепочке «симптом → причина → решение»
  • Для технических ошибок скопируйте готовые сниппеты PHP и команды WP-CLI, код протестирован на актуальной версии WordPress
  • Посмотрите видеоразбор самых частых ошибок WordPress, встроен в пост

Сводная таблица: 50 ошибок, симптомы и быстрые решения

Ошибка

Симптом

Категория

Быстрое решение

1

Internal Server Error (500)

Белый экран / сообщение 500

Сервер

Проверить .htaccess, лимит памяти PHP, деактивировать плагины

2

Сайт испытывает технические трудности

Сообщение «This site is experiencing technical difficulties»

Ядро

Проверить почту администратора, включить WP_DEBUG

3

Синтаксическая ошибка PHP

Parse error: syntax error...

Код

Исправить синтаксис в functions.php / сниппете

4

Ошибка соединения с БД

«Error establishing a database connection»

База данных

Проверить wp-config.php, логин/пароль БД, хост БД

5

Белый экран смерти (WSOD)

Абсолютно белый экран

Сервер

Увеличить лимит памяти, деактивировать плагины/тему

6

Ошибка 404 на страницах постов

Посты возвращают 404

Контент

Сбросить пермалинки: Настройки → Постоянные ссылки → Сохранить

7

Сайдбар под контентом

Боковая панель уехала вниз

Темы

Проверить незакрытые <div>, CSS-правила float/clear

8

Белый текст / пропажа кнопок редактора

Визуальный редактор пустой / кнопки не видны

Плагины

Очистить кеш браузера, проверить TinyMCE, конфликт плагинов

9

Исчерпан лимит памяти PHP

Allowed memory size exhausted

Сервер

Увеличить WP_MEMORY_LIMIT в wp-config.php

10

Блокировка от wp-admin

Нет доступа к админке

Доступ

Сброс пароля через БД / FTP, удалить плагины безопасности

11

Петля редиректа на странице входа

Бесконечная переадресация при логине

Доступ

Очистить куки, проверить siteurl/home в БД

12

Ошибка при входе: куки заблокированы

«Cookies are blocked»

Доступ

Проверить wp-config.php: WP_HOME/WP_SITEURL, SSL-настройки

13

Не удаётся добавить медиафайл

Ошибка при загрузке в медиатеку

Файлы

Проверить права папки uploads/ (755), лимит upload_max_filesize

14

Проблемы с изображениями

Кривое выравнивание, обрезка, галереи

Контент

Изучить настройки медиа: Настройки → Медиафайлы

15

«Вы уверены, что хотите это сделать?»

Сообщение в админке при действии

Плагины

Конфликт nonce-ключей в плагине/теме

16

«Кратковременная недоступность» (Maintenance)

Сайт в режиме обслуживания

Ядро

Удалить файл .maintenance из корня сайта

17

WordPress не отправляет email

Письма не доходят

Сервер

Настроить SMTP-плагин (Post SMTP, WP Mail SMTP)

18

Ошибки RSS-ленты

XML Parsing Error в фиде

Контент

Проверить functions.php на лишние пробелы/переносы строк

19

Ошибка 403 Forbidden

Доступ запрещён

Безопасность

Права файлов (644) / папок (755), плагины безопасности

20

Слишком много переадресаций

ERR_TOO_MANY_REDIRECTS

Сервер

Проверить URL сайта (siteurl/home), конфликт HTTPS-редиректов

21

Ошибка записи файла на диск

Upload: Failed to write file to disk

Файлы

Права папки uploads/ → 755, временная папка

22

Сайт содержит вредоносные программы

Предупреждение Google «Site ahead contains malware»

Безопасность

Сканировать сайт (Wordfence/Sucuri), удалить заражённые файлы

23

Пропущенные запланированные посты

Пост не опубликовался по расписанию

Ядро

Проверить wp-cron, плагин Scheduled Post Trigger

24

Превышено максимальное время выполнения

Maximum execution time exceeded

Сервер

Увеличить max_execution_time в php.ini

25

Неверная миниатюра Facebook

При шаринге - не та картинка

SEO

Настроить Open Graph (Yoast/Rank Math), og:image

26

Постоянный logout из WordPress

Выбрасывает из админки

Доступ

Проверить siteurl/home, конфликт URL с www/без www

27

Изменения не сохраняются

Не применяются правки

Кеш

Очистить кеш браузера + плагина кеширования + серверный кеш

28

Конфликт плагинов / темы

Сайт ломается после активации

Плагины

Деактивировать всё → включать по одному, найти виновника

29

Проблема обновления WordPress

Сбой при автообновлении

Ядро

Ручное обновление через FTP: wp-admin/, wp-includes/

30

Повреждённая база данных

Ошибки при доступе к таблицам

База данных

Восстановить БД через phpMyAdmin / WP-CLI: wp db repair

31

Ошибка «Headers already sent»

Cannot modify header information

Код

Убрать пробелы/переносы до <?php и после ?> в functions.php

32

Ошибка cURL в WordPress

cURL error 28/7

Сервер

Проверить cURL на сервере, таймауты, SSL-сертификат

33

Конфликт jQuery / JavaScript

Админка не работает, drag & drop сломан

Плагины

Проверить консоль браузера, конфликт версий jQuery

34

Проблема с часовым поясом

Неправильное время публикаций

Ядро

Настройки → Общие → Часовой пояс

35

Ошибка «Table doesn't exist»

Отсутствует таблица в БД

База данных

Восстановить таблицу из бэкапа / пересоздать

36

Смешанный контент (Mixed Content)

Зелёный замочек пропал после перехода на HTTPS

Контент

Поиск и замена http://https:// в БД

37

Ошибка «Another update in process»

Блокировка обновления ядра

Ядро

Удалить опцию core_updater.lock из wp_options

38

Ошибка ключа сброса пароля

Ссылка сброса пароля не работает

Доступ

Освободить место на диске хостинга

39

Отсутствует временная папка

Missing a temporary folder

Файлы

Добавить WP_TEMP_DIR в wp-config.php

40

Ошибка файла pluggable.php

Cannot modify header information в pluggable.php

Код

Проверить кастомный код в functions.php, закрывающие теги ?>

41

Проблемы с SSL / HTTPS

Ошибки сертификата, смешанный контент

Безопасность

Переустановить SSL-сертификат, плагин Really Simple SSL

42

Права доступа к файлам и папкам

Ошибки записи, чтения

Файлы

Выставить папки → 755, файлы → 644

43

Ошибка HTTP при загрузке изображений

Не удаётся загрузить картинку в медиатеку

Файлы

Проверить лимиты памяти, размер файла, права папок

44

Подключение не является частным

Your connection is not private

Безопасность

Проверить SSL-сертификат (срок, выпустивший центр)

45

Срок действия ссылки истёк

The link you followed has expired

Сервер

Увеличить upload_max_filesize и post_max_size и max_execution_time

46

Сайт не обновляется сразу

Правки не видны после сохранения

Кеш

Очистить кеш: браузер → плагин → серверный (Cloudflare/LiteSpeed)

47

Не удалось загрузить ресурс

Failed to load resource в консоли

Контент

Проверить URL ресурса (404?), права доступа

48

Отсутствует временная папка (повтор)

Загрузка медиафайлов не работает

Файлы

define('WP_TEMP_DIR', WP_CONTENT_DIR . '/temp/') + создать папку

49

Ошибка Google reCAPTCHA

Бесконечная проверка «Я не робот»

Плагины

Обновить ключи reCAPTCHA v2/v3, проверить плагин

50

Сайт не загружается после смены домена

Белый экран / ошибка БД

База данных

Заменить старый домен на новый в БД через WP-CLI / Better Search Replace

Категория 1: Серверные ошибки и лимиты хостинга

С этих ошибок начинается паника. Хорошая новость: почти все серверные сбои WordPress чинятся правкой одного-двух файлов или поднятием лимитов PHP.

1. Internal Server Error (500)

Ошибка Internal Server Error 500 в браузере WordPress

Самая загадочная ошибка WordPress. Сервер сообщает: «что-то не так», но не говорит что именно. Обычные виновники, повреждённый .htaccess, исчерпанный лимит памяти PHP или конфликт плагинов.

Как исправить:

  • Переименуйте .htaccess в .htaccess_old и пересохраните постоянные ссылки: Настройки → Постоянные ссылки → Сохранить
  • Увеличьте лимит памяти PHP в wp-config.php: define('WP_MEMORY_LIMIT', '256M');
  • Деактивируйте все плагины через FTP (переименуйте папку wp-content/plugins/), затем включайте по одному

2. Сайт испытывает технические трудности

Уведомление о технических трудностях на сайте WordPress

С версии 5.2 WordPress показывает это сообщение вместо фатальной ошибки и отправляет письмо администратору со ссылкой для входа в режим восстановления.

Письмо WordPress о фатальной ошибке с режимом восстановления

Как исправить: проверьте почту администратора WordPress. Письмо содержит прямую ссылку на вход в админку с временным отключением проблемного плагина/темы. Если письма нет, включите WP_DEBUG в wp-config.php: define('WP_DEBUG', true);, и обновите страницу, чтобы увидеть конкретную ошибку.

3. Синтаксическая ошибка PHP

Сообщение о синтаксической ошибке PHP в WordPress

Parse error: syntax error, unexpected..., вы добавили сниппет в functions.php, и сайт лёг. Ошибка говорит, в каком файле и на какой строке проблема.

Как исправить: откройте файл из сообщения об ошибке через FTP, найдите указанную строку и исправьте синтаксис. Чаще всего, пропущенная точка с запятой ; или незакрытая скобка. Если не помните, что меняли, откатите файл из бэкапа.

4. Ошибка соединения с базой данных

Ошибка соединения с базой данных WordPress в браузере

«Error establishing a database connection» означает, что WordPress не может достучаться до базы данных. В большинстве случаев причина в неверных данных в wp-config.php.

Как исправить: откройте wp-config.php через FTP и проверьте три строки: DB_NAME, DB_USER и DB_PASSWORD. Сверьте их с данными в панели хостинга (MySQL-раздел). Если данные верны, свяжитесь с хостером, возможно, сервер MySQL перегружен или упал.

5. Белый экран смерти (WSOD)

Абсолютно белый экран смерти WordPress без сообщений

Абсолютно белый экран без единого сообщения. В подавляющем большинстве случаев причина, исчерпанный лимит памяти PHP.

Как исправить:

  • Добавьте в wp-config.php: define('WP_MEMORY_LIMIT', '256M');
  • Если не помогло, переименуйте папку с активной темой (wp-content/themes/ваша-тема/), WordPress переключится на стандартную тему
  • Затем переименуйте папку plugins/, если экран исчез, виноват один из плагинов

9. Исчерпан лимит памяти PHP

Фатальная ошибка исчерпания памяти PHP в WordPress

Сообщение: Fatal error: Allowed memory size of 33554432 bytes exhausted. Типовой лимит на дешёвом хостинге, 32 МБ, а WordPress-сайту с несколькими плагинами нужно минимум 128 МБ.

Как исправить:

1// wp-config.php — перед строкой /* That's all, stop editing! */
2define('WP_MEMORY_LIMIT', '256M');
3define('WP_MAX_MEMORY_LIMIT', '512M');

Если хостинг блокирует изменение лимита, обратитесь в поддержку или смените тариф.

20. Слишком много переадресаций

Ошибка ERR_TOO_MANY_REDIRECTS в браузере Chrome

ERR_TOO_MANY_REDIRECTS, браузер попал в бесконечный цикл переадресаций. Обычная причина: несовпадение URL сайта в настройках (siteurl/home) с фактическим адресом (http vs https, c www или без).

Как исправить: проверьте значения siteurl и home в таблице wp_options через phpMyAdmin. Они должны совпадать и соответствовать реальному URL сайта. Если сайт на HTTPS, оба значения должны начинаться с https://.

24. Превышено максимальное время выполнения

Фатальная ошибка превышения времени выполнения скрипта PHP

Fatal error: Maximum execution time of 30 seconds exceeded. PHP-скрипт выполнялся дольше, чем разрешено сервером. Часто возникает при импорте большого файла демо-контента или массовом обновлении постов.

Как исправить:

1// wp-config.php
2set_time_limit(300); // 5 минут
3// или в php.ini:
4max_execution_time = 300

Для массовых операций используйте WP-CLI, команды выполняются вне веб-контекста и не имеют ограничений по времени.

32. Ошибка cURL в WordPress

Ошибка cURL 28 в WordPress при обращении к внешнему API

cURL error 28: Connection timed out или cURL error 7: Failed to connect. WordPress не может связаться с внешним сервером, для обновлений, загрузки плагинов или API-запросов.

Как исправить: проверьте, включён ли cURL на сервере (phpinfo()). Если включён, но ошибка сохраняется, проблема в файрволе хостинга или DNS. Обратитесь в поддержку хостинга с текстом ошибки.

45. Срок действия ссылки истёк

Ошибка The link you followed has expired в WordPress

«The link you followed has expired», появляется при загрузке крупного файла или длительной операции в админке. Серверный лимит времени или размера загрузки обрезал запрос.

Как исправить: увеличьте лимиты PHP в php.ini или .htaccess: upload_max_filesize = 64M, post_max_size = 64M и max_execution_time = 300. Затем перезапустите веб-сервер.

Категория 2: Доступ и вход в админку

Не можете войти в админку, работы встают. Вот что делать, если WordPress вас не пускает.

10. Блокировка от wp-admin

Пустая страница входа в админку WordPress после блокировки

Не открывается /wp-admin/, пустая страница или сообщение «У вас нет прав». Типичные причины: плагин безопасности заблокировал IP после нескольких неудачных попыток входа, или повреждён файл .htaccess в папке wp-admin/.

Как исправить: через FTP переименуйте папку wp-content/plugins/security-plugin-name/ (Wordfence, Sucuri, iThemes), это снимет блокировку. Если не помогло, сбросьте пароль через phpMyAdmin:

1UPDATE wp_users SET user_pass = MD5('новый_пароль') WHERE user_login = 'ваш_логин';

11. Петля редиректа на странице входа

Бесконечная переадресация на странице входа WordPress

Вводите логин и пароль, а /wp-admin/ бесконечно перезагружается. Вы не входите, но и ошибки нет.

Как исправить: очистите куки браузера для домена сайта. Если не помогло, проверьте значения siteurl и home в таблице wp_options, они должны быть идентичны. Проверьте, не форсирует ли wp-config.php SSL: define('FORCE_SSL_ADMIN', true); при отсутствии сертификата на сервере.

12. Ошибка при входе: куки заблокированы

Сообщение Cookies are blocked при входе в WordPress админку

«Cookies are blocked or not supported by your browser», WordPress не может установить авторизационную куку. Часто случается после переноса сайта или смены домена.

Как исправить: добавьте в wp-config.php явные URL:

1define('WP_HOME', 'https://ваш-сайт.com');
2define('WP_SITEURL', 'https://ваш-сайт.com');

Если сайт на HTTPS, убедитесь, что оба значения начинаются с https://.

26. Постоянный logout из WordPress

Постоянный выброс из админки WordPress после входа

Входите в админку, и через минуту вас выбрасывает, снова страница входа. Корень проблемы: несовпадение URL сайта с фактическим адресом (с www и без www считаются разными доменами для кук).

Как исправить: выберите один вариант (с www или без), пропишите его в siteurl и home в таблице wp_options, и настройте редирект с неиспользуемого варианта на основной в .htaccess.

38. Ошибка ключа сброса пароля

Ссылка «Сбросить пароль» из письма не работает, ключ просрочен или недействителен.

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

Категория 3: Проблемы с ядром WordPress

Ошибки, связанные с самим WordPress, обновления, крон, режим обслуживания.

16. «Кратковременная недоступность» (Maintenance Mode)

Сообщение о кратковременной недоступности сайта WordPress

После неудачного обновления сайт показывает «Кратковременная недоступность, зайдите через минуту», и висит так часами.

Как исправить: удалите файл .maintenance из корня сайта через FTP. WordPress создаёт его на время обновления, но при сбое не удаляет. После удаления сайт сразу вернётся к работе.

23. Пропущенные запланированные посты

Пропущенная публикация запланированного поста в WordPress

Пост должен был выйти в 9:00, а в 10:00 всё ещё висит с пометкой «Запланировано». WordPress использует wp-cron для отложенных задач, и он не всегда срабатывает.

Как исправить: установите плагин Scheduled Post Trigger или настройте системный cron вместо встроенного wp-cron. Добавьте в wp-config.php: define('DISABLE_WP_CRON', true); и настройте вызов wp-cron.php через системный cron каждые 5 минут.

29. Проблема обновления WordPress

Сбой автоматического обновления ядра WordPress

Автообновление WordPress зависло на середине. Сайт не работает, админка недоступна.

Как исправить: обновите ядро вручную через FTP. Скачайте свежий ZIP с wordpress.org, распакуйте, и залейте папки wp-admin/ и wp-includes/ на сервер с заменой. Файлы в корне (включая wp-config.php) не трогайте.

34. Проблема с часовым поясом

Посты публикуются с неверным временем или по неверной дате.

Как исправить: Настройки → Общие → Часовой пояс, выберите свой город. Для московского времени: Europe/Moscow (UTC+3).

37. Ошибка «Another update in process»

Блокировка обновления ядра Another update in process WordPress

При попытке обновить ядро WordPress выдаёт: «Another update is currently in progress». Предыдущее обновление не завершилось и оставило блокировку.

Как исправить: удалите опцию core_updater.lock из таблицы wp_options через phpMyAdmin. Команда WP-CLI: wp option delete core_updater.lock. Блокировка снимется мгновенно.

Категория 4: Контент, файлы и медиа

Тексты, картинки, RSS и постоянные ссылки, проблемы с содержимым сайта.

6. Ошибка 404 на страницах постов

Ошибка 404 на страницах постов WordPress при работающих постоянных ссылках

Все страницы постов возвращают 404, хотя в админке они есть. Самая простая в исправлении ошибка WordPress.

Как исправить: Настройки → Постоянные ссылки → Сохранить изменения. Ничего не меняйте, просто нажмите «Сохранить», WordPress перегенерирует .htaccess и структуру ссылок. Занимает 5 секунд.

7. Сайдбар под контентом

Боковая панель уехала под основной контент WordPress

Боковая панель оказалась не справа от текста, а под ним. Классика вёрстки.

Как исправить: проверьте в теме незакрытые HTML-теги <div> или недавно добавленный CSS. Откройте консоль браузера (F12) и посмотрите, какой элемент шире ожидаемого, скорее всего, картинка с атрибутом width на всю ширину или блок без max-width.

8. Белый текст / пропажа кнопок редактора

Пустой визуальный редактор WordPress с белым текстом и без кнопок

Визуальный редактор чистый, хотя текст в редакторе есть, или кнопки TinyMCE не отображаются. Мелкая, но бесячая проблема.

Как исправить: очистите кеш браузера (Ctrl+F5). Если не помогло, деактивируйте плагины и включайте по одному, какой-то плагин конфликтует с TinyMCE. Проверьте консоль браузера на ошибки JavaScript.

13. Не удаётся добавить медиафайл

Ошибка при загрузке изображения в медиатеку WordPress

При загрузке картинки возникает ошибка «Не удалось добавить медиафайл» без объяснения причин.

Как исправить: проверьте права папки wp-content/uploads/ (должны быть 755). Увеличьте upload_max_filesize в php.ini до 64M или больше. Убедитесь, что на хостинге есть свободное место.

14. Проблемы с изображениями

Сообщение о синтаксической ошибке PHP в WordPress

Кривое выравнивание, неверная обрезка миниатюр, галереи съезжают.

Как исправить: откройте Настройки → Медиафайлы и проверьте размеры миниатюр. Если изменили их после того, как загрузили сотни картинок, перегенерируйте миниатюры плагином Regenerate Thumbnails.

18. Ошибки RSS-ленты

Ошибка XML в RSS-ленте WordPress при проверке валидатором

XML Parsing Error: not well-formed, RSS-лента сломана, подписчики не получают обновлений.

Как исправить: откройте functions.php темы и проверьте, нет ли лишних пробелов или переносов строк до открывающего <?php или после закрывающего ?>. Один пробел вне тегов PHP ломает XML-вывод. Закрывающий ?> в конце файла лучше вообще убрать, стандарт WordPress это рекомендует.

21. Ошибка записи файла на диск

Ошибка Failed to write file to disk при загрузке в WordPress

Upload: Failed to write file to disk, сервер не может физически записать загружаемый файл.

Как исправить: права папки uploads/ → 755. Если не помогло, проверьте временную папку PHP: в phpinfo() найдите upload_tmp_dir и убедитесь, что она существует и доступна для записи.

25. Неверная миниатюра Facebook

Неверная миниатюра статьи WordPress при шаринге в Facebook

Вы делитесь постом в Facebook, а он цепляет случайную картинку или вообще ничего не показывает.

Как исправить: настройте Open Graph через Yoast SEO или Rank Math. Проверьте теги через Facebook Sharing Debuger, кнопка «Scrape Again». Убедитесь, что в og:image прописан правильный URL обложки поста.

36. Смешанный контент (Mixed Content)

Пропал зеленый замочек HTTPS из-за смешанного контента WordPress

Перешли на HTTPS, а зелёный замочек пропал. Консоль браузера показывает «Mixed Content», на странице есть ссылки на http://.

Как исправить: плагин Better Search Replace находит http://ваш-сайт.com и заменяет на https://ваш-сайт.com по всей базе данных. Перед заменой, обязательный бэкап БД. После замены очистите кеш.

42. Права доступа к файлам и папкам

Настройка прав доступа к файлам и папкам WordPress через FTP

Ошибки записи, чтения файлов, невозможность установить плагин.

Как исправить: канонические права WordPress, папки 755, файлы 644. wp-config.php можно поставить 640 или 400 для дополнительной безопасности. Не ставьте 777, это дыра в безопасности.

43. Ошибка HTTP при загрузке изображений

HTTP ошибка при загрузке изображения в медиатеку WordPress

При загрузке изображения в медиатеку появляется красное окно «HTTP error».

Как исправить: проверьте лимиты памяти PHP (WP_MEMORY_LIMIT → 256M), размер загружаемого файла (upload_max_filesize → 64M) и права папок (755). Перезагрузите страницу и попробуйте снова, иногда это разовая проблема с временной нехваткой памяти.

47. Не удалось загрузить ресурс

Ошибка Failed to load resource в консоли браузера WordPress

Failed to load resource: the server responded with a status of 404 в консоли. Какой-то файл (CSS, JS, шрифт) не загружается.

Как исправить: найдите URL файла в консоли, откройте его в браузере. 404, проверьте, существует ли файл на сервере. Если файл плагина или темы, переустановите плагин/тему. Если внешний ресурс, найдите замену или удалите вызов.

48. Отсутствует временная папка (альтернативное решение)

Альтернативное решение ошибки временной папки в WordPress

Тот же симптом, другой подход: если первое решение не сработало, проверьте, чтобы директива upload_tmp_dir в php.ini указывала на существующую папку с правами на запись. Или свяжитесь с хостером, проблема может быть на уровне конфигурации PHP.

Категория 5: Плагины, темы и конфликты

Большинство ошибок WordPress, из-за плагинов. Один несовместимый плагин может положить весь сайт.

15. «Вы уверены, что хотите это сделать?»

Сообщение о кратковременной недоступности сайта WordPress

Сообщение в админке при сохранении поста, установке плагина или любом другом действии. Nonce-ключ безопасности не сошёлся.

Как исправить: конфликт nonce-ключей в плагине или теме. Деактивируйте плагины и включайте по одному, проверяя, при каком появляется ошибка. Нашли, замените плагин на альтернативу.

28. Конфликт плагинов / темы

Сайт WordPress сломался после активации нового плагина

Сайт ломается сразу после активации нового плагина или темы. Типичный сценарий: вы нажали «Активировать» и получили белый экран.

Как исправить: через FTP переименуйте папку проблемного плагина (wp-content/plugins/plugin-name/). Сайт вернётся, а плагин деактивируется. Затем включайте остальные плагины по одному, чтобы исключить цепной конфликт.

33. Конфликт jQuery / JavaScript

Конфликт jQuery в админке WordPress сломан drag and drop

Админка работает с перебоями: drag & drop не работает, метабоксы не сворачиваются, кнопки не нажимаются.

Как исправить: откройте консоль браузера (F12) на проблемной странице админки. Красная ошибка JavaScript укажет на плагин-виновник. Обычно проблема в плагине, который подключает свою версию jQuery, конфликтующую со встроенной версией WordPress.

49. Ошибка Google reCAPTCHA

Бесконечная проверка reCAPTCHA («я не робот») или полная блокировка входа.

Как исправить: обновите ключи reCAPTCHA в настройках плагина (Contact Form 7, WPForms, плагин безопасности). Используйте reCAPTCHA v3 (невидимая) вместо v2, если проблема в частоте появления проверки.

Категория 6: Безопасность и SSL

Проблемы, из-за которых браузер показывает «сайт небезопасен».

19. Ошибка 403 Forbidden

Ошибка 403 Forbidden доступ запрещён на сайте WordPress

«403 Forbidden, доступ запрещён» при попытке открыть сайт или его раздел.

Как исправить: проверьте права файлов (644) и папок (755) через FTP. Временно деактивируйте плагины безопасности, они могли внести IP в чёрный список. Проверьте .htaccess на наличие правил Deny from.

22. Сайт содержит вредоносные программы

Предупреждение Google о вредоносных программах на сайте WordPress

В поиске Google перед сайтом красная плашка «Site ahead contains malware» или «Сайт может содержать вредоносные программы».

Как исправить: просканируйте сайт плагином Wordfence или через Sucuri SiteCheck. Удалите заражённые файлы, смените все пароли (FTP, БД, админка) и подайте заявку на перепроверку в Google Search Console.

41. Проблемы с SSL / HTTPS

Ошибка SSL-сертификата и смешанный контент на сайте WordPress

Ошибки сертификата, смешанный контент, или сайт не открывается по HTTPS.

Как исправить: установите бесплатный SSL-сертификат через панель хостинга (Let's Encrypt) или плагин Really Simple SSL. Плагин автоматически исправит смешанный контент и настроит редиректы. После активации проверьте сайт через https://, все ссылки должны вести на HTTPS-версию.

44. Подключение не является частным

Ошибка Your connection is not private в браузере для сайта WordPress

«Your connection is not private», браузер блокирует вход на сайт. SSL-сертификат истёк, недействителен или выпущен недоверенным центром.

Как исправить: проверьте срок действия сертификата (нажмите на замочек в адресной строке). Если истёк, перевыпустите в панели хостинга. Если сертификат самоподписанный, замените на Let's Encrypt. Проверьте, что домен в сертификате совпадает с доменом сайта.

Категория 7: База данных

Ошибки базы данных, самые опасные, потому что в БД лежит весь контент. Но большинство из них исправимы.

30. Повреждённая база данных

Восстановление повреждённой базы данных WordPress через WP-CLI

Ошибки при доступе к таблицам: «Table 'wp_options' is marked as crashed».

Как исправить: через WP-CLI:

1wp db repair
2// или через phpMyAdmin: выбрать БД → все таблицы → "Восстановить"

Если база не восстанавливается, разверните свежий бэкап.

35. Ошибка «Table doesn't exist»

Ошибка Table doesnt exist в базе данных WordPress

Table 'wp_db.wp_xyz' doesn't exist, MySQL не видит таблицу. Она либо удалена, либо повреждена настолько, что не читается.

Как исправить: если есть бэкап БД, восстановите недостающую таблицу через phpMyAdmin (импорт, выбрать только нужную таблицу). Если бэкапа нет, попробуйте WP-CLI: wp db repair. Для кастомных таблиц плагинов, переустановите плагин, он пересоздаст структуру.

50. Сайт не загружается после смены домена

Сайт WordPress не загружается после смены домена белый экран

Перенесли сайт на новый домен, а он не открывается. Белый экран, ошибка БД, или бесконечный редирект на старый домен.

Как исправить: замените старый домен на новый во всей базе данных. Через WP-CLI:

1wp search-replace 'старый-домен.com' 'новый-домен.com' --all-tables --dry-run
2// Уберите --dry-run для реальной замены

Или через плагин Better Search Replace в админке (если админка доступна). Обязательно сделайте бэкап БД перед заменой.

Категория 8: Код и PHP

Ошибки, связанные с кастомным кодом в теме или functions.php.

31. Ошибка «Headers already sent»

Ошибка Cannot modify header information headers already sent WordPress

Cannot modify header information, headers already sent by... с указанием файла и строки.

Как исправить: откройте файл, указанный в ошибке, и проверьте начало и конец:

  • Нет ли пробелов или пустых строк до <?php
  • Нет ли пробелов или переносов после ?> (а лучше вообще убрать ?> в конце файла)
  • Нет ли BOM (Byte Order Mark), откройте файл в редакторе кода и сохраните в UTF-8 без BOM

40. Ошибка файла pluggable.php

Ошибка pluggable.php Cannot modify header information в WordPress

Ошибка Cannot modify header information с указанием на wp-includes/pluggable.php. Но проблема не в ядре.

Как исправить: реальный виновник, ваш код в functions.php. pluggable.php содержит функции, которые модифицируют HTTP-заголовки (wp_redirect(), wp_set_auth_cookie()), и любая кастомная функция, вызванная до них и выведшая пробел или символ, ломает заголовки. Проверьте functions.php на лишние пробелы, особенно в конце файла.

3. Синтаксическая ошибка PHP

(Описана в Категории 1)

Категория 9: Кеш и производительность

Сайт работает, но изменения не отображаются или всё тормозит.

27. Изменения не сохраняются

Изменения в WordPress не применяются после сохранения из-за кеша

Поменяли текст на странице, нажали «Сохранить», а на сайте по-прежнему старая версия.

Как исправить: очистите кеш по цепочке: браузер (Ctrl+F5) → плагин кеширования (WP Rocket, W3 Total Cache) → серверный кеш (Cloudflare, LiteSpeed). Если проблема осталась, временно отключите плагин кеширования.

46. Сайт не обновляется сразу

Правки WordPress не видны на сайте после сохранения из-за кеширования

Правки не видны на сайте минутами или часами после сохранения. Наслоение кешей, браузерного, серверного, CDN, создаёт задержку.

Как исправить: очистите кеш последовательно: браузер → плагин → серверный (Cloudflare/LiteSpeed). Для разработки настройте исключения кеширования для админки. На production включите автоматическую очистку кеша при сохранении контента.

Категория 10: Файлы, FTP и временные папки

Проблемы с файловой системой сервера.

39. Отсутствует временная папка

Ошибка Missing a temporary folder при загрузке файлов в WordPress

Missing a temporary folder, PHP не может создать временный файл при загрузке.

Как исправить: добавьте в wp-config.php:

1define('WP_TEMP_DIR', WP_CONTENT_DIR . '/temp/');

Затем создайте папку /wp-content/temp/ с правами 755.

13, 21, 42, 43, см. Категорию 4 (Контент и файлы)

17. WordPress не отправляет email

Настройка SMTP плагина для отправки писем WordPress

Письма от WordPress не доходят, ни уведомления о комментариях, ни письма сброса пароля, ни формы обратной связи.

Как исправить: по умолчанию WordPress отправляет письма через функцию mail() PHP, которую большинство хостеров калечат в целях безопасности. Установите SMTP-плагин (Post SMTP или WP Mail SMTP) и настройте отправку через внешний SMTP-сервер. Бесплатный вариант: Mailgun (до 100 писем/день) или SendLayer.

⁉️🤔 Частые вопросы

Можно ли предотвратить эти ошибки до их появления?

Большинство ошибок WordPress предотвращается тремя привычками. Первая: регулярный бэкап в облако, UpdraftPlus по расписанию раз в неделю. Вторая: тестовый поддомен для проверки обновлений и новых сниппетов до выкладки на боевой сайт. Третья: правило «не ставить больше 20 плагинов одновременно». По нашей практике, львиная доля ошибок из этого списка случается из-за конфликта плагинов или ручного добавления кода без тестирования. Держите свежий бэкап, и любая ошибка превращается в 10-минутный откат вместо дня паники.

Что делать в первую очередь при любой ошибке WordPress?

Порядок действий: 1) не паниковать и не нажимать всё подряд; 2) включить WP_DEBUG в wp-config.php (define('WP_DEBUG', true);), вы увидите конкретную ошибку вместо белого экрана; 3) деактивировать все плагины (переименовать папку plugins/ через FTP), если ошибка исчезла, виноват плагин; 4) переключиться на стандартную тему (Twenty Twenty-Five), если ошибка исчезла, виновата тема; 5) восстановить сайт из бэкапа, если ничего не помогло. Этот алгоритм решает подавляющее большинство проблем.

Почему мой сайт на WordPress работает медленно, это ошибка?

Медленный сайт, не всегда ошибка в классическом смысле, но это проблема, которую нужно решать. Типичные причины: отсутствие кеширования (установите WP Rocket или W3 Total Cache), неоптимизированные изображения (плагин ShortPixel или EWWW Image Optimizer), дешёвый хостинг с перегруженными серверами, слишком много внешних скриптов (шрифты Google, Facebook Pixel, рекламные сети). Проверьте скорость через PageSpeed Insights и GTmetrix, они укажут на конкретные узкие места.

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

Включайте плагины по одному. Переименуйте папку wp-content/plugins/ в plugins_disabled/, сайт заработал? Создайте новую папку plugins/ и переносите в неё плагины по одному, после каждого проверяя сайт. Нашли виновника, ищите альтернативу или свяжитесь с разработчиком. Для ускорения включайте плагины группами по 5, сужая круг. Процесс занимает 15-20 минут.

Нужно ли нанимать разработчика для исправления ошибок WordPress?

Из 50 ошибок в этой статье 35 решаются без кода и специальных знаний: через настройки админки, замену файла по FTP или установку правильного плагина. Оставшиеся 15 требуют базового понимания PHP и готовности скопировать сниппет в wp-config.php или functions.php. Разработчик нужен в двух случаях: ошибка связана с кастомным кодом, который вы не понимаете, или сайт не заработал после выполнения всех шагов из статьи. В остальном вы справитесь сами.

С чего начать при любой ошибке WordPress

Закрепим главный алгоритм. Увидели ошибку на сайте, действуйте по этой цепочке, и в большинстве случаев проблема решится за 5-10 минут:

  • Бэкап. Если сайт ещё подаёт признаки жизни, сделайте свежий бэкап. UpdraftPlus позволяет сделать это даже из админки.
  • WP_DEBUG. Добавьте define('WP_DEBUG', true); в wp-config.php, вы сразу увидите, какой файл и какая строка вызывают ошибку.
  • Плагины → тема. Деактивируйте всё. Заработало, включайте по одному, найдите виновника.
  • Лимиты PHP. Большинство серверных ошибок решаются поднятием WP_MEMORY_LIMIT до 256M.
  • Бэкап (снова). Ничего не помогло, откатите сайт из бэкапа. Это не поражение, а самый быстрый способ вернуть сайт к жизни.

Держите эту статью в закладках. За время работы с WordPress вы наверняка встретите не одну ошибку из этого списка. И когда это случится, вы уже будете знать, что делать.