Признаки
- При загрузке в «Медиафайлы» появляется «Ошибка HTTP» без пояснений.
- Сообщение «Не удалось записать файл на диск» или «Не удалось переместить загруженный файл в wp-content/uploads».
- «Размер загружаемого файла превышает максимально допустимый для этого сайта».
- Файл загрузился, но в медиабиблиотеке вместо картинки серый квадрат, а на страницах картинки не видны.
Шаг 1. Размер и формат файла
Внизу экрана «Медиафайлы → Добавить новый» WordPress пишет максимальный размер загрузки. Его задают две настройки PHP: upload_max_filesize и post_max_size (вторая должна быть не меньше первой). Меняют их в панели хостинга, в разделе версии и настроек PHP.
Попробуйте загрузить маленький JPG. Если он проходит, а большой нет, дело в лимите. Фото с телефона в формате HEIC WordPress не принимает: сохраните их в JPG. WebP поддерживается с WordPress 5.8, но только если библиотека изображений на сервере его умеет (шаг 3).
Не хотите разбираться сами? Пришлём оценку в часах до начала работы, первая задача до 2 часов бесплатно.
Отправить задачуШаг 2. Права на папку и свободное место
Файлы складываются в wp-content/uploads/год/месяц/. Пользователь, от которого работает веб-сервер или PHP, должен иметь право записи в эту папку. Обычно на папки стоят права 755, на файлы 644, а владелец — пользователь сайта на хостинге. Права 777 не ставьте: это открывает папку для записи всем процессам на сервере.
Проверьте свободное место на тарифе хостинга. Когда диск заполнен, WordPress пишет ту же ошибку «Не удалось записать файл».
Ещё одна причина после переноса сайта: в «Настройки → Медиафайлы» или в базе остался путь к папке загрузок со старого сервера. Поле «Хранить файлы в этой папке» должно быть пустым или указывать на wp-content/uploads.
Шаг 3. Память PHP и обработка изображений
После загрузки WordPress нарезает картинку на несколько размеров. На больших фото PHP может не хватить памяти, и вместо понятной ошибки появляется «Ошибка HTTP». Лимит памяти задаётся в wp-config.php:
define( 'WP_MEMORY_LIMIT', '256M' );Хостинг может ограничивать память сильнее, тогда лимит поднимают в его панели. Обработкой занимается библиотека Imagick или GD. Какая из них работает, видно в «Инструменты → Здоровье сайта → Информация → Медиа». Если Imagick есть, но падает на больших файлах, WordPress можно переключить на GD небольшим плагином или кодом в теме. Это задача для разработчика.
Шаг 4. Плагины оптимизации и защиты
Плагины сжатия картинок, конвертации в WebP, CDN и защиты перехватывают загрузку. Отключите их по одному и после каждого пробуйте загрузить файл. Если после отключения плагина загрузка заработала, проверьте его настройки или обновите его. Временно переключите тему на стандартную: тема тоже может менять обработку загрузок.
Если ошибка началась сразу после обновления, смотрите разбор сайт на WordPress сломался после обновления.
Шаг 5. Картинки загружены, но не показываются
Если файлы есть в wp-content/uploads, а на страницах их нет, чаще всего дело в адресе сайта. После переноса или перехода на HTTPS ссылки на картинки в базе остались старыми: со старого домена или с http://. Браузер блокирует такие картинки на защищённой странице, подробнее в разборе смешанное содержимое, сайт не защищён. Адреса в базе заменяют утилитой поиска и замены с учётом сериализованных данных, а не простым запросом SQL.
Когда нужен специалист
- Нет доступа к настройкам PHP или к файлам на сервере.
- Загрузка ломается на любом файле, а журнал ошибок PHP пуст или непонятен.
- Нужно заменить адреса картинок в базе после переноса, и не хочется рисковать данными.
Если вместо сайта вы видите сообщение о критической ошибке, начните с разбора критическая ошибка на сайте WordPress.
Сколько стоит у нас
| Задача | Время | Стоимость |
|---|---|---|
| Исправление ошибки | 1–2 ч | 3 800–7 600 ₽ |
Диапазоны ориентировочные, ставка 3 800 ₽ в час. Точную оценку присылаем до начала работ. Все цены.
Опишите проблему в форме. Пришлём оценку в часах до начала работы, первая задача до 2 часов бесплатно для новых клиентов.
Отправить задачуЧастые вопросы
Почему раньше загружалось, а теперь «Ошибка HTTP»?
Обычно меняется что-то одно: хостинг обновил PHP и сбросил лимиты, закончилось место на диске, обновился плагин оптимизации или фото стали больше, например с нового телефона. Пройдите шаги 1–4 по порядку.
Можно просто поставить права 777 на uploads?
Не стоит. Загрузка, скорее всего, заработает, но в папку сможет писать любой процесс на сервере, и это частый путь заражения сайта. Правильно поменять владельца папки на пользователя сайта и оставить права 755.
Почему картинка загрузилась, но в библиотеке серый квадрат?
Файл сохранился, но не создались уменьшенные копии: PHP не хватило памяти или библиотека изображений не справилась с форматом. Смотрите шаг 3.