Если на сайте много изображений, WordPress часто создаёт для каждого файла отдельную страницу вложения. Для пользователя она обычно бесполезна: на ней может быть только картинка, заголовок и ссылка на сам файл. Для поиска такие страницы тоже редко нужны, поэтому они начинают засорять индекс и размывать качество выдачи сайта.
Задача здесь не в том, чтобы удалить сами изображения. Нужно убрать из индексации именно страницы вложений, при этом оставить картинки доступными в записях, страницах и медиатеке. Это разные вещи: изображение как файл должно продолжать работать, а отдельная страница attachment — нет.
Что именно нужно отключать
В WordPress у каждого медиафайла есть собственный URL. Если файл прикреплён к записи, тема или сам WordPress могут отдавать страницу вложения вида /image-name/ или похожий адрес. Такая страница не всегда полезна для SEO, особенно на новостных, контентных и каталоговых сайтах, где медиа очень много.
Отключать нужно не загрузку файлов и не доступ к изображениям по прямой ссылке. Если вы закроете сами файлы, картинки перестанут отображаться в контенте, а это уже другая и гораздо более опасная задача. В нормальной схеме из индекса убирают только страницы вложений, а медиафайлы оставляют доступными.
Самый безопасный вариант: перенаправить вложения на родительскую запись
Если у изображения есть родительская запись, самый практичный вариант — не показывать отдельную страницу вложения, а отправлять пользователя и робота на страницу, где это изображение действительно используется. Тогда не появляется лишняя тонкая страница, а внутренние ссылки и поведение сайта остаются логичными.
В WordPress это обычно делают через редирект с attachment URL на родительский пост. Такой подход удобен тем, что:
- страницы вложений перестают конкурировать с основным контентом;
- пользователь не попадает на пустую страницу с одной картинкой;
- изображения в записях продолжают работать как раньше;
- не нужно вручную править каждый файл в медиатеке.
Если вы используете плагин для SEO или очистки сайта, сначала проверьте, нет ли в нём готовой опции для отключения attachment pages. Это проще и безопаснее, чем писать код вручную. Например, в Clearfy Pro есть инструменты для удаления дублей и служебных страниц, которые часто помогают решить именно такую задачу без лишней ручной настройки.
Как отключить страницы вложений кодом
Если готовой настройки нет, можно добавить редирект в файл functions.php дочерней темы или в собственный мини-плагин. Лучше использовать именно дочернюю тему или плагин, а не править основную тему: при обновлении изменения пропадут.
Перед изменениями сделайте резервную копию сайта. Неправильный код в functions.php может вызвать ошибку PHP и временно сделать сайт недоступным.
Ниже рабочий вариант: он перенаправляет страницу вложения на родительскую запись, а если родителя нет — на главную страницу сайта.
add_action( 'template_redirect', function () {
if ( is_attachment() ) {
$parent_id = wp_get_post_parent_id( get_queried_object_id() );
if ( $parent_id ) {
wp_safe_redirect( get_permalink( $parent_id ), 301 );
exit;
}
wp_safe_redirect( home_url( '/' ), 301 );
exit;
}
} );Что здесь важно:
is_attachment()срабатывает только на страницах вложений;wp_get_post_parent_id()пытается найти родительскую запись;wp_safe_redirect()делает безопасный редирект с кодом 301;exitнужен, чтобы WordPress не продолжал рендерить страницу дальше.
Если на сайте есть вложения без родителя, редирект на главную — нормальный запасной вариант. Но если таких файлов много, лучше сначала проверить, почему они остались без привязки: иногда это следствие импорта, старой темы или работы редакторов.
Как закрыть страницы вложений от индексации без редиректа
Иногда редирект нежелателен: например, если на сайте уже есть ссылки на attachment URL и вы не хотите менять поведение этих адресов сразу. Тогда можно оставить страницу доступной для пользователя, но запретить её индексацию через meta robots с noindex.
Это мягче, чем редирект, но у такого подхода есть минус: страница всё равно существует и может обходиться роботами. Для SEO это обычно хуже, чем полноценный 301-редирект, но лучше, чем оставлять вложения открытыми без ограничений.
Если вы используете SEO-плагин, проверьте настройки архивов и медиа-страниц. Во многих случаях там можно отключить индексацию attachment pages без кода. Это предпочтительнее, чем вручную вставлять мета-теги в шаблон, потому что плагин обычно делает это стабильнее и без правок темы.
Почему не стоит просто закрывать изображения в robots.txt
Частая ошибка — попытаться решить проблему через robots.txt. Это плохой путь для вложений изображений, если цель именно убрать страницы из индекса. Robots.txt управляет обходом, а не удалением уже известных URL из поиска. Кроме того, если закрыть слишком широко папку с медиа, можно случайно ограничить доступ к самим изображениям.
Для WordPress правильная логика обычно такая:
- страницы вложений — редирект или
noindex; - сами файлы изображений — остаются доступны;
- внутренние ссылки на картинки в контенте — не трогаются;
- если нужно, отдельно настраивается sitemap и каноникал для медиа-страниц.
Если вы не уверены, что именно закрываете, не начинайте с robots.txt. Сначала проверьте, как выглядят URL вложений и куда они ведут.
Как проверить, что всё работает правильно
После настройки откройте несколько URL вложений вручную. Проверьте три сценария:
- вложение с родительской записью должно отдавать 301 и вести на пост;
- вложение без родителя должно вести туда, куда вы задали в запасном варианте;
- картинка в записи должна по-прежнему отображаться на странице и открываться по прямой ссылке на файл.
Если у вас подключены инструменты для проверки индексации, посмотрите, как поисковый робот видит attachment URL. После редиректа такие страницы обычно постепенно выпадают из индекса, но это не происходит мгновенно. Для уже проиндексированных адресов нужно время на переобход.
Ещё один практический тест — открыть исходный код страницы вложения и убедиться, что там нет случайного index,follow или другого шаблонного шаблона, который снова разрешает индексацию. Если вы используете SEO-плагин, проверьте, не переопределяет ли он вашу ручную настройку.
Когда лучше не трогать вложения вручную
Если сайт старый, с большим количеством нестандартных правок темы, сначала оцените, как именно используются attachment URL. На некоторых проектах на них завязаны галереи, старые шаблоны или внешние ссылки. В таком случае резкий редирект может изменить поведение части страниц.
Также стоит быть осторожнее, если медиафайлы активно используются в письмах, PDF, внешних сервисах или старых публикациях. Сам файл изображения можно оставить как есть, но путь к странице вложения лучше менять только после проверки, что он нигде не нужен как отдельная посадочная страница.
На большинстве обычных сайтов решение простое: убрать страницы вложений из индекса через редирект или noindex, не трогая сами изображения. Это снижает количество мусорных URL в поиске и не ломает контент, если настройку сделать именно на уровне attachment pages, а не на уровне медиафайлов.