Страницы вложений в WordPress часто создают лишние URL: у каждой загруженной картинки, PDF или другого файла может появиться отдельная страница-архив. На небольшом сайте это незаметно, а на контентном проекте такие адреса быстро превращаются в мусорные страницы, дубли и лишние точки входа из поиска. Если на этих страницах нет полезного текста, они обычно только мешают: индексируются без смысла, отъедают краулинговый бюджет и иногда конкурируют с основными материалами.
Самый практичный вариант — не просто закрыть архивы вложений, а отключить их так, чтобы при переходе по старому адресу пользователь попадал на исходную запись, страницу или, если связи нет, на сам файл. Ниже разберём, как это сделать в WordPress без лишних рисков.
Что именно нужно отключать
В WordPress у медиафайлов есть два разных типа адресов, и их часто путают. Первый — сам файл, например изображение в /wp-content/uploads/. Второй — страница вложения, которую WordPress создаёт для этого файла как отдельную запись. Именно эта страница чаще всего и становится проблемой.
Если открыть изображение через медиафайл в библиотеке, WordPress может вести не на сам файл, а на attachment page. У такой страницы обычно почти нет контента: заголовок, картинка и несколько служебных элементов. Для поисковика это слабая страница, а для сайта — потенциальный дубль.
Отключать нужно именно архивы вложений, а не сами файлы. Медиафайлы на сайте остаются, изображения в статьях продолжают работать, а вот отдельные страницы вложений перестают быть самостоятельными URL.
Самый надёжный способ: редирект со страницы вложения
Если задача стоит практично — убрать мусорные URL из поиска и не ломать старые ссылки, лучше сделать редирект со страниц вложений. Тогда посетитель и робот поисковика не увидят пустую страницу, а попадут на более полезный адрес.
Для этого обычно добавляют код в файл functions.php дочерней темы или в небольшой собственный плагин. Если правите тему, делайте это только в дочерней теме: при обновлении родительской темы изменения пропадут.
Перед правкой сделайте резервную копию сайта или хотя бы файла, который меняете. Ошибка в PHP-коде может временно уронить сайт.
Вот рабочий вариант, который перенаправляет страницу вложения на родительскую запись, если она есть, а если нет — на сам файл:
add_action( 'template_redirect', function () {
if ( is_attachment() ) {
$attachment_id = get_queried_object_id();
$parent_id = wp_get_post_parent_id( $attachment_id );
if ( $parent_id ) {
wp_safe_redirect( get_permalink( $parent_id ), 301 );
exit;
}
$file_url = wp_get_attachment_url( $attachment_id );
if ( $file_url ) {
wp_safe_redirect( $file_url, 301 );
exit;
}
}
} );Что делает этот код:
is_attachment()проверяет, что открыт именно архив вложения;wp_get_post_parent_id()пытается найти запись, к которой прикреплён файл;wp_safe_redirect()отправляет пользователя на безопасный редирект с кодом 301;exitзавершает выполнение, чтобы WordPress не продолжал рендерить страницу вложения.
Такой вариант хорош тем, что не создаёт тупик: если у вложения есть родительская запись, человек попадает на неё; если нет — хотя бы на сам файл, а не на пустую страницу.
Как полностью отключить архивы вложений через плагин
Если не хочется трогать код, можно использовать плагин, который умеет управлять дублями и служебными страницами. Например, в Clearfy Pro есть инструменты для отключения лишних страниц и очистки сайта от технического мусора. Это удобнее для владельца сайта, который не хочет поддерживать собственный сниппет в теме.
Плюс плагина в том, что настройка обычно сводится к включению нужной опции в админке. Минус — зависимость от плагина: если его отключить, поведение сайта может измениться. Поэтому для небольшого проекта с понятной логикой часто надёжнее код в дочерней теме, а для сайта, где уже используется набор SEO- и cleanup-настроек, плагин может быть удобнее.
Какой бы вариант вы ни выбрали, проверьте, что плагин не просто скрывает ссылку в интерфейсе, а именно убирает доступ к attachment page или перенаправляет её на нужный адрес. Для поисковой задачи это принципиально.
Как убрать страницы вложений из поиска
Редирект — это уже сильный сигнал для поисковика, но иногда нужно дополнительно убедиться, что такие страницы не участвуют в индексации как отдельные документы. Здесь важно не путать два уровня: технический доступ и поисковую видимость.
Если архивы вложений уже отдают 301-редирект на полезную страницу, этого обычно достаточно. Поисковик со временем переобходит старые URL и заменяет их в индексе. Но если на сайте много старых вложений, стоит проверить ещё несколько вещей:
- страницы вложений не должны попадать в XML-карту сайта;
- внутренние ссылки не должны вести на attachment page, если можно вести сразу на запись или файл;
- в шаблоне медиа и галерей не должно быть принудительных ссылок на страницы вложений;
- если старые URL уже в индексе, их нужно переобойти через инструменты вебмастера и дождаться обновления.
Если у вас есть доступ к настройкам SEO-плагина, проверьте, не создаёт ли он отдельную карту сайта для вложений. На некоторых сайтах это источник лишних URL, даже если сами страницы уже не нужны.
Что делать, если вложения уже попали в индекс
Когда страницы вложений уже проиндексированы, одного изменения на сайте мало. Поисковику нужно время, чтобы увидеть новый ответ сервера и убрать старый URL из выдачи. Обычно процесс идёт быстрее, если на старом адресе стоит 301-редирект, а не 404.
Практически это выглядит так:
- включаете редирект со страниц вложений;
- проверяете несколько старых URL вручную;
- отправляете важные страницы на переобход в панели для вебмастеров;
- следите, чтобы в индексе не появлялись новые attachment page.
Если старый URL возвращает 404, поисковик тоже уберёт его из индекса, но обычно это менее аккуратный вариант. Для вложений лучше 301 на релевантную страницу, потому что так сохраняется пользовательский сценарий и не теряется переход с внешних или старых внутренних ссылок.
Как проверить, что всё работает
После настройки откройте несколько адресов вложений вручную. Удобнее всего взять URL из медиабиблиотеки или из исходного кода страницы, где используется картинка. Проверка должна показать одно из двух:
- редирект на родительскую запись;
- редирект на сам файл, если записи-родителя нет.
Если вы видите обычную страницу вложения с заголовком и картинкой, значит редирект не сработал. В таком случае проверьте, куда именно добавлен код: он должен выполняться на фронтенде, а не только в админке, и не должен быть обёрнут в условия, которые мешают срабатыванию.
Ещё один полезный тест — посмотреть исходный ответ сервера. Для страницы вложения должен быть статус 301, а не 200. Если у вас есть доступ к инструментам разработчика в браузере или к онлайн-проверке заголовков, это легко увидеть. Для SEO это важнее, чем просто визуальный переход.
Когда лучше не отключать вложения полностью
Есть сценарии, где attachment page может быть полезна, но это редкость. Например, если у вас специально сделаны отдельные страницы для медиафайлов с текстом, описанием и навигацией, а не просто стандартные пустые шаблоны WordPress. В таком случае отключать всё подряд не стоит: сначала проверьте, действительно ли эти страницы дают ценность и трафик.
Для большинства обычных сайтов, блогов и корпоративных проектов отдельные архивы вложений не нужны. Они создают лишние URL, размывают структуру сайта и часто появляются в индексе без пользы. Поэтому стандартная практика — либо редиректить их на родительский материал, либо отключать как технический мусор.
Если вам нужен более системный контроль над дублями и служебными страницами, можно использовать Clearfy Pro, но даже в этом случае полезно понимать логику: задача не в том, чтобы просто спрятать URL, а в том, чтобы заменить его на корректный адрес и не оставить поисковику пустую страницу.