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

Страницы вложений в WordPress часто появляются в индексе незаметно: медиафайл загружается в библиотеку, у него есть отдельный URL, а тема или SEO-плагин автоматически выводят на него страницу-обертку. На небольших сайтах это редко заметно, но на контентных проектах такие URL быстро превращаются в мусорный слой в индексе: дубли, пустые страницы без текста, лишние переходы из поиска и размывание сигналов для основных материалов.

Если задача именно в том, чтобы убрать из индекса attachment pages, важно не путать их с самими файлами изображений. Картинки, PDF и другие медиафайлы обычно должны оставаться доступными по прямой ссылке. Закрывать нужно именно HTML-страницы вложений, а не сами файлы.

Как понять, что проблема именно в страницах вложений

Сначала проверьте, что именно индексируется. В поиске это обычно выглядит так: в выдаче есть URL вида /sample-image/, /photo-1/ или похожие страницы, а не сам файл .jpg или .pdf. В Google Search Console такие URL часто попадают в отчет по страницам с низкой ценностью или как обнаруженные, но не проиндексированные, если на них мало ссылок.

Признаки, которые можно проверить руками

  • Откройте страницу вложения в браузере и посмотрите, есть ли там только изображение, заголовок и почти пустой шаблон.
  • Проверьте исходный код: есть ли <link rel="canonical" на саму страницу вложения или на родительскую запись.
  • Посмотрите, не ведут ли на attachment URL внутренние ссылки из медиатеки, sitemap или хлебных крошек.
  • Проверьте, не создает ли SEO-плагин отдельную карту сайта для медиа-страниц.

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

Какие есть варианты решения

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

СпособКогда подходитКомпромисс
Настройка SEO-плагинаЕсли нужен быстрый и безопасный способ без правки темыЗависит от конкретного плагина и его логики
Редирект attachment на parentЕсли страницы вложений не нужны пользователям и поискуНужно аккуратно обработать вложения без родителя
Код в теме или mu-pluginЕсли нужен полный контроль и предсказуемое поведениеТребует тестирования после обновлений

Если на сайте уже используется Clearfy Pro, часть таких задач можно закрыть через его инструменты для технической чистки и удаления дублей. Но даже в этом случае полезно понимать, что именно происходит на уровне WordPress, чтобы не сломать нужные URL.

Пошаговое решение через код

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

1. Добавьте редирект для страниц вложений

<?php
add_action( 'template_redirect', function () {
    if ( ! is_attachment() ) {
        return;
    }

    $parent_id = wp_get_post_parent_id( get_queried_object_id() );

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

    $file_url = wp_get_attachment_url( get_queried_object_id() );

    if ( $file_url ) {
        wp_safe_redirect( $file_url, 301 );
        exit;
    }

    wp_safe_redirect( home_url( '/' ), 301 );
    exit;
} );

Этот код можно положить в functions.php дочерней темы, но для стабильности лучше вынести его в небольшой mu-plugin. Тогда он не исчезнет при смене темы.

2. Закройте attachment pages от индексации, если они все же доступны

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

<?php
add_filter( 'wp_robots', function ( array $robots ) {
    if ( is_attachment() ) {
        $robots['noindex']  = true;
        $robots['nofollow']  = true;
    }

    return $robots;
} );

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

Как закрыть вложения через SEO-плагин

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

Перед включением такой опции сделайте короткую проверку:

  • есть ли на сайте старые ссылки на attachment URL из статей;
  • не используются ли вложения как отдельные страницы в старом контенте;
  • не ломается ли отображение изображений в галереях и блоках;
  • не меняется ли canonical на страницах медиафайлов.

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

Проверка результата после внедрения

После настройки не ограничивайтесь открытием страницы в браузере. Проверьте поведение на уровне HTTP-ответа и индексации.

Что проверить вручную

  • Attachment URL отвечает 301, если вы выбрали редирект.
  • При открытии страницы вложения не остается доступной пустая HTML-страница.
  • В исходном коде нет случайного index,follow на attachment page.
  • В Search Console новые URL не появляются в индексе, а старые постепенно выпадают.

Для быстрой проверки можно использовать curl:

curl -I https://example.com/sample-image/

Если редирект настроен правильно, в ответе должен быть статус 301 и заголовок Location с целевым URL. Если вы используете noindex, проверьте HTML-страницу и мета-robots в исходнике.

Частые ошибки и как их исправить

Редирект ведет на 404

Так бывает, если у вложения нет родительской записи, а код не обрабатывает этот сценарий. Добавьте запасной путь: на сам файл или на главную. Главное — не оставлять пустую ветку без ответа.

Закрыли не страницы, а сами файлы

Это самая неприятная ошибка. Если вы случайно закрыли доступ к .jpg или .pdf, изображения могут перестать загружаться в контенте, а документы — открываться из старых ссылок. Закрывать нужно только HTML-страницы вложений, а не медиафайлы как ресурсы.

Поставили noindex, но URL все равно в индексе

Такое бывает, если на страницу есть внешние ссылки, она давно в индексе или поисковик еще не переобходил сайт. В этом случае помогает не только noindex, но и редирект, а также удаление внутренних ссылок на attachment URL.

Сломали каноникал на страницах изображений

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

Что сделать для безопасности и производительности

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

Если вы вносите код вручную, не редактируйте основной файл темы на живом сайте. Используйте дочернюю тему или mu-plugin. Так вы не потеряете правку после обновления и не получите сюрприз при деплое.

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

Короткий чек-лист перед публикацией изменений

  • Проверили, что индексируются именно attachment pages, а не файлы.
  • Выбрали один способ: редирект, noindex или настройка SEO-плагина.
  • Убедились, что старые вложения с родителем не ведут в 404.
  • Проверили HTTP-статус через curl -I или DevTools.
  • Посмотрели исходный код страницы на наличие noindex и canonical.
  • Убедились, что изображения и документы по прямым ссылкам по-прежнему открываются.

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

Как закрыть от индексации страницы вложений media в WordPress
30.09.2026
Как закрыть от индексации поисковые страницы WordPress без вреда для SEO
20.09.2026
Как отключить XML-RPC в WordPress и не сломать нужные интеграции
27.09.2026
Как закрыть от индексации отладочную версию WordPress и не сломать продакшен
17.09.2026
Как закрыть дубли страниц пагинации от индексации в WordPress
14.09.2026