В 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, заголовки ответа и индексацию.
- Откройте страницу архива и посмотрите исходный код: должен быть
noindexв meta robots или соответствующий HTTP-заголовок. - Проверьте ответ сервера через
curl -Iили DevTools: иногда плагин ставит мета-тег, но не трогает заголовок. - В 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.