wordpressa.ru wordpress wordpressa.ru

Как закрыть страницы вложений WordPress от индексации и убрать дубли в поиске

Страницы вложений в 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-меток.

×

AI-плагин

WPGPT
Сам создает статьи для вашего сайта WordPress

SEO и мета-теги

Парсинг конкурентов

Изображения

Комментарии

Подробнее