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

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

Хорошая новость в том, что закрыть от индексации именно страницы вложений можно без риска сломать сами картинки в записях и на страницах. Важно только не перепутать страницу вложения с самим файлом изображения. Картинка должна продолжать открываться в контенте сайта, а вот отдельная страница вида /attachment/ или похожий URL — нет.

Что именно нужно закрывать от индексации

В WordPress есть два разных объекта, которые часто путают:

  • сам файл — например, изображение по адресу из папки /wp-content/uploads/;
  • страница вложения — отдельная страница записи типа attachment, которую WordPress создаёт для этого файла.

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

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

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

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

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

Добавьте в functions.php дочерней темы или в свой мини-плагин такой код:

add_action( 'template_redirect', function () {
    if ( is_attachment() ) {
        $parent = wp_get_post_parent_id( get_the_ID() );

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

        $url = wp_get_attachment_url( get_the_ID() );
        if ( $url ) {
            wp_safe_redirect( $url, 301 );
            exit;
        }

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

Что делает этот код:

  • проверяет, открыта ли страница вложения через is_attachment();
  • если у вложения есть родительская запись, отправляет на неё;
  • если родителя нет, ведёт на сам файл;
  • если и это не удалось, отправляет на главную страницу.

Для поисковой индексации это удобнее, чем просто оставить страницу пустой. Робот получает понятный 301-редирект, а пользователь не попадает на бесполезную страницу вложения.

Когда редирект лучше, чем noindex

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

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

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

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

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

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

Что делать через robots.txt, а что не стоит делать

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

Для этой задачи лучше использовать один из двух вариантов:

  • 301-редирект со страницы вложения на родительскую запись или файл;
  • meta robots noindex для attachment-страниц, если редирект по каким-то причинам не подходит.

Закрывать именно папку /uploads/ в robots.txt не нужно. Это может помешать поисковику видеть изображения, которые используются на сайте, и ухудшить отображение картинок в поиске по изображениям. Если цель — убрать только отдельные страницы вложений, трогать саму папку с файлами не стоит.

Как проверить, что всё работает правильно

После настройки откройте несколько URL вложений вручную. У нормальной схемы поведения есть два варианта:

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

Проверить редирект можно прямо в браузере: если адрес меняется на другой URL и страница вложения больше не открывается отдельно, настройка сработала. Для более точной проверки можно посмотреть HTTP-ответ через инструменты разработчика браузера или любой онлайн-проверщик заголовков. В ответе должен быть код 301 или 302 в зависимости от выбранного варианта, но для постоянного решения лучше именно 301.

Если вы используете noindex, откройте исходный код страницы вложения и проверьте наличие строки вида <meta name="robots" content="noindex"> или аналогичной разметки, которую добавляет ваш SEO-плагин. После этого остаётся дождаться переобхода страниц поисковиком. Срок зависит от частоты обхода сайта и не контролируется WordPress.

Частые ошибки, из-за которых страницы вложений остаются в индексе

Одна из типичных ошибок — закрыть не то. Пользователь находит в поиске страницу изображения и думает, что нужно запретить сам файл. На деле надо работать со страницей attachment, а не с URL картинки в /uploads/.

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

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

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

Что в итоге делать на обычном сайте WordPress

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

Если редирект по каким-то причинам не подходит, используйте noindex именно для attachment-страниц. Но не трогайте сами файлы в /uploads/, если они должны продолжать работать на сайте. В этой задаче важно не «спрятать всё медиа», а убрать из индекса только отдельные страницы вложений, которые не несут пользы посетителю.

Как запретить индексацию страниц пагинации в WordPress
03.09.2026
Как использовать WP REST API для автоматического обновления контента в WordPress
28.09.2026
Как отключить XML-RPC в WordPress без поломки входа и внешних сервисов
20.09.2026
Как оптимизировать загрузку шаблонов в WordPress
28.09.2026
Как использовать WP-CLI для массового изменения связанных постов в WordPress
21.09.2026

Изучение WordPress: детальные уроки и нужные советы.