Если сайт на WordPress начинает раздувать индекс за счет архивов авторов, дат, тегов и служебных страниц, проблема обычно не в «плохом SEO», а в том, что поисковик получает слишком много однотипных URL. На небольшом сайте это выглядит безобидно, но на практике такие страницы часто съедают краулинговый бюджет, создают дубли и мешают быстрее переобходить полезные материалы.
Ниже разберем, какие архивы действительно стоит закрывать, чем отличается noindex от запрета в robots.txt, как сделать это через плагин или код и как проверить, что поисковик увидел изменения.
Когда проблема уже есть
Сначала стоит убедиться, что вы боретесь именно с индексацией, а не с другой ошибкой. Типичный набор симптомов такой:
- в поиске появляются страницы авторов с пустым или почти пустым содержимым;
- в индексе есть архивы по датам, которые не несут пользы пользователю;
- теги дублируют рубрики и собирают одинаковые записи;
- страницы пагинации индексируются отдельно и создают много слабых URL;
- в Google Search Console растет число «Просканировано, но не проиндексировано» или похожих технических URL.
Проверка простая: откройте site:example.com author, site:example.com /tag/, site:example.com /date/ и посмотрите, что реально попадает в выдачу. Если там есть пустые архивы, их лучше закрыть или хотя бы пометить noindex.
Что именно закрывать, а что оставить
Не все архивы одинаково вредны. На новостном или контентном сайте рубрики часто нужны, а вот архивы по дате почти всегда бесполезны. Страницы авторов тоже зависят от структуры сайта: если у каждого автора есть нормальная биография, фото, ссылки на материалы и уникальный текст, их можно оставить открытыми. Если это просто список записей без ценности, лучше закрыть.
| Тип страницы | Что делать | Комментарий |
|---|---|---|
| Архивы по дате | noindex | Почти всегда технический мусор для поиска |
| Архивы авторов | по ситуации | Оставлять только если есть уникальный контент |
| Теги | noindex или объединение | Если тегов много и они дублируют рубрики |
| Рубрики | обычно оставить | Если это реальная навигация по сайту |
| Пагинация архивов | обычно оставить | Но следить за качеством и каноникалами |
Диагностика: где WordPress уже отдает дубли
Перед настройкой полезно посмотреть, как сайт отдает мета-теги и заголовки. Иногда проблема в том, что SEO-плагин уже ставит noindex, а тема или кастомный код ломают вывод. Проверяйте исходный код страницы архива и ищите строку вида <meta name="robots" content="noindex,follow">.
Если у вас есть доступ к командной строке, можно быстро проверить заголовки ответа:
curl -I https://example.com/author/admin/Для страниц, которые должны быть закрыты, вы не увидите X-Robots-Tag только если он не настроен на уровне сервера или плагина. Но для WordPress чаще всего достаточно мета-тега в HTML.
Пошаговое решение через SEO-плагин
Самый безопасный путь — использовать один источник правды для индексации. Если у вас уже стоит SEO-плагин, настройте правила там, а не размазывайте логику по теме и functions.php. Это снижает риск конфликтов после обновлений.
Если нужен быстрый вариант без кода
В большинстве SEO-плагинов есть отдельные переключатели для архивов авторов, дат, тегов и таксономий. Логика обычно такая:
- открыть настройки SEO;
- найти раздел архивов или таксономий;
- выключить индексацию для служебных архивов;
- сохранить и очистить кэш;
- проверить исходный код страницы.
Если вы используете Clearfy Pro, там удобно убрать часть дублей и служебных страниц централизованно. Это полезно, когда на сайте уже накопились лишние архивы, пагинация и технические страницы, а руками в шаблонах это долго и рискованно.
Когда лучше идти через код
Код нужен, если вы хотите точечно закрыть только часть архивов или у вас кастомная логика. Например, архивы авторов оставить для редакторов, но закрыть для остальных ролей, или закрыть только теги с малым числом записей.
Ниже пример, который ставит noindex,follow для архивов дат и тегов, а также для архивов авторов, если у автора нет описания:
<?php
add_filter( 'wp_robots', function( array $robots ) {
if ( is_date() || is_tag() ) {
$robots['noindex'] = true;
$robots['follow'] = true;
}
if ( is_author() ) {
$author_id = get_queried_object_id();
$description = get_the_author_meta( 'description', $author_id );
if ( empty( trim( (string) $description ) ) ) {
$robots['noindex'] = true;
$robots['follow'] = true;
}
}
return $robots;
} );Этот вариант опирается на стандартный фильтр WordPress wp_robots, который используется для формирования robots-мета. Он не ломает шаблон и не требует править ядро.
Как закрыть архивы через robots.txt и почему это не то же самое
Запрет в robots.txt не равен noindex. Если вы просто запретите обход, поисковик может продолжать держать URL в индексе без возможности нормально переобойти и увидеть мета-тег с запретом. Поэтому для уже проиндексированных страниц лучше использовать именно noindex, а robots.txt применять только для технических ресурсов, которые не должны сканироваться вообще.
Пример, где robots.txt уместен:
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Disallow: /wp-content/uploads/private/
А вот архивы авторов и тегов так закрывать не стоит, если ваша цель — убрать их из индекса. Для них нужен мета-тег или заголовок X-Robots-Tag.
Проверка результата после внедрения
После изменений не ограничивайтесь визуальной проверкой. Нужно убедиться, что WordPress реально отдает нужный robots-мета на целевых URL.
- Откройте архив автора, дату и тег в браузере.
- Посмотрите исходный код страницы и найдите
noindex. - Проверьте кэш: если стоит серверный кэш или плагин кэширования, очистите его.
- В Google Search Console отправьте URL на повторную проверку, если страница уже была в индексе.
- Через несколько дней сравните количество проиндексированных архивов в отчете по страницам.
Если у вас включен объектный кэш или CDN, иногда старая версия страницы продолжает отдаваться из кэша. В таком случае проверка через curl и просмотр исходника в режиме инкогнито часто показывает расхождение. Сначала чистите кэш, потом оценивайте результат.
Частые ошибки и как их исправить
Поставили noindex, но URL все равно в индексе
Это нормально в краткосрочной перспективе. Поисковик должен заново обойти страницу и увидеть новый мета-тег. Если страница была закрыта через robots.txt, переобход может затянуться. Решение: убрать блокировку обхода, оставить noindex и дождаться переобхода.
Закрыли архивы в robots.txt и потеряли контроль
Так часто делают по старой привычке. В результате поисковик не видит мета-тег, а старые URL остаются в выдаче дольше. Исправление: вернуть доступ для обхода и закрыть страницу через robots-мета или X-Robots-Tag.
Сломали индексацию рубрик вместе с тегами
Если в SEO-плагине включили слишком общий шаблон, можно случайно закрыть и полезные рубрики. Проверьте, какие именно таксономии помечены как noindex, и не копируйте настройки между разными типами архивов без проверки.
Не учли тему и кастомные шаблоны
Иногда тема вручную выводит собственный <meta name="robots"> или подключает сторонний SEO-блок. Тогда фильтр wp_robots может не дать ожидаемого результата. В таком случае ищите прямой вывод в header.php, functions.php или в плагине темы.
Практические советы по безопасности и производительности
Чем меньше лишних архивов и дублей, тем проще поисковику и тем меньше бесполезных запросов к серверу. Но не стоит превращать SEO-настройку в хаотичную чистку. Сначала определите, какие URL реально нужны пользователю, а потом уже закрывайте остальное.
- Не удаляйте архивы, если на них есть внутренние ссылки и они помогают навигации.
- Не закрывайте полезные рубрики только потому, что они «похожи на дубли».
- Не смешивайте
noindexиdisallowбез понимания, как поисковик переобходит страницы. - Если на сайте много служебных дублей, проверьте канонические URL и пагинацию.
- После любых изменений очистите кэш плагина, сервера и CDN.
Если вы предпочитаете не собирать это вручную, можно посмотреть в сторону инструментов, которые централизованно управляют дублями и служебными страницами, например Clearfy Pro: https://wpshop.ru/plugins/clearfy. Но даже в этом случае полезно понимать, какие именно URL вы закрываете и почему.
Короткий чек-лист перед публикацией изменений
- Проверить, какие архивы реально нужны на сайте.
- Выбрать один способ управления индексацией: плагин или код.
- Убедиться, что на целевых страницах появился
noindex,follow. - Очистить кэш WordPress, сервера и CDN.
- Проверить исходный код и заголовки ответа.
- Отправить важные URL на переобход в Search Console.
- Через несколько дней перепроверить статус в индексе.
Если после настройки архивы все еще индексируются, почти всегда причина в кэше, конфликте SEO-плагинов или в том, что закрытие сделали через robots.txt вместо мета-robots. Это три самые частые точки, где настройка выглядит правильной, но фактически не работает.