Как найти и удалить битые изображения в WordPress

Если на сайте вместо картинок видны пустые блоки, значки битого изображения или ответы 404, проблема обычно не в самом WordPress, а в том, что где-то остались ссылки на удалённые файлы. Чаще всего это происходит после чистки медиатеки, переноса сайта, смены домена, восстановления из старой резервной копии или ручного удаления файлов через FTP.

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

С чего начать: понять, где именно сломалась ссылка

Битая картинка в WordPress может быть в двух состояниях. Первый вариант — файл отсутствует на сервере, но запись о нём ещё есть в медиатеке. Второй — файл на месте, но на него ссылается старый URL, который уже не совпадает с текущим адресом сайта или путём к загрузкам.

Проверка простая: откройте страницу с проблемной картинкой, нажмите по ней правой кнопкой мыши и скопируйте адрес изображения. Если в браузере по этому адресу открывается 404, значит файл недоступен. Если URL ведёт на другой домен, старый путь или несуществующую папку, проблема в ссылке. Если же файл открывается, а на странице всё равно пусто, стоит смотреть на кэш, lazy load или настройки темы, но это уже не про битые изображения как таковые.

Как быстро найти неработающие изображения на сайте

Самый надёжный способ — пройтись по страницам, где изображения выводятся из контента, и проверить их автоматически. Для небольшого сайта можно обойтись визуальной проверкой и браузерной консолью, но на живом проекте это быстро превращается в ручную рутину. Практичнее использовать инструменты, которые находят 404 по всем URL сайта.

Подходы здесь такие:

  • Сканирование сайта краулером — помогает найти страницы, где есть ссылки на несуществующие изображения.
  • Проверка медиатеки — показывает вложения, у которых файл отсутствует физически.
  • Поиск по базе данных — нужен, если изображения вставлялись в контент, блоки или поля произвольных метаданных.

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

Что искать в отчёте

Ищите URL изображений, которые возвращают 404, 410 или редиректят на несуществующий файл. Отдельно смотрите на картинки, которые грузятся с внешнего домена, если сайт раньше переезжал: после миграции часть ссылок может остаться старой. Для WordPress это особенно заметно в записях, где изображения вставлялись не через медиатеку, а вручную в HTML.

Удаление битых изображений из медиатеки

Если файл уже удалён с сервера, но запись о нём осталась в медиатеке, её можно удалить как обычное вложение. Это не восстановит картинку, но уберёт мусор из админки и сократит риск случайно использовать сломанную запись повторно.

Откройте Медиафайлы → Библиотека, переключитесь на список и проверьте подозрительные элементы. У вложения без файла обычно не будет предпросмотра, а при открытии записи могут появляться ошибки или пустой блок с данными файла. Если таких записей немного, их проще удалить вручную.

Но есть важный нюанс: удаление вложения из медиатеки не исправляет ссылки, которые уже вставлены в записи и страницы. Если картинка использовалась в контенте, после удаления вы просто получите ещё один битый элемент на фронтенде. Поэтому сначала лучше найти все места использования, а потом удалять сам файл или заменять его.

Как массово найти ссылки на удалённые файлы в контенте

Когда битые изображения уже сидят в записях и страницах, ручной поиск по каждой статье неэффективен. Здесь нужен поиск по базе данных. В WordPress изображения часто лежат в полях post_content, в настройках блоков, в метаполях плагинов и в данных конструктора страниц.

Если у вас есть доступ к базе через phpMyAdmin или другой SQL-клиент, можно искать по старому пути к файлам. Например, если вы знаете папку или имя удалённого изображения, ищите его фрагмент в контенте и метаполях. Для обычных записей и страниц это делается по таблице wp_posts, но префикс таблиц у вас может отличаться.

Пример запроса для поиска упоминаний конкретного файла в контенте:

SELECT ID, post_title, post_type, post_status<br>FROM wp_posts<br>WHERE post_content LIKE '%old-image.jpg%';

Если картинка могла быть сохранена в произвольных полях, дополнительно ищите по wp_postmeta:

SELECT post_id, meta_key, meta_value<br>FROM wp_postmeta<br>WHERE meta_value LIKE '%old-image.jpg%';

Эти запросы не меняют данные, они только показывают, где встречается нужная строка. Но перед любыми массовыми правками базы стоит сделать резервную копию: при неаккуратной замене можно задеть не только изображения, но и другие поля с похожими URL.

Массовая замена битых ссылок на рабочие

Если изображение нужно не удалить, а заменить на новое, лучше менять ссылку централизованно, а не править каждую страницу отдельно. Это особенно полезно после переезда на новый домен, смены структуры загрузок или восстановления сайта из старого бэкапа.

Безопасный вариант — сначала найти все вхождения старого URL, а потом заменить их на новый. Для этого подходят инструменты, которые умеют работать с сериализованными данными WordPress. Обычная замена в базе через SQL REPLACE() может повредить значения в некоторых полях, если там есть сериализованные массивы. Поэтому для массовой замены лучше использовать специализированный инструмент миграции или плагин, который понимает структуру данных WordPress.

Если замена нужна только в контенте записей и страниц, можно править их через редактор блоков или через массовое редактирование в админке. Но если сломанные ссылки сидят в настройках темы, виджетах или полях конструктора, ручная правка уже не спасает — там нужен поиск по базе или функция массовой замены, которая работает по всему сайту.

Когда изображение лучше удалить, а когда заменить

СитуацияЧто делать
Файл удалён случайно, но картинка нужна на сайтеЗагрузить новый файл и заменить ссылку везде, где он использовался
Изображение устарело и больше не нужноУдалить ссылку из контента и убрать запись из медиатеки, если она осталась
Сломаны десятки страниц после переездаСначала массово заменить старые URL, потом проверить остатки
В медиатеке есть «пустые» вложения без файлаУдалить такие записи после проверки, что они нигде не используются

Главное правило простое: не удаляйте вложение только потому, что оно выглядит лишним в медиатеке. Сначала убедитесь, что его нет в контенте, шаблонах и настройках. Иначе можно убрать рабочую картинку, которая просто не отображается в списке из-за фильтра или особенностей плагина.

Как проверить, что битые изображения действительно исчезли

После удаления или замены откройте несколько страниц, где раньше были проблемы, и проверьте их в обычном режиме и в режиме инкогнито. Так вы исключите влияние кэша браузера. Затем обновите кэш сайта, если он есть: плагин кэширования, серверный кэш или CDN могут продолжать отдавать старую версию страницы.

Полезно ещё раз пройтись по сайту краулером или хотя бы проверить список URL из старого отчёта. Если все проблемные адреса теперь отдают 200 и на страницах отображаются реальные изображения, задача решена. Если часть ссылок всё ещё ведёт на 404, значит они сидят в другом месте: в шаблоне, в блоке повторного использования, в настройках темы или в данных одного из плагинов.

Что обычно мешает найти проблему с первого раза

Частая ошибка — искать только в медиатеке и забывать про контент. В WordPress картинка может быть вставлена как обычный HTML-тег, как блок изображения, как фон секции, как элемент слайдера или как поле в настройках темы. Вторая типичная ошибка — менять URL вручную в одном месте и не проверять остальные вхождения. В результате одна страница начинает работать, а другая остаётся с битой ссылкой.

Ещё один момент — внешние изображения. Если сайт тянет картинки с другого домена, они могут исчезнуть не из-за WordPress, а из-за закрытого доступа, смены структуры URL или удаления файла на стороне источника. В таком случае удаление записи в WordPress ничего не исправит: нужно либо загрузить изображение к себе, либо заменить ссылку на локальный файл.

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

Как создать собственный тип данных (Custom Post Type) в WordPress
18.09.2026
Как использовать WPCommunity для создания сообщества на WordPress
02.10.2026
Как избежать конфликтов между WooCommerce и плагинами: практическое руководство
14.09.2026
Как создать динамическую форму обработки данных в WordPress с примером кода
29.09.2026
Как найти и убрать дубли страниц в WordPress без потери индексации
15.08.2026