WPUrok

Как закрыть архивы вложений в WordPress

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

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

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

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

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

Самый практичный вариант: отключить attachment-страницы через SEO-плагин

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

Логика здесь простая: если у вложения нет самостоятельной ценности, не нужно оставлять ему отдельную страницу. При этом сам файл в медиатеке остаётся доступным, а поисковик перестаёт индексировать пустые или почти пустые страницы.

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

Как закрыть архивы вложений кодом

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

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

Ниже пример, который перенаправляет attachment-страницы на URL родительской записи, если она есть. Если родителя нет, редирект идёт на главную страницу сайта.

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

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

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

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

Когда лучше не редиректить, а закрыть от индексации

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

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

Если вы закрываете страницы только от индексации, а не удаляете их из обхода, они могут ещё какое-то время оставаться в поиске до переобхода роботом. Это нормально: поисковик не убирает URL мгновенно.

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

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

  • Откройте несколько URL attachment вручную в браузере.
  • Проверьте, что они либо редиректят на файл или запись, либо отдают страницу без индексации.
  • Посмотрите исходный код страницы и найдите мета-тег noindex, если вы использовали именно этот способ.
  • Если у вас подключена Google Search Console или Яндекс Вебмастер, отправьте страницу на переобход только после того, как убедитесь, что поведение изменилось.

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

Что делать с уже проиндексированными attachment-страницами

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

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

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

Какой способ выбрать на практике

СпособКогда подходитПлюсыМинусы
SEO-плагинЕсли уже используете плагин и нужна быстрая настройкаПросто включить, минимум рискаЗависит от возможностей конкретного плагина
Редирект кодомЕсли нужен полный контроль и нет подходящей настройкиРаботает предсказуемо, убирает URL из индексаТребует аккуратности и резервной копии
Noindex без редиректаЕсли attachment-страницы должны оставаться доступнымиНе ломает доступ к страницеНе убирает URL так быстро, как редирект

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

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

×
Halloween Game

Сыграй в игру, спаси сайт! Забери приз

Играть