Как закрыть от индексации страницы автора, архивы и теги в WordPress

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

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

Что именно стоит закрывать от индексации

Не нужно механически ставить noindex на всё подряд. Сначала разделите URL на полезные и технические. В типичном WordPress-проекте под вопросом оказываются:

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

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

Диагностика: как понять, что проблема уже есть

Начните не с настроек, а с проверки фактов. Откройте Google Search Console и посмотрите отчёт по страницам: там обычно видно, какие типы URL попали в индекс. Дополнительно проверьте:

  • сколько страниц тегов и архивов реально открывается в /tag/, /author/, /date/;
  • есть ли у этих страниц уникальный текст или они состоят только из списка записей;
  • появляются ли они в sitemap;
  • не отдают ли они статус 200 OK без noindex;
  • не ведут ли внутренние ссылки массово на пустые архивы.

Быстрая проверка через консоль:

curl -I https://example.com/author/admin/
curl -I https://example.com/tag/novosti/

Если в ответе нет X-Robots-Tag: noindex и страница доступна как обычный HTML, поисковик может её индексировать. Это не всегда плохо, но для служебных архивов обычно нежелательно.

Пошаговое решение: как закрыть архивы без хаоса

Вариант 1. Через SEO-плагин

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

Что важно проверить после включения:

  • страница по-прежнему открывается, но в коде есть noindex;
  • архивы не попадают в XML-карту сайта, если вы их отключили;
  • канонический URL не указывает на мусорный архив;
  • внутренние ссылки на эти страницы не создают лишних переходов в навигации.

Если вы используете Clearfy Pro, в нём есть инструменты для чистки дублей и отключения ненужных архивов. Это удобно, когда задача не только в noindex, но и в сокращении технического шума. Ссылка на плагин: Clearfy Pro.

Вариант 2. Через код в теме или мини-плагине

Если нужен точечный контроль, можно добавить noindex через wp_robots. Это безопаснее, чем править шаблоны вручную, и не зависит от конкретного SEO-плагина.

<?php
add_filter( 'wp_robots', function( array $robots ) {
    if ( is_author() || is_tag() || is_date() ) {
        $robots['noindex'] = true;
        $robots['nofollow'] = true;
    }

    return $robots;
} );

Этот код добавляет директивы только для архивов автора, тегов и дат. Если nofollow вам не нужен, уберите его: для индексации это не обязательно, а на внутреннюю навигацию он влияет косвенно. В большинстве случаев достаточно noindex, follow.

Если хотите закрыть только теги, а авторов оставить открытыми, сузьте условие:

<?php
add_filter( 'wp_robots', function( array $robots ) {
    if ( is_tag() ) {
        $robots['noindex'] = true;
    }

    return $robots;
} );

Вариант 3. Убрать архивы из sitemap

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

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

Сравнение подходов: плагин, код или гибрид

ПодходКогда подходитПлюсыМинусы
SEO-плагинНужно быстро закрыть архивы без разработкиПросто поддерживать, меньше риска сломать темуМеньше точности, зависит от интерфейса плагина
Код через wp_robotsНужен точечный контроль по типам страницПрозрачно, не требует тяжёлых плагиновНужно следить за обновлениями темы и тестировать
ГибридЕсть SEO-плагин, но нужны исключения на уровне логикиМожно быстро управлять настройками и добрать кодомЛегко запутаться, если правила дублируются

Проверка результата после внедрения

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

  1. Откройте страницу архива и посмотрите исходный код: должен быть noindex в meta robots или соответствующий HTTP-заголовок.
  2. Проверьте ответ сервера через curl -I или DevTools: иногда плагин ставит мета-тег, но не трогает заголовок.
  3. В Search Console запросите повторную проверку URL и посмотрите, как меняется статус через несколько дней или недель.

Для быстрой локальной проверки можно использовать такой запрос:

curl -s https://example.com/tag/novosti/ | grep -i robots

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

Частые ошибки и как их исправить

Ставят noindex, но оставляют архив в sitemap

Это частая несогласованность. Поисковик получает два сигнала: «не индексируй» и «вот важный URL в карте сайта». Исправление простое — убрать архив из sitemap на уровне SEO-плагина или генератора карты сайта.

Закрывают архивы через robots.txt

Это не равно noindex. Если URL уже известен поисковику, запрет в robots.txt не гарантирует удаление из индекса. Для удаления из выдачи нужен именно noindex или удаление страницы с корректным редиректом/404/410 в зависимости от сценария.

Используют noindex на страницах, которые должны ранжироваться

Например, на сайте с сильной рубрикацией закрывают все таксономии подряд, а потом удивляются падению внутренней перелинковки и трафика. Сначала оцените, есть ли у архива спрос и уникальная ценность. Если есть — не закрывайте его автоматически.

Дублируют правила в плагине и в теме

Когда noindex добавляется и SEO-плагином, и кастомным кодом, можно получить конфликт или нестабильный результат после обновления. Оставьте один источник истины: либо плагин, либо код, либо чётко разделённую логику.

Практические советы по безопасности и производительности

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

  • не отключайте архивы через хаотичные правки шаблонов, если можно решить задачу фильтром wp_robots;
  • не ставьте тяжёлый SEO-комбайн только ради одного переключателя, если сайт маленький и задача точечная;
  • после изменений очистите кеш страницы, объектный кеш и CDN, если он есть;
  • проверьте, не кэшируется ли старый вариант страницы с прежними мета-тегами.

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

На практике рабочая схема выглядит так: определить, какие архивы реально полезны, закрыть лишние через noindex, убрать их из sitemap и проверить результат в исходном коде и Search Console. Это проще, чем потом разбирать индекс, набитый мусорными URL.

⭐⭐⭐⭐⭐