Если в поиске появляются отдельные страницы изображений вида /attachment/ или URL медиафайлов без полезного контента, их действительно лучше убрать из индекса. Такие страницы редко дают ценность пользователю: на них обычно только картинка, заголовок и стандартная обвязка темы. Для сайта это лишние URL в поиске, а иногда ещё и дубли основной страницы, если вложение привязано к записи.
Задача решается несколькими способами, и выбор зависит от того, что именно вы хотите получить: полностью исключить страницы вложений из индекса, перенаправлять их на сам файл или на родительскую запись, либо просто закрыть от индексации без изменения поведения URL. Ниже — рабочие варианты именно для WordPress.
Что именно нужно закрывать
В WordPress у изображения есть как минимум два адреса:
- сам файл, например
/wp-content/uploads/2026/01/photo.jpg; - страница вложения, которую WordPress создаёт для этого файла, например
/photo/или другой URL в зависимости от структуры сайта.
Проблема обычно связана не с самим файлом изображения, а именно со страницей вложения. Поисковик может индексировать её как отдельную страницу, хотя полезного текста там почти нет. Если у вас в выдаче всплывают такие URL, закрывать нужно именно attachment pages, а не медиафайлы как таковые.
Файлы изображений обычно не закрывают от индексации, если они используются на сайте. Поисковик может показывать их в разделе картинок, и это нормально. Убирать из индекса стоит страницы вложений, а не сами изображения.
Самый практичный вариант: редирект со страницы вложения
Для большинства сайтов лучший способ — не просто запретить индексацию, а отправлять пользователя и поисковый робот со страницы вложения на более полезный адрес. Обычно это либо родительская запись, либо сам файл изображения. Так вы не оставляете в индексе пустую страницу и не плодите бесполезные URL.
В WordPress это можно сделать через код в теме или, что удобнее, через небольшой плагин. Если вы не хотите править шаблоны вручную, используйте сниппет в functions.php дочерней темы или в собственном мини-плагине. Перед изменениями сделайте резервную копию, потому что ошибка в PHP может временно сломать сайт.
Для редиректа на родительскую запись подходит такой код:
add_action( 'template_redirect', function () {
if ( is_attachment() ) {
$parent = wp_get_post_parent_id( get_the_ID() );
if ( $parent ) {
wp_redirect( get_permalink( $parent ), 301 );
exit;
}
}
} );Что здесь происходит: если открыт attachment page, WordPress пытается найти родительскую запись. Если она есть, посетитель уходит на неё с постоянным редиректом 301. Для поисковиков это понятный сигнал, что старый URL больше не нужен.
Если у вложения нет родителя, можно отправлять на сам файл изображения:
add_action( 'template_redirect', function () {
if ( is_attachment() ) {
$file = wp_get_attachment_url( get_the_ID() );
if ( $file ) {
wp_redirect( $file, 301 );
exit;
}
}
} );Этот вариант полезен, когда вложение загружено отдельно и не привязано к записи. Но если у вас много медиафайлов без родителя, лучше сначала решить, нужен ли вам вообще такой тип URL в индексе.
Как закрыть страницы вложений от индексации через SEO-плагин
Если на сайте уже стоит SEO-плагин, проверьте, есть ли в нём настройка для страниц медиафайлов или attachment pages. У многих популярных решений есть возможность отключить индексацию таких страниц или автоматически перенаправлять их. Это удобнее, чем добавлять код вручную, особенно если сайт ведётся не разработчиком.
Смысл настройки один: поисковому роботу не нужно показывать страницу вложения как отдельную посадочную страницу. После отключения индексации поисковик постепенно выкинет такие URL из выдачи, если они не получают внутренних ссылок и не возвращают полезного контента.
Если плагин предлагает выбор между noindex и редиректом, обычно практичнее редирект. noindex убирает страницу из индекса, но сам URL ещё какое-то время может оставаться в обходе поисковика. Редирект быстрее переводит трафик и роботов на полезный адрес.
Когда достаточно noindex, а когда лучше редирект
Оба подхода рабочие, но они решают задачу по-разному.
| Способ | Когда подходит | Что важно учесть |
|---|---|---|
noindex | Нужно убрать страницу из поиска, но оставить URL доступным | Страница остаётся открытой, поисковик должен ещё раз её обойти |
| Редирект 301 | Страница вложения не нужна вообще | Лучше для пользователей и для передачи сигнала поисковику |
Если ваша цель — просто убрать мусорные URL из выдачи, редирект обычно надёжнее. Если по какой-то причине вам нужно сохранить страницу вложения доступной, но не показывать её в поиске, тогда используйте noindex. Для обычного сайта без особых требований я бы выбирал редирект.
Почему не стоит закрывать всё через robots.txt
Иногда советуют просто запретить путь к медиафайлам в robots.txt. Для страниц вложений это не лучший вариант. Запрет в robots.txt мешает поисковику сканировать URL, но не гарантирует удаление из индекса, если на страницу уже есть ссылки или она была проиндексирована раньше.
Кроме того, если вы закроете сам файл изображения, поисковик может хуже понимать контекст страницы, где это изображение используется. Поэтому не смешивайте две разные задачи: страницы вложений убирайте через редирект или noindex, а файлы изображений не трогайте без необходимости.
Как проверить, что страницы вложений действительно закрыты
После настройки не ограничивайтесь визуальной проверкой. Откройте несколько URL вложений вручную и посмотрите, что происходит:
- если настроен редирект, страница должна сразу отправлять на родительскую запись или на файл изображения;
- если стоит
noindex, в исходном коде страницы должен быть мета-тег robots сnoindex; - в поиске старые URL не исчезают мгновенно, им нужно время на переобход.
Проверить редирект можно прямо в браузере или через инструменты разработчика. Если хотите убедиться технически, используйте команду:
curl -I https://example.com/attachment-page/В ответе должен быть код 301 и заголовок Location с новым адресом. Если вместо этого вы видите 200 OK, значит редирект не сработал и нужно искать конфликт с темой, плагином или кэшем.
Если используете кэш-плагин или серверный кэш, после изменений очистите кэш сайта и, при необходимости, кэш на стороне хостинга. Иначе вы можете проверять уже старую версию страницы и решить, что настройка не работает.
Что делать, если страницы вложений уже попали в поиск
Если URL уже в индексе, одного редиректа обычно достаточно, но результат не будет мгновенным. Поисковик должен заново обойти страницу и увидеть, что она больше не является самостоятельной точкой входа. Для ускорения процесса:
- оставьте на странице вложения редирект 301, а не 302;
- уберите внутренние ссылки на такие URL, если они есть;
- не добавляйте их в sitemap;
- проверьте, что страница не отдает 200 OK с пустым контентом.
Если у вас много старых медиа-страниц, можно дополнительно отправить их на переобход через инструменты для вебмастеров в поисковых системах. Но это уже вспомогательный шаг: основное решение всё равно должно быть на стороне WordPress.
Коротко о рабочей схеме
Для обычного WordPress-сайта самый надёжный вариант такой: страницы вложений не оставлять как отдельные страницы, а перенаправлять их на родительскую запись или на сам файл изображения. Если нужен именно запрет на индексацию без редиректа, используйте noindex, но не путайте это с блокировкой в robots.txt.
Так вы уберёте из поиска пустые URL медиафайлов и оставите в выдаче только те страницы, которые действительно полезны посетителю.