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

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

Закрыть вложения от индексации можно разными способами: через редирект на сам файл или родительскую запись, через плагин SEO, через robots.txt или через мета-тег noindex. На практике самый надежный вариант — не оставлять attachment pages доступными для индексации вообще, а при необходимости еще и перенаправить их на изображение или статью.

Когда attachment pages действительно вредят SEO

Проблема не в самих изображениях, а в страницах, которые WordPress генерирует вокруг них. На такой странице обычно мало текста, нет самостоятельной ценности и часто есть только картинка, заголовок и стандартная тема оформления. Для поиска это слабая страница, которая легко становится дублем или «тонкой» страницей.

Закрывать вложения имеет смысл, если:

  • на сайте много изображений, а attachment pages не несут отдельной пользы;
  • в поиске уже есть страницы вида /attachment/... или медиа-URL с индексируемыми страницами вложений;
  • вы не используете attachment pages как отдельные посадочные страницы;
  • на сайте есть дубли: одна и та же картинка доступна и как файл, и как страница вложения, и через превью в записи.

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

Самый безопасный способ: перенаправить страницы вложений

Для большинства сайтов лучший вариант — не просто закрыть attachment pages, а сделать 301-редирект. Тогда пользователь и робот не попадут на пустую страницу, а сразу окажутся на родительской записи или на самом файле изображения.

Если у вас уже есть SEO-плагин, проверьте, умеет ли он отключать attachment pages. Во многих случаях это делается без кода. Но если нужен точечный и предсказуемый вариант, можно добавить небольшой код в functions.php дочерней темы или в собственный мини-плагин.

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

Этот код перенаправляет страницу вложения на родительскую запись, а если родителя нет — на сам файл изображения:

add_action( 'template_redirect', function () {
    if ( is_attachment() ) {
        $parent_id = wp_get_post_parent_id( get_queried_object_id() );

        if ( $parent_id ) {
            wp_redirect( get_permalink( $parent_id ), 301 );
            exit;
        }

        $file_url = wp_get_attachment_url( get_queried_object_id() );
        if ( $file_url ) {
            wp_redirect( $file_url, 301 );
            exit;
        }
    }
} );

Что здесь важно: is_attachment() срабатывает только на страницах вложений, wp_get_post_parent_id() ищет родительскую запись, а wp_redirect() делает постоянный редирект. Для SEO это обычно лучше, чем оставлять пустую страницу с noindex, потому что URL перестает быть отдельной сущностью для индексации.

Как закрыть вложения от индексации без кода

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

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

Если в плагине есть выбор между редиректом и noindex, для обычного сайта чаще лучше редирект. noindex оставляет URL доступным, а значит, страница все равно может обходиться роботами. Это не критично, но менее чистое решение, чем 301-редирект.

Почему robots.txt — не лучший способ для этой задачи

Иногда пытаются закрыть attachment pages через robots.txt. Для этой задачи это слабый вариант. Запрет в robots.txt мешает обходу, но не гарантирует удаление URL из индекса, если поисковик уже знает адрес и получил его из внешних или внутренних ссылок.

Кроме того, robots.txt не решает проблему дубля как таковую. Страница остается на сайте, а поисковик просто не всегда может ее переобойти. Если цель — убрать вложения из поиска, лучше использовать редирект или noindex на уровне страницы.

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

После настройки проверьте несколько типичных URL вложений:

  • откройте страницу вложения в браузере и убедитесь, что она редиректит на запись или файл;
  • посмотрите код ответа сервера — для редиректа должен быть 301;
  • проверьте исходный код страницы, если вы использовали noindex: в <head> должен быть мета-тег robots с noindex;
  • в панели вебмастера поисковой системы отправьте URL на повторную проверку, если страница уже была в индексе.

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

Что выбрать в реальном проекте

СценарийЧто делатьПочему
Обычный блог или корпоративный сайтРедирект attachment pages на родительскую запись или файлУбирает пустые URL из индекса и не оставляет дубль
Нужно быстро закрыть без кодаВключить настройку в SEO-плагинеПодходит владельцу сайта без правок темы
Есть отдельные полезные страницы вложенийНе закрывать автоматически, а проверить каждую страницуНекоторые attachment pages могут быть полезны для поиска
Используется только robots.txtЛучше заменить на редирект или noindexЗапрет обхода не равен удалению из индекса

Если сайт небольшой и attachment pages нигде не используются, не усложняйте решение. Самый практичный вариант — редирект и проверка, что старые URL больше не отдают отдельную страницу вложения. Если же у вас уже есть SEO-плагин, сначала посмотрите его настройки: часто этого достаточно, чтобы закрыть вложения без ручного кода.

В итоге задача сводится к одному: не оставлять WordPress-медиа как отдельные пустые страницы в поиске. Для большинства проектов это улучшает структуру индекса и убирает лишние дубли, не затрагивая сами изображения и записи.

Как создать автоматический импорт данных из Excel в WordPress с примерами кода
27.09.2026
Запрет на регистрацию по email-домену в WordPress
29.09.2026
Оптимизация базы данных WordPress: как ускорить сайт и уменьшить нагрузку
25.09.2026
Оптимизация загрузки шаблонов и стилей в WordPress: практические решения
25.09.2026
Как установить и настроить Redis кэш в WordPress для ускорения сайта
28.09.2026