
🔧 Как исправить ошибку HTTP в WordPress: полное руководство
Вы загружаете картинку в медиатеку WordPress, а вместо превью, красная плашка «HTTP error». Ни кода ошибки, ни записи в логе, ни намёка на причину.
Это одна из самых неприятных ошибок WordPress именно своей немотой. Вы не знаете, куда смотреть: плагины, память сервера, сам файл или браузерный кеш. Но проблема не уникальна, и сообщество за годы нашло работающие методы, от секундных до серверных. Мы собрали их в один материал: каждый способ с конкретными шагами, кодом и скриншотами.
💡 Быстрый обзор:
- Переименуйте файл строчными латинскими буквами через дефис и загрузите заново
- Очистите кеш браузера или откройте админку в режиме инкогнито
- Увеличьте лимит памяти PHP до 256M через wp-config.php
- Временно отключите все плагины и переключитесь на стандартную тему
- Переключите библиотеку обработки изображений с Imagick на GD Library
Что такое ошибка HTTP в WordPress
HTTP error при загрузке медиафайлов, это общее сообщение, которым WordPress заменяет внятное описание проблемы. В отличие от белого экрана смерти или ошибки подключения к базе данных, сбой загрузки не оставляет записи в журнале PHP.

Чаще всего ошибка возникает при загрузке изображений через стандартный загрузчик, реже, видео или других типов файлов. Причины могут быть десятками: от разрыва соединения с браузером до нехватки оперативной памяти на сервере и конфликта PHP-библиотек.
Главная сложность, отсутствие журнала. Вы видите только надпись «HTTP error» и вынуждены перебирать методы. Ниже они выстроены от простых и безопасных к более глубоким, чтобы вы не потратили лишнего времени.
1. Быстрые базовые исправления
Начните с самого простого. Эти четыре шага не требуют доступа к файлам сайта и закрывают значительную долю случаев.
Обновите страницу или смените браузер
Разрыв соединения между браузером и сервером, кратковременный всплеск нагрузки или истечение сессии WordPress, всё это лечится обновлением страницы. Если после F5 ошибка осталась, откройте админку в режиме инкогнито (Ctrl+Shift+N в Chrome) или в другом браузере. Расширения, устаревший кеш или старая версия браузера иногда вмешиваются в процесс загрузки.

Переименуйте файл изображения
WordPress не любит дубликаты. Если в медиатеке уже есть файл с таким же именем, движок добавляет к новому порядковый номер, но иногда механизм даёт сбой. Решение: переименуйте файл на компьютере перед загрузкой. Используйте строчные латинские буквы и дефисы вместо пробелов, например site-banner-02.jpg вместо Site Banner 02.JPG. Спецсимволы, кириллица в именах и чрезмерно длинные названия тоже могут провоцировать ошибку.
Уменьшите размер файла
Сжатие изображения часто снимает проблему, особенно на недорогих хостингах с ограниченной памятью. Если картинка весит больше 2-3 МБ, пропустите её через компрессор перед загрузкой. Для регулярной работы держите плагин Imagify, он автоматически сжимает изображения при загрузке без заметной потери качества.

Измените формат изображения
WordPress капризно реагирует на определённые форматы: WebP на старых версиях PHP, HEIC с мобильных устройств. Конвертируйте файл в проверенный JPEG или PNG и попробуйте снова. Разница между «не грузится WebP» и «грузится JPG» сразу укажет на проблему.
2. Очистка кеша браузера
Браузерный кеш хранит копии страниц и скриптов для ускорения загрузки, но иногда эти копии конфликтуют с новой версией админки WordPress. Результат: вы жмёте «Загрузить», браузер использует старый скрипт, сервер отвечает ошибкой.
Быстрый способ для конкретной страницы, жёсткая перезагрузка: Ctrl+F5 в Windows/Linux, Cmd+Shift+R в macOS. Не помогло, чистите кеш полностью. Ниже пошаговые инструкции для каждого браузера.
Браузер | Быстрая очистка | Полная очистка |
|---|---|---|
Chrome | Ctrl+F5 | Ctrl+Shift+Del |
Firefox | Ctrl+F5 | Ctrl+Shift+Del |
Safari | Cmd+Shift+R | Cmd+Alt+E (меню Develop) |
Edge | Ctrl+F5 | Ctrl+Shift+Del |
Opera | Ctrl+F5 | Ctrl+Shift+Del |
Google Chrome
В правом верхнем углу нажмите значок с тремя точками (⋮). Выберите «Удаление данных о просмотре» или сразу Ctrl+Shift+Del.

Во вкладке «Основные настройки» отметьте «Изображения и другие файлы, сохранённые в кеше», и больше ничего, если не хотите потерять пароли и историю. Выберите временной диапазон «Всё время» и нажмите «Удалить данные».

Mozilla Firefox
Нажмите значок с тремя линиями (≡) в правом верхнем углу. Выберите «Библиотека», затем «Журнал».

В открывшемся подменю нажмите «Удаление недавней истории».

В появившемся окне выберите временной диапазон «Всё».

В выпадающем списке «Удалить» выберите «Всё», отметьте только «Кеш» и нажмите «ОК».

Safari
Откройте Safari → «Настройки» → вкладка «Дополнения». Включите опцию «Показывать меню разработки в строке меню».

В появившемся меню «Разработка» нажмите «Очистить кеши».
Microsoft Edge
Нажмите три точки (…) в правом верхнем углу и выберите «Параметры».

В разделе «Конфиденциальность, поиск и службы» найдите блок «Удаление данных о просмотре» и нажмите «Выбрать элементы для удаления».

Отметьте «Кешированные изображения и файлы» и нажмите «Удалить сейчас».

Opera
Нажмите значок Opera (O) в левом верхнем углу. Выберите «Дополнительные инструменты» → «Очистить историю посещений».

Выберите диапазон «С самого начала», отметьте «Кешированные изображения и файлы» и нажмите «Удалить данные».
3. Отключение плагинов и темы
Конфликт расширений, частая причина HTTP error. Плагины безопасности и оптимизации изображений наиболее подозрительны: они перехватывают процесс загрузки и могут блокировать его по ошибке.

Самый быстрый способ диагностики: зайдите на сервер по FTP и переименуйте папку /wp-content/plugins/ (например, в plugins_old). WordPress автоматически отключит все плагины. Ошибка исчезла, возвращайте плагины по одному, каждый раз проверяя загрузку, пока не найдёте виновника. То же самое проделайте с папкой темы: временно переключитесь на стандартную тему (Twenty Twenty-Five или актуальную на момент чтения).
Не хотите трогать живой сайт, проделайте диагностику на тестовой копии (staging), а на продакшене отключите только проблемный плагин.
4. Серверные настройки
Если быстрые методы не дали результата, проблема на стороне сервера. Потребуется доступ к файлам сайта: через FTP, файловый менеджер хостинга или SSH.
Увеличьте лимит памяти PHP
Нехватка памяти PHP, едва ли не самая частая причина HTTP error при загрузке медиафайлов. Стандартные 128 МБ, которые выставляет большинство хостингов, легко съедаются при обработке крупного изображения.

Добавьте эту строку в wp-config.php перед комментарием /* That's all, stop editing! */:
1 define('WP_MEMORY_LIMIT', '256M');
Если доступа к wp-config.php нет (некоторые shared-хостинги), ищите раздел «Версия PHP» в панели управления. Там обычно есть настройка memory_limit, выставьте 256M без редактирования файлов.
Альтернативные способы: через php.ini (memory_limit = 256M), через .htaccess (php_value memory_limit 256M) или в cPanel через MultiPHP INI Editor.
Обновите версию PHP
WordPress в 2026 году рекомендует PHP 8.3 как оптимальную версию, минимум, 8.2. Если ваш сайт работает на PHP 7.4 или старее, ошибки при обработке изображений лишь один из симптомов. В cPanel обновление делается в разделе «Выберите версию PHP». Перед обновлением убедитесь, что тема и плагины совместимы, и сделайте бэкап.
Проверьте права доступа к папке загрузок

Папка /wp-content/uploads/ должна иметь права 755 для каталогов и 644 для файлов. Через FTP-клиент: правый клик по папке → «Права доступа» (Permissions) → установите 755 и включите «Применять только к каталогам» с рекурсивным обходом подкаталогов.

Слишком строгие права (ниже 755) блокируют запись, слишком свободные (777), дыра в безопасности.
Временно отключите mod_security
ModSecurity, веб-фаервол на уровне сервера Apache, который иногда ложно срабатывает на безобидные запросы загрузки медиафайлов. Временное отключение модуля покажет, он ли причина.
Добавьте в .htaccess:
1 <IfModule mod_security.c> 2 SecFilterEngine Off 3 SecFilterScanPOST Off 4 </IfModule>
Или через cPanel: раздел «Безопасность» → «ModSecurity» → выключить для домена. После проверки обязательно включите обратно, фаервол защищает сайт от реальных атак.
Переключите библиотеку изображений с Imagick на GD Library
WordPress для обработки изображений использует один из двух PHP-модулей: Imagick или GD Library. Imagick мощнее, но на дешёвых хостингах ему не хватает памяти, и загрузка падает в HTTP error. GD Library скромнее по возможностям, но стабильнее на слабых серверах.
Добавьте этот код в functions.php активной темы:
1 function wpb_image_editor_default_to_gd($editors) { 2 $gd_editor = 'WP_Image_Editor_GD'; 3 $editors = array_diff($editors, array($gd_editor)); 4 array_unshift($editors, $gd_editor); 5 return $editors; 6 } 7 add_filter('wp_image_editors', 'wpb_image_editor_default_to_gd');
Не помогло, удалите код из functions.php.
Ограничьте Imagick однопоточной обработкой
Альтернатива полному отключению Imagick, ограничить его одним потоком, чтобы модуль не обрабатывал несколько изображений одновременно:
1 SetEnv MAGICK_THREAD_LIMIT 1
Строка добавляется в .htaccess в корне сайта. Это снижает нагрузку на память и часто решает проблему без потери возможностей Imagick.
5. Дополнительные методы
Сбросьте пользовательский путь к медиатеке
Зайдите в админку: «Настройки» → «Медиафайлы». Если в поле «Полный путь к файлам» прописан нестандартный путь, удалите его и оставьте поле пустым. WordPress должен хранить загрузки строго в wp-content/uploads. Сторонний путь не распознаётся хостинг-провайдером и ведёт к ошибке.
Импортируйте файлы через Add From Server Reloaded
Когда загрузчик медиатеки не работает, а пост опубликовать нужно срочно, загрузите файлы на сервер по FTP в папку /wp-content/uploads/ и используйте плагин Add From Server Reloaded. Он сканирует папку и импортирует файлы в медиатеку в обход стандартного загрузчика, поддерживает современные версии PHP и активно обновляется (в отличие от оригинального Add From Server, который не получал обновлений с 2020 года).

Это временный обходной путь. Если HTTP error повторяется регулярно, возвращайтесь к серверным настройкам из раздела 4.
Видео: пошаговое исправление ошибки
Посмотрите наглядную демонстрацию методов, от быстрых до серверных:
⁉️🤔 Частые вопросы
Почему WordPress показывает «HTTP error» без подробностей?
Так сложилось исторически. В отличие от белого экрана смерти или ошибки подключения к базе данных, сбой загрузки медиафайла не генерирует запись в журнале PHP. WordPress не знает, что именно пошло не так: разрыв соединения, таймаут скрипта или нехватка памяти выглядят для него одинаково. Отсюда и универсальное «HTTP error» вместо внятного сообщения.
Можно ли просто перезагрузить сервер?
Если у вас VPS или выделенный сервер, да, перезагрузка Apache/Nginx или
php-fpmиногда помогает, особенно когда процессы зависли и съели всю память. На shared-хостинге самостоятельная перезагрузка недоступна: обратитесь в поддержку и попросите проверить нагрузку на вашу учётную запись.
Поможет ли смена хостинга?
Если вы перепробовали все методы из статьи, а ошибка возвращается регулярно на разных изображениях, вероятно, хостинг перегружен, и вашему аккаунту выделено недостаточно ресурсов. Переезд на более мощный тариф или к другому провайдеру (например, с 256 МБ на 512 МБ PHP-памяти) часто закрывает проблему полностью.
Безопасно ли отключать mod_security?
Для диагностики на 10-15 минут, да. Но не оставляйте его выключенным насовсем: mod_security защищает сайт от SQL-инъекций, XSS и других распространённых атак. Если выяснилось, что проблема именно в нём, попросите хостинг-провайдера добавить исключение для конкретного правила, а не отключайте модуль целиком.
С чего начать, если ошибка появилась только что на работающем сайте?
Первым делом, режим инкогнито или другой браузер. Не помогло, переименуйте файл и загрузите заново. Ошибка сохраняется, вспомните, не устанавливали ли вы недавно новый плагин, и отключите его. По нашему опыту, большинство случаев закрывается на первых трёх шагах, без углубления в серверные настройки.
Что делать, если ничего не помогло
Вы прошли все методы, а WordPress упорно отказывается принимать файлы. Это не значит, что вы сделали что-то неправильно. Чаще всего причина в сочетании факторов: слабый хостинг плюс тяжёлая тема плюс несколько плагинов, каждый отъедает по кусочку памяти PHP.
Порядок действий: включите режим отладки WordPress, добавьте в wp-config.php:
1 define('WP_DEBUG', true); 2 define('WP_DEBUG_LOG', true);
Попробуйте загрузить файл ещё раз и проверьте лог /wp-content/debug.log, возможно, там появится конкретная ошибка, не покрытая в статье.
Лог пуст, обратитесь в поддержку хостинга с чётким описанием: «WordPress выдаёт HTTP error при загрузке изображений через медиатеку, лимит памяти PHP 256M, плагины отключались, тема стандартная». Хорошая поддержка посмотрит серверные логи и найдёт причину, невидимую со стороны WordPress.
Если и поддержка не помогла, а сайт на дешёвом shared-тарифе, всерьёз рассмотрите переезд. Разница между хостингом за 3 доллара и за 15 долларов в месяц часто равна отсутствию этой ошибки.



