Страницы вложений в WordPress часто всплывают в индексе как отдельные URL с почти пустым содержимым. Для сайта это обычно не полезные посадочные страницы, а дубли, которые могут перетягивать на себя сниппеты, создавать мусор в отчётах и раздувать индекс. При этом сами файлы изображений и документов должны продолжать открываться — задача не в том, чтобы спрятать медиа, а в том, чтобы убрать из поиска именно attachment pages.
Ниже — рабочая схема: как понять, что проблема именно в страницах вложений, как закрыть их от индексации без лишних побочных эффектов и как проверить, что после правки всё ведёт себя ожидаемо.
Как понять, что в индексе именно страницы вложений
Сначала стоит убедиться, что речь не о самих файлах, а о страницах-обёртках WordPress. Обычно у таких URL есть характерные признаки:
- в адресе встречается
/attachment/или слаг медиафайла; - на странице почти нет текста, только изображение и стандартные элементы темы;
- в поиске находятся URL, которые ведут не на запись, а на отдельную страницу вложения;
- в отчётах Search Console растёт число «тонких» страниц без трафика.
Проверка простая: откройте несколько таких URL вручную и посмотрите исходный код. Если в <head> уже есть noindex, а страница всё равно попадает в индекс, значит проблема может быть не только в метатеге, но и в каноникализации, внутренних ссылках или старых копиях в индексе.
Что именно нужно закрывать
Закрывать нужно attachment pages, а не сами медиафайлы. Изображение по прямой ссылке должно продолжать открываться, потому что его могут использовать статьи, письма, Open Graph, RSS и внешние встраивания. Если вместо этого поставить жёсткий запрет на файлы в robots.txt или сломать маршрутизацию, можно получить побочные проблемы с отображением контента и предпросмотров.
Диагностика: где WordPress создаёт дубли
У WordPress есть несколько типичных источников дублей, связанных с медиа:
- страницы вложений как отдельные записи типа attachment;
- архивы автора или рубрик, где в ленте много изображений без уникального текста;
- разные размеры одного и того же файла, если тема или плагин генерируют ссылки неаккуратно;
- старые URL вложений после миграции сайта или смены структуры постоянных ссылок.
Если у вас есть доступ к Search Console, посмотрите, какие именно URL попадают в отчёт по индексированию. Если там есть attachment pages, а не сами файлы, значит решение должно быть на уровне мета-роботов или перенаправления, а не на уровне блокировки ресурсов.
Пошаговое решение без поломки медиа
Есть два рабочих подхода: через плагин SEO/технической очистки или через код. Если нужен быстрый и предсказуемый результат на обычном сайте, удобнее начать с плагина. Если важен полный контроль, лучше сделать это в теме или небольшом mu-plugin.
Вариант 1. Закрыть attachment pages через код
Этот способ добавляет noindex, follow на страницы вложений и при необходимости перенаправляет их на сам файл или на родительскую запись. Для большинства сайтов достаточно именно метатега, если страницы уже не нужны пользователям.
<?php
add_action('wp_head', function () {
if (is_attachment()) {
echo '<meta name="robots" content="noindex, follow" />' . "\n";
}
}, 1);
Если хотите не просто закрыть от индексации, а ещё и убрать саму страницу из пользовательского сценария, можно редиректить attachment page на файл или на родительскую запись. Здесь важно не создавать бесконечные циклы и не редиректить на пустой URL.
<?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;
}
});
Такой редирект имеет смысл только если вы уверены, что attachment pages не используются как отдельные страницы входа. На медиа-библиотеке с большим количеством внешних ссылок лучше сначала ограничиться noindex и проверить поведение в поиске.
Вариант 2. Использовать SEO-плагин или плагин очистки
Если на сайте уже стоит инструмент для технической оптимизации, проверьте, умеет ли он управлять индексированием attachment pages. Удобство этого подхода в том, что не нужно править тему, а настройка сохраняется при обновлениях. Например, в Clearfy Pro есть набор инструментов для удаления дублей и технической чистки сайта, что удобно, если проблема не ограничивается только вложениями.
| Подход | Плюсы | Минусы |
|---|---|---|
| Код в теме или mu-plugin | Полный контроль, минимум зависимостей | Нужно следить за обновлениями и местом вставки |
| SEO/cleanup-плагин | Быстро включить, проще поддерживать | Зависимость от интерфейса и набора функций плагина |
| Редирект attachment pages | Убирает страницу из пользовательского сценария | Может быть лишним, если страницы уже используются |
Что проверить после внедрения
После правки не ограничивайтесь просмотром исходника одной страницы. Нужна короткая, но практичная проверка:
- откройте несколько attachment pages в браузере и убедитесь, что они либо отдают
noindex, либо редиректят туда, куда вы планировали; - проверьте, что прямой URL файла изображения открывается без редиректа на HTML-страницу;
- посмотрите исходный код и убедитесь, что в
<head>нет конфликтующих директив от нескольких плагинов; - в Search Console отправьте URL на повторную проверку, если страницы уже были в индексе;
- через несколько дней проверьте, не появились ли новые варианты дублей с параметрами или альтернативными путями.
Если используете редирект, важно проверить не только статус-код, но и конечный адрес. Иногда тема или плагин может подменять canonical, и тогда поисковик видит одну страницу, а пользователь попадает на другую.
Частые ошибки и как их исправить
Ставят запрет в robots.txt вместо noindex
Это одна из самых частых ошибок. Если вы просто закроете путь в robots.txt, поисковик может перестать сканировать страницу, но уже известный URL не обязательно исчезнет из индекса быстро. Для attachment pages обычно нужен именно noindex или редирект, а не только запрет обхода.
Редиректят все вложения на главную
Так делать не стоит. Главная страница не связана с конкретным файлом, и массовый редирект на неё выглядит как мягкая ошибка маршрутизации. Для пользователя это тоже плохой сценарий: он ожидает увидеть изображение или связанный материал, а получает нерелевантную страницу.
Ломают прямые ссылки на файлы
Иногда после правок путают attachment page и сам файл в медиатеке. В результате изображения перестают открываться по прямому URL, а это уже проблема для контента, Open Graph и внешних вставок. Проверяйте именно конечный адрес файла, а не только страницу вложения.
Дублируют управление индексированием в нескольких местах
Если у вас одновременно работает SEO-плагин, плагин очистки и кастомный код, легко получить конфликт: один компонент ставит noindex, другой — canonical на другую страницу, третий — редирект. В таких случаях оставьте один источник истины. Либо код, либо плагин, либо их чётко разделённые зоны ответственности.
Практические советы по безопасности и производительности
Если правите кодом, лучше не вставлять его в functions.php активной темы, если тема часто обновляется или меняется. Для технических правил удобнее использовать небольшой mu-plugin: он не зависит от темы и не потеряется при смене дизайна.
<?php
/**
* Plugin Name: Attachment Pages Noindex
*/
add_action('wp_head', function () {
if (is_attachment()) {
echo '<meta name="robots" content="noindex, follow" />' . "\n";
}
}, 1);
С точки зрения производительности это почти не влияет на сайт, но уменьшает шум в индексе и упрощает аналитику. Чем меньше мусорных URL, тем проще отслеживать реальные проблемы с контентом и внутренней перелинковкой.
Если у вас много медиа и старый сайт с накопленными дублями, сначала закройте новые attachment pages, затем отдельно разберитесь с уже проиндексированными URL. Не пытайтесь решить всё одной массовой чисткой без проверки, иначе легко потерять полезные страницы или сломать старые ссылки.
В похожих задачах помогает и комплексная техническая чистка: убрать лишние архивы, дубли мета-данных, лишние скрипты и служебные страницы. Если нужен именно такой набор, имеет смысл смотреть в сторону инструментов, которые работают на уровне технической оптимизации, а не только SEO-меток.