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

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

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

Сначала определите, что именно сломано

Под «битыми изображениями» часто понимают разные проблемы, и от этого зависит способ исправления:

  • файл отсутствует на сервере — в HTML есть ссылка на картинку, но по этому пути возвращается 404;
  • ссылка ведёт не туда — изображение было перенесено, переименовано или загружено в другой каталог;
  • файл есть в медиатеке, но нигде не используется — это уже не битое изображение, а мусор, который можно удалить;
  • битая миниатюра — у записи есть изображение, но одна из размеров-копий не сгенерировалась или была удалена.

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

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

Самый практичный способ — просканировать страницы сайта на наличие ссылок, которые возвращают ошибку 404. Для этого подходят онлайн-проверки, десктопные краулеры и плагины для аудита ссылок. Смысл у всех один: они открывают страницы, находят теги <img> и проверяют, отвечает ли файл.

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

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

  • URL изображения, который отдаёт 404 или 410;
  • страницу, где эта ссылка найдена;
  • тип проблемы — отсутствует файл, редирект на неверный адрес, ошибка доступа;
  • количество вхождений одной и той же ссылки на разных страницах.

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

Где в WordPress чаще всего прячутся битые ссылки на картинки

Проблемные изображения не всегда лежат в тексте записи. На практике я проверяю несколько мест.

Записи и страницы

Это самый очевидный источник: картинки в редакторе, галереи, обложки, вставки через HTML, изображения в блоках и классическом редакторе. Если файл удалён, в контенте останется старый путь вида /wp-content/uploads/....

Произвольные поля и поля плагинов

Изображения часто хранятся в метаполях ACF, в настройках слайдеров, карточек, баннеров, блоков конструктора. Здесь ссылка может быть не видна в обычном редакторе, но всё равно ломать страницу.

Тема и шаблоны

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

Медиатека и вложения

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

Как безопасно удалить неиспользуемые изображения

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

Дальше действуйте так:

  1. Соберите список файлов, которые не используются ни в одном контенте и не назначены как миниатюры записей, страниц, товаров или терминов.
  2. Проверьте, нет ли этих файлов в шаблонах темы, виджетах, настройках плагинов и произвольных полях.
  3. Удаляйте сначала один-два файла и сразу проверяйте сайт в браузере, а не чистите всё подряд.
  4. После удаления обновите кэш, если на сайте есть кэш-плагин, серверный кэш или CDN.

Если файл удаляется из медиатеки через админку WordPress, обычно удаляются и связанные размеры изображений. Это безопаснее, чем стирать файлы напрямую по FTP: при ручном удалении легко оставить в базе «хвосты» и сломать ссылки на миниатюры.

Когда лучше не удалять файл сразу

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

  • картинка используется в старых записях, которые редко открывают, но они всё ещё индексируются и приносят трафик;
  • файл назначен как изображение записи или товара, но не вставлен в текст;
  • картинка подключается из CSS или через настройки темы;
  • файл нужен для AMP-версии, мобильного шаблона или отдельного блока плагина;
  • сайт использует CDN, и локально файл не виден, хотя на фронтенде он ещё отдаётся.

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

Как проверить, что проблема действительно устранена

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

Полезно дополнительно проверить:

  • страницы, которые были в отчёте по битым ссылкам;
  • изображения в мобильной версии, если сайт использует отдельные размеры;
  • страницы после очистки кэша;
  • медиатеку: удалённые файлы не должны оставаться в списке как доступные вложения.

Если после удаления картинка всё ещё отображается у части посетителей, почти всегда виноват кэш — браузерный, плагина, сервера или CDN. Сначала очищайте кэш, потом проверяйте повторно.

Что делать, если битых изображений много

Когда проблема массовая, обычно причина не в одном удалённом файле, а в процессе: перенос сайта, смена домена, очистка папки uploads, импорт из другой системы, восстановление из старой копии. В таком случае полезно не только удалить мусор, но и понять источник поломки.

Если изображения массово ведут в никуда после миграции, проверьте, не изменился ли путь к /wp-content/uploads/, не переписались ли URL в базе и не остались ли старые домены в контенте. Если же речь о накопленном мусоре, лучше один раз провести ревизию медиатеки и затем поддерживать порядок регулярно, чем каждый раз искать одиночные битые файлы вручную.

Для сайтов, где контента много и изображения часто дублируются между записями, удобнее использовать инструменты, которые помогают чистить сайт от лишнего и находить дубли. Например, Clearfy Pro от WPShop закрывает часть задач по оптимизации и очистке сайта: https://wpshop.ru/plugins/clearfy. Но даже с такими инструментами принцип остаётся тем же: сначала проверка, потом удаление, и только после этого повторный контроль страниц.

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

⭐⭐⭐⭐⭐