На небольшом сайте лишние архивы и страницы авторов часто не мешают. Но если контента много, а структура шаблона стандартная, в индекс попадают страницы, которые не несут самостоятельной ценности: архивы по датам, страницы авторов без описания, пагинация рубрик, служебные листинги. В результате в поиске появляются дубли и слабые страницы, а краулинговый бюджет уходит не туда.
Ниже — рабочий сценарий: что именно закрывать, чем отличается noindex от nofollow, как не сломать пагинацию и как проверить, что поисковик действительно перестал считать эти URL полезными для индексации.
Когда проблема действительно есть
Сначала стоит убедиться, что речь не о нормальных страницах сайта. Закрывать всё подряд — плохая идея. Например, архив рубрики с десятками материалов может быть полезен и пользователям, и поиску. А вот пустой архив автора без описания и без уникального контента обычно только создаёт шум.
Типичные признаки лишней индексации
- в поиске есть страницы вида
/author/username/, хотя на них нет полезного текста; - индексируются архивы по датам, которые дублируют ленту записей;
- появляются страницы пагинации рубрик с почти одинаковым содержимым;
- в Search Console растёт число URL без трафика и без кликов;
- в выдаче видны технические страницы, которые не должны конкурировать с основными материалами.
Если у вас уже есть плагин для SEO, часть задачи можно решить в нём. Но когда нужен точечный контроль или шаблонная тема ведёт себя не так, проще добавить логику в код темы или мини-плагин.
Что именно закрывать, а что оставить
Не все архивы одинаково бесполезны. Перед правкой полезно разделить URL на три группы: закрыть, оставить открытыми, проверить вручную.
| Тип страницы | Что делать | Комментарий |
|---|---|---|
| Архивы авторов без описания | Закрыть от индексации | Часто дублируют список записей и не дают уникальной ценности |
| Архивы по датам | Обычно закрыть | Особенно если сайт не новостной |
| Пагинация рубрик | Чаще оставить доступной, но контролировать индексацию | Нельзя бездумно закрывать всё, если вторая и третья страницы реально нужны для обхода |
| Рубрики с уникальным текстом | Оставить открытыми | Это нормальные посадочные страницы |
Для WordPress важный нюанс: закрытие от индексации не равно запрету обхода. Поисковик может заходить на страницу, но не должен включать её в индекс. Поэтому для большинства таких URL нужен именно noindex, а не блокировка в robots.txt.
Диагностика: где WordPress отдаёт лишние страницы
Перед изменениями проверьте, какие шаблоны сейчас генерируют мета-теги и заголовки. В классической теме это обычно header.php или подключаемые SEO-плагины. Если плагин уже управляет robots meta, не нужно дублировать логику в теме: получите конфликт и непредсказуемый результат.
Быстрый способ диагностики:
- Откройте проблемный URL в браузере.
- Посмотрите исходный код страницы.
- Найдите строку
<meta name="robots". - Проверьте, не выводится ли одновременно несколько вариантов robots meta от темы и плагина.
Если robots meta нет вообще, WordPress по умолчанию ничего не закрывает. Тогда можно добавить точечную логику без тяжёлых решений.
Пошаговое решение без плагина
Ниже пример для мини-плагина или functions.php дочерней темы. Он закрывает от индексации страницы авторов и архивы по датам, а также добавляет noindex на страницы пагинации архивов. При этом обычные записи и рубрики остаются без изменений.
<?php
add_filter('wp_robots', function (array $robots) {
if (is_author() || is_date()) {
$robots['noindex'] = true;
$robots['nofollow'] = false;
}
if (is_paged() && (is_archive() || is_home())) {
$robots['noindex'] = true;
}
return $robots;
});Этот вариант использует встроенный фильтр wp_robots, который есть в современных версиях WordPress. Он безопаснее, чем ручная печать meta-тега в шаблоне, потому что не ломает совместимость с другими компонентами, если они тоже добавляют robots directives.
Если нужно закрыть только архивы авторов
Иногда архивы по датам нужны, а авторские страницы — нет. Тогда логику можно сузить:
<?php
add_filter('wp_robots', function (array $robots) {
if (is_author()) {
$robots['noindex'] = true;
$robots['nofollow'] = false;
}
return $robots;
});Если сайт использует SEO-плагин, сначала проверьте его настройки. Например, в популярных плагинах есть отдельные переключатели для архивов авторов, дат и пагинации. Код нужен только тогда, когда штатной настройки недостаточно или тема выводит лишнее поверх плагина.
Когда лучше не трогать robots.txt
Частая ошибка — закрыть URL в robots.txt и считать задачу решённой. Для уже известных поисковику страниц это не всегда работает так, как ожидают. Если робот не может зайти на страницу, он может не увидеть мета-тег noindex и продолжить держать URL в индексе дольше, чем нужно.
Robots.txt полезен для:
- служебных разделов, которые не должны обходиться вообще;
- внутренних поисковых результатов;
- технических путей, где нет смысла тратить обход;
- файлов и каталогов, которые не должны сканироваться.
Но для архивов и пагинации обычно лучше использовать noindex на самой странице, а не блокировку обхода.
Проверка результата после внедрения
После правки не ограничивайтесь визуальной проверкой. Нужно убедиться, что WordPress действительно отдаёт нужные директивы, а шаблон не перезаписывает их позже.
Что проверить вручную
- в исходном коде страницы есть только одна корректная robots meta;
- для авторских архивов и дат стоит
noindex; - на обычных записях robots meta не изменился;
- страницы пагинации не получили случайный
nofollow, если он не нужен; - в кэше не осталась старая версия HTML.
Если используется серверный или плагинный кэш, очистите его после правки. Иначе вы будете смотреть на старую разметку и решите, что код не сработал.
Как проверить через браузер и Search Console
В браузере откройте проблемный URL и найдите robots meta в исходнике. Затем в Google Search Console используйте проверку URL. Если страница уже была в индексе, статус может обновляться не сразу — это нормально. Важнее, чтобы при повторном обходе поисковик увидел noindex.
Для массовой проверки удобно выгрузить список URL из отчёта по страницам и посмотреть, какие из них относятся к архивам, пагинации и авторским страницам. Это помогает не закрыть случайно полезные посадочные.
Частые ошибки и как их исправить
1. Закрыли всё через robots.txt
Такой подход часто мешает поисковику увидеть noindex. Если URL уже в индексе, он может задержаться там дольше. Исправление: уберите запрет обхода для этих страниц и отдайте noindex на самой странице.
2. Поставили noindex и nofollow без причины
nofollow на архивных страницах обычно не нужен. Он может мешать обходу внутренних ссылок. Для большинства архивов достаточно noindex.
3. Сломали пагинацию рубрик
Если закрыть пагинацию слишком агрессивно, поисковик может хуже обходить старые записи. Исправление: не закрывайте все страницы подряд без анализа структуры сайта. Для контентных проектов пагинация иногда нужна как рабочий путь к материалам.
4. Конфликт с SEO-плагином
Если плагин уже управляет robots meta, а тема добавляет свой тег вручную, в коде может появиться несколько директив. Исправление: оставьте один источник правды — либо плагин, либо код в теме.
5. Не очистили кэш
После изменения шаблона старый HTML может ещё отдаваться из кэша. Исправление: очистите серверный кэш, кэш плагина и, если нужно, CDN.
Практические советы по безопасности и производительности
Если вы правите это через functions.php, делайте изменения в дочерней теме или в небольшом mu-plugin. Так вы не потеряете настройку после обновления темы. Для сайта с несколькими редакторами это особенно важно: случайная замена темы не должна возвращать лишние архивы в индекс.
Ещё один полезный момент: не дублируйте логику в нескольких местах. Когда robots meta формируется и в шаблоне, и в плагине, и в SEO-расширении, отладка превращается в угадывание. Лучше оставить один слой управления и документировать, где именно он находится.
Если нужен более широкий контроль над дублями, служебными страницами и технической чисткой, иногда проще использовать специализированный SEO-инструмент, чем собирать всё вручную. Но даже в этом случае полезно понимать, какие URL вы закрываете и почему — тогда настройки не будут конфликтовать с реальной структурой сайта.