Главная/Ошибки/Картинки не грузятся

Не загружаются картинки WordPress: причины и решение

Картинки WordPress не загружаются или не показываются по четырём причинам: сервер не может записать файл в wp-content/uploads, PHP упирается в лимиты, в записях остались адреса с http или старый домен, либо картинки перехватывает кэш. Первые две ломают загрузку, остальные ломают показ на сайте.

5 мин чтенияДанные проверены 20 октября 2026

Ответ за 30 секунд

Сначала определите, что ломается: загрузка в «Медиафайлы» или показ на сайте. Загрузка упирается в права на wp-content/uploads и лимиты PHP, показ в старые адреса с http и в кэш. По документации WordPress папкам нужны права 755, файлам 644, а 777 ставить нельзя.

Диски NVMe и бесплатный SSL-сертификат на всех тарифах, Year от 316 ₽ в месяц при оплате за год (Таймвеб, на 20 октября 2026).

Какая у вас проблема: картинка не загружается или не показывается

Инструмент · 1 мин

Какая у вас проблема: картинка не загружается или не показывается#

Жалоба «картинки не грузятся» описывает две разные поломки. Одна возникает, когда вы добавляете файл. Другая, когда посетитель открывает страницу. Лечат их по-разному.

СимптомПричинаКуда смотреть
«The uploaded file could not be moved to …»Нет прав записи в папкуПрава на папки
«Unable to create directory»Сервер не может создать папку месяцаПрава на папки
Загрузка обрывается на тяжёлых фотоЛимиты PHP или нехватка памяти при обработкеЛимиты PHP
В записях битые картинки, в «Медиафайлах» целыеАдреса с http, старый домен или кэшАдреса и кэш
Нет миниатюр нужного размераРазмеры не созданыМиниатюры

Где ломаются картинки на вашем сайте

Выберите симптом, ответ укажет причину и первый шаг

Что происходит

02 · 1 мин

Как исправить права на wp-content/uploads#

WordPress сохраняет загрузки в папку wp-content/uploads от имени процесса веб-сервера. Если у процесса нет права писать в папку, загрузка заканчивается сообщением «could not be moved» или «Unable to create directory». В документации WordPress сказано, что wp-content рассчитан на запись и от вашей учётной записи, и от процесса веб-сервера.

  1. Проверьте, что папка есть: wp-content/uploads в корне сайта.
  2. Поставьте права 755 на папки и 644 на файлы. В FTP-клиенте это правый клик по папке и пункт прав доступа, с применением только к папкам.
  3. Не ставьте 777. Запись открыта всем, и это дыра в безопасности.
  4. Загрузите тестовую картинку и посмотрите, появилась ли папка текущего месяца.

Если есть доступ по SSH, права выставляют двумя командами из документации WordPress:

find /путь/к/сайту/ -type d -exec chmod 755 {} \;
find /путь/к/сайту/ -type f -exec chmod 644 {} \;

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

03 · 1 мин

Какие лимиты PHP обрывают загрузку больших картинок#

Под областью загрузки в «Медиафайлах» указан максимальный размер файла. Он равен меньшему из двух значений PHP: upload_max_filesize и post_max_size. Сообщение «exceeds the upload_max_filesize directive» подтверждает, что дело в нём.

  • upload_max_filesize и post_max_size. Меняются в разделе настроек PHP в панели хостинга. post_max_size держите не меньше первого значения.
  • memory_limit. Фото в 12 мегапикселей в распакованном виде занимает около 48 МБ (4 байта на пиксель), хотя файл весит в разы меньше. Подробности про константу WP_MEMORY_LIMIT: wp-config.php.
  • Время выполнения. Если загрузка обрывается по таймеру, упирается max_execution_time. Сжатие картинки до загрузки обходит и этот лимит.

Чем меньше исходные файлы, тем реже вы упираетесь в лимиты и тем быстрее открываются страницы: см. оптимизацию картинок в WordPress.

04 · 1 мин

Почему картинки пропали после перехода на https или смены домена#

WordPress записывает в текст каждой записи полный адрес картинки. Когда сайт переехал на https или сменил домен, в записях остался прежний адрес. Браузер блокирует или не обновляет такие картинки на странице с https (это называется смешанным содержимым), а при старом домене не находит их вовсе. Откройте консоль браузера по клавише F12: там перечислены адреса, на которые он ссылается.

  1. Сделайте копию базы через phpMyAdmin или плагин резервного копирования.
  2. Выставьте https в «Настройки», «Общие» в обоих полях адреса.
  3. Замените старый адрес на новый во всей базе. Простая замена SQL ломает сериализованные данные, поэтому используйте WP-CLI или плагин Better Search Replace.
  4. Сбросьте кэш сайта и CDN, затем проверьте страницу в окне инкогнито.
wp search-replace 'http://example.com' 'https://example.com' --skip-columns=guid --dry-run

Флаг --dry-run только покажет, сколько замен будет. Уберите его, когда число вас устроит. Столбец guid не меняют: это идентификатор записи, а не ссылка. Копии базы посвящена статья резервные копии WordPress.

05 · 1 мин

Что делать, если картинки загружены, но нужных размеров нет или их скрывает кэш#

WordPress при загрузке создаёт несколько размеров картинки с помощью библиотеки GD или Imagick. Если библиотеки нет или нехватило памяти, остаётся только оригинал. Какая библиотека работает, видно в «Инструменты», «Здоровье сайта», вкладка «Информация», раздел обработки медиафайлов.

Размеры уже загруженных картинок пересоздаёт команда wp media regenerate --yes или плагин Regenerate Thumbnails. Команде нужен доступ по SSH.

Если все файлы целые, а на сайте пусто, виноваты оптимизаторы. Отложенная загрузка, конвертация в WebP и CDN переписывают адреса картинок. Выключите их на несколько минут, очистите кэш и проверьте страницу. Если картинки вернулись, настройте исключения: как работает кэш, объясняет раздел кэширование WordPress.

06 · 1 мин

Вопросы о том, почему не грузятся картинки в WordPress#

Какие права нужны папке wp-content/uploads, чтобы картинки загружались?

По документации WordPress, папкам нужны права 755, файлам 644. Процесс веб-сервера должен иметь право записи, 777 ставить не надо.

Почему картинки WordPress не загружаются в «Медиафайлы» и пишут HTTP error?

Чаще всего не хватает памяти или времени при обработке большого фото. Сожмите картинку, поднимите memory_limit и upload_max_filesize в панели и проверьте журнал ошибок.

Как исправить картинки WordPress после перехода с http на https?

Поставьте https в настройках сайта и замените старые адреса в базе командой wp search-replace с флагом --skip-columns=guid, предварительно сделав копию базы.

Почему на сайте не отображаются картинки, а в «Медиафайлах» они есть?

Адрес в записи указывает на старый домен или http, либо картинку скрывает кэш, CDN или плагин с отложенной загрузкой. Очистите кэш и проверьте адреса в консоли браузера.

Почему этому можно верить

Как мы проверяли

Документация WordPress и провайдеровШаги и требования сверены с документацией, дата указана.
Всё можно повторитьКоманды и шаги установки описаны так, что их повторит любой читатель.
Независимый справочникНе связан с хостингами и пишет о подводных камнях тоже.

Источники цифр на этой странице: Виртуальный хостинг Таймвеб, timeweb.com/ru/services/hosting, проверено 20 октября 2026; Документация WordPress, ru.wordpress.org/support, проверено 20 октября 2026; Документация WordPress: усиление защиты, developer.wordpress.org/advanced-administration/security/hardening, проверено 20 октября 2026.

WBРедакция WPBase · обновлено 20 октября 2026

Разместите сайт на WordPress

Виртуальный хостинг Таймвеб от 316 ₽ в месяц: NVMe-диски, бесплатный SSL, домен .RU в подарок и 10 дней на тест.

  • Тарифы от 316 ₽ в месяц
  • Бесплатный SSL и DNS
  • Домен .RU или .РФ в подарок
  • Бесплатный перенос сайта
Симптомы