404 на изображениях в WordPress обычно появляются не из-за одной ошибки, а из-за цепочки мелких проблем: файл удалили вручную, картинку подменили в медиатеке, тема тянет старый размер, а в контенте остались абсолютные ссылки на старый домен или CDN. В итоге страдают и пользователи, и логика индексации, и отчёты в Search Console.
Если на сайте уже есть поток контента, искать такие ошибки вручную бессмысленно. Нужен короткий процесс: сначала найти источник битых URL, потом исправить массово, затем закрыть дыру на уровне шаблонов и загрузки медиа.
Как понять, что проблема именно в изображениях
Первые признаки обычно видны без инструментов: в карточках записей пустые превью, в редакторе часть медиа не открывается, а в логах сервера повторяются запросы к /wp-content/uploads/... с ответом 404. Но важно отличить удалённый файл от неверной ссылки.
Что проверить в первую очередь
- Откройте проблемную страницу и посмотрите, грузится ли изображение напрямую по URL из HTML.
- Проверьте медиатеку: файл может быть на месте, а ссылка в записи — старой.
- Посмотрите отчёт 404 в плагине логирования или в логах веб-сервера.
- Если используется CDN, проверьте, не осталась ли ссылка на старый домен или старый путь.
Если 404 идут только на старые размеры вроде -768x512 или -scaled, проблема часто в том, что тема или контент ссылаются на несуществующий размер, который был удалён после смены настроек изображений.
Диагностика: где искать источник битых ссылок
Самая частая ошибка — искать только в базе постов. На практике изображения могут быть прописаны в нескольких местах: в post_content, в метаполях страницы, в настройках темы, в виджетах и в блоках редактора. Если сайт старый, часть ссылок может жить в старых шорткодах или в HTML, вставленном вручную.
Для быстрой проверки удобно выгрузить список URL изображений и прогнать его через поиск по базе. Если есть доступ к WP-CLI, это делается быстрее всего.
wp db search 'wp-content/uploads' --all-tables --format=tableКоманда покажет, в каких таблицах встречаются ссылки на uploads. Это не заменяет полноценную проверку, но быстро подсказывает, где искать: в постах, метаданных или настройках.
Если WP-CLI недоступен, можно использовать поиск по базе через phpMyAdmin, но тогда важно не править данные вручную без бэкапа. Для массовых замен лучше сначала сделать экспорт таблиц, а уже потом менять ссылки.
Пошаговое решение: от массовой замены до защиты шаблонов
Ниже рабочая схема, которая подходит для большинства сайтов на WordPress.
Шаг 1. Найдите и замените старые URL
Если изображения переехали на новый домен, CDN или в другой каталог, сначала замените старые адреса на новые. Делать это нужно аккуратно: обычный SQL UPDATE может сломать сериализованные данные. Безопаснее использовать инструмент, который понимает структуру данных WordPress.
Если нужен именно CLI-вариант, используйте wp search-replace с режимом dry-run перед реальной заменой:
wp search-replace 'https://old-site.ru/wp-content/uploads' 'https://new-site.ru/wp-content/uploads' --all-tables --dry-runЕсли результат выглядит нормально, запускайте без --dry-run. Перед этим обязательно сделайте резервную копию базы.
Шаг 2. Проверьте вложения в медиатеке
Иногда файл в базе есть, а физически его нет. Такое бывает после ручной очистки uploads, миграции без медиа или сбоя синхронизации с облачным хранилищем. В этом случае замена ссылок не поможет: нужно восстановить файл или заменить его в записи.
Если у вас много контента, удобнее сначала собрать список битых вложений через плагин для проверки медиа, а потом точечно восстановить только нужные файлы. Полная пересборка медиатеки без понимания причин часто создаёт новые проблемы.
Шаг 3. Исправьте шаблоны темы и блоки
Если 404 появляются на всех страницах одного типа, причина может быть в шаблоне. Например, тема выводит миниатюру через старый размер изображения, который больше не регистрируется. В таком случае править нужно не записи, а код темы или дочерней темы.
Пример безопасной проверки: сначала убедитесь, что размер существует, а потом выводите его с fallback на стандартный размер.
if ( has_post_thumbnail() ) {
the_post_thumbnail( 'medium_large' );
}Если вы используете кастомный размер, проверьте, что он зарегистрирован через add_image_size() и не удалён после обновления темы.
Шаг 4. Закройте повторное появление 404
Когда источник найден, важно не только исправить текущие ссылки, но и убрать причину повторения. Для этого проверьте:
- не удаляются ли изображения вручную из
uploadsбез замены в контенте; - не меняется ли структура URL после миграции;
- не генерирует ли плагин оптимизации новые размеры, которые потом удаляются;
- не тянет ли тема старые пути к логотипу, иконкам или фоновым изображениям.
Если сайт регулярно публикует AI-контент через WPGPT, полезно сразу задать правило: изображения вставляются только через медиатеку WordPress, а не через жёстко прошитые внешние URL. Тогда при переносе сайта или смене CDN исправлять ссылки будет проще. Для редакционных потоков это особенно важно: AI-текст может быть быстро обновлён, а битая картинка останется в индексе и в кеше надолго.
Как проверить, что решение сработало
Проверка должна быть не визуальной, а технической. Откройте несколько проблемных страниц и убедитесь, что изображения отдают статус 200, а не 404. Если есть доступ к терминалу, можно быстро проверить конкретный URL через curl:
curl -I https://example.ru/wp-content/uploads/2026/01/image.jpgВ ответе должен быть HTTP/2 200 или HTTP/1.1 200 OK. Если видите редирект на несуществующий путь или 404, проблема ещё не закрыта.
Дополнительно проверьте:
- отчёт 404 в логах сервера за последние дни;
- страницы в Search Console, если они уже успели попасть в ошибки сканирования;
- кеш-плагин и CDN: старый битый URL может продолжать отдаваться из кеша.
Сравнение подходов: плагин, код или ручная правка
| Подход | Когда подходит | Минус |
|---|---|---|
| Плагин для поиска и замены | Миграция, смена домена, массовые старые ссылки | Нужно проверять сериализованные данные и делать бэкап |
| Код в теме или дочерней теме | Ошибка в шаблоне, старый размер изображения, логотип, фон | Требует доступа к коду и понимания, где именно сломан вывод |
| Ручная правка в записи | Одна-две проблемные страницы | Не масштабируется и легко пропустить дубли |
Если задача не разовая, а сайт регулярно растёт, лучше сразу выстроить процесс через медиатеку, шаблоны и проверку ссылок после публикации. Ручная правка годится только как временная мера.
Частые ошибки и как их исправить
Удалили файл, но не заменили ссылку в контенте
Это классический случай. Файл исчезает из uploads, а HTML в записи остаётся прежним. Исправление простое: восстановить файл из бэкапа или заменить URL в базе через безопасный search-replace.
Меняли домен или CDN без массовой замены
После миграции старые абсолютные ссылки продолжают вести на прежний адрес. Особенно часто это видно в старых записях и в блоках, вставленных как HTML. Решение — массовая замена с проверкой dry-run.
Сломались размеры изображений после обновления темы
Тема перестала регистрировать старый размер, а контент всё ещё на него ссылается. Здесь нужно либо вернуть размер в код, либо пересоздать миниатюры и обновить вывод в шаблоне.
Кеш скрывает проблему
Иногда изображение уже исправлено, но CDN или кеш-плагин продолжает отдавать старый 404. Очистите кеш на всех уровнях: плагин, сервер, CDN, браузер.
Практические советы по безопасности и производительности
Любая массовая операция с медиа и базой должна идти после резервной копии. Это не формальность: при неудачной замене URL можно повредить не только картинки, но и настройки темы, виджеты и данные плагинов.
Для производительности полезно периодически проверять, не создаёт ли тема лишние размеры изображений. Чем больше промежуточных файлов, тем выше шанс получить мусор в uploads и случайные 404 после чистки. Если используете плагины оптимизации, не удаляйте размеры, которые реально выводятся в шаблонах.
Если в проекте есть AI-поток контента через WPGPT, удобно сразу встроить контроль качества: перед публикацией проверять, что все изображения добавлены через медиатеку, а не вставлены внешним URL. Это снижает риск битых ссылок после переноса сайта и упрощает поддержку.
Когда проблема повторяется регулярно, имеет смысл подключить инструменты для технической чистки сайта и контроля дублей, например Clearfy Pro, но только как часть процесса, а не как замену диагностике. Сам по себе плагин не угадает, почему конкретный URL стал 404.
Короткий чек-лист перед публикацией
- Проверить, что изображение открывается по прямому URL.
- Убедиться, что в записи нет старых абсолютных ссылок.
- Очистить кеш WordPress, сервера и CDN.
- Проверить, что тема использует существующий размер изображения.
- Сделать повторную проверку через
curl -Iили браузерный инспектор.
Если после всех правок 404 остаются только на отдельных старых URL, не спешите удалять их бездумно. Иногда лучше поставить 301-редирект на актуальную картинку или на релевантную страницу, чем оставлять пустой ответ и терять трафик из старых ссылок.