На живых WordPress-сайтах проблема обычно не в одной «лишней» странице, а в пачке архивов: теги, пустые рубрики, архивы дат, страницы вложений, иногда кастомные таксономии. В индексе они создают дубли, размывают релевантность и тянут на себя краулинговый бюджет. При этом полностью отключать архивы нельзя: внутри сайта они часто нужны для навигации пользователей и перелинковки.
Ниже — рабочий сценарий, где мы не ломаем структуру сайта, а аккуратно убираем из индекса то, что не должно ранжироваться.
Что именно обычно попадает в индекс лишним
Перед правками полезно понять, с чем вы имеете дело. На большинстве сайтов лишними оказываются:
- архивы тегов, если они дублируют рубрики или почти пустые;
- архивы дат, если сайт не новостной и они не несут самостоятельной ценности;
- страницы вложений, которые WordPress создаёт для медиафайлов;
- архивы авторов на сайтах с одним автором;
- кастомные таксономии, если их страницы не дают полезной выборки контента;
- пагинация архивов, если она индексируется без явной пользы.
Важно не путать noindex и полное отключение страниц. Если архив нужен для пользователей, но не нужен поиску, обычно достаточно закрыть его от индексации и оставить доступным для обхода внутри сайта.
Диагностика проблемы: что проверить до изменений
Сначала посмотрите, что уже индексируется. Это можно сделать через поиск по сайту и через Google Search Console. Если в индексе есть страницы вида /tag/, /date/, /author/ или архивы вашей таксономии, значит проблема уже проявилась.
Быстрая проверка в админке и через поиск
В админке WordPress откройте список рубрик, тегов и кастомных таксономий. Если у термина почти нет записей или описание пустое, такой архив редко нужен в поиске. Дополнительно проверьте, не создаёт ли тема отдельные шаблоны для архивов с одинаковыми блоками и без уникального текста.
В поиске можно быстро оценить масштаб:
site:example.com/tag/site:example.com/date/site:example.com/author/Если таких URL много, а ценности для поиска нет, их лучше закрыть системно, а не вручную через мета-теги на каждой странице.
Какой способ выбрать: плагин, код или настройка темы
Для этой задачи есть три нормальных пути. Выбор зависит от того, нужен ли вам точечный контроль или достаточно типовой настройки.
| Способ | Когда подходит | Плюсы | Минусы |
|---|---|---|---|
| SEO-плагин | Нужно быстро закрыть архивы без кода | Просто включить, меньше риска ошибиться | Не всегда удобно для нестандартных таксономий |
| Код в теме или mu-plugin | Нужен точный контроль над конкретными архивами | Гибко, прозрачно, без лишних зависимостей | Нужно аккуратно тестировать |
| Настройки темы | Тема уже умеет управлять архивами | Быстро и без правок кода | Зависимость от темы, не всегда есть нужные опции |
Если у вас уже стоит SEO-плагин, сначала проверьте его настройки. Если нет — проще и надёжнее сделать точечную правку кодом, чем ставить плагин только ради одной функции.
Пошаговое решение через код
Самый предсказуемый вариант — добавить noindex,follow для нужных архивов и при необходимости убрать их из XML-карты сайта. Для этого можно использовать фильтр wp_robots, который есть в ядре WordPress.
1. Добавляем noindex для архивов тегов, дат и авторов
Код можно положить в functions.php дочерней темы или, что надёжнее, в небольшой mu-plugin. Пример ниже закрывает от индексации архивы тегов, дат и авторов, но не трогает обычные записи и страницы:
<?php
add_filter( 'wp_robots', function( array $robots ) {
if ( is_tag() || is_date() || is_author() ) {
$robots['noindex'] = true;
$robots['follow'] = true;
}
return $robots;
} );Если у вас есть кастомная таксономия, добавьте её отдельно через is_tax( 'product_brand' ) или нужный вам slug.
<?php
add_filter( 'wp_robots', function( array $robots ) {
if ( is_tax( array( 'product_brand', 'news_topic' ) ) ) {
$robots['noindex'] = true;
$robots['follow'] = true;
}
return $robots;
} );2. Убираем архивы из sitemap, если они там не нужны
Если архив закрыт от индексации, но продолжает попадать в карту сайта, это лишний шум. В Yoast SEO и Rank Math такие вещи обычно настраиваются в интерфейсе. Если вы не используете SEO-плагин, проверьте, не генерирует ли sitemap тема или отдельный плагин.
Для собственного sitemap-решения логика простая: не включайте в карту URL, которые вы уже пометили как noindex и которые не должны получать поисковый трафик.
3. Для страниц вложений делаем редирект на файл или родительскую запись
Страницы вложений часто индексируются без пользы. Если у вас нет отдельной задачи сохранять их как посадочные страницы, лучше перенаправить их на файл или на родительскую запись. Это не про SEO-магии, а про чистку мусора в структуре сайта.
<?php
add_action( 'template_redirect', function() {
if ( is_attachment() ) {
$parent = wp_get_post_parent_id( get_the_ID() );
if ( $parent ) {
wp_safe_redirect( get_permalink( $parent ), 301 );
exit;
}
$file = wp_get_attachment_url( get_the_ID() );
if ( $file ) {
wp_safe_redirect( $file, 301 );
exit;
}
}
} );Если вложения уже в индексе, редирект поможет постепенно убрать их из выдачи. Но сначала проверьте, не используются ли эти страницы в навигации или в сторонних интеграциях.
Если удобнее через SEO-плагин
В популярных SEO-плагинах можно отключать индексацию архивов без кода. Это удобно, если у вас контент-менеджеры сами добавляют теги и рубрики, а разработчик не хочет поддерживать отдельный сниппет. Но важно проверить, что плагин действительно меняет robots и не только скрывает страницы из интерфейса.
Если нужен более широкий набор инструментов для чистки дублей, архивов и технических мелочей, можно посмотреть в сторону Clearfy Pro: https://wpshop.ru/plugins/clearfy. Но ставить его стоит только если вы реально используете часть функций, а не ради одной галочки.
Как проверить, что решение сработало
После правок не ограничивайтесь просмотром исходного кода одной страницы. Проверка должна быть по нескольким уровням:
- откройте архив в браузере и убедитесь, что в HTML есть
noindex; - проверьте заголовки ответа, если у вас есть доступ к инструментам разработчика или curl;
- посмотрите, исчез ли URL из sitemap;
- в Google Search Console отправьте страницу на повторную проверку, если она уже была в индексе;
- проверьте, не сломалась ли внутренняя навигация по архивам на сайте.
Пример быстрой проверки через консоль:
curl -I https://example.com/tag/sample/Если вы используете wp_robots, в HTML-источнике страницы должен появиться соответствующий robots-мета-тег. Если его нет, значит фильтр не сработал или тема/плагин переопределяет вывод.
Частые ошибки и как их исправить
Закрыли архивы, но оставили их в sitemap
Это частая несогласованность. Поисковик видит URL в карте сайта, заходит на него и получает noindex. Само по себе это не катастрофа, но лишний шум лучше убрать. Решение — исключить такие URL из sitemap на стороне SEO-плагина или генератора карты сайта.
Поставили noindex на всё подряд
Иногда в коде ошибочно используют слишком общий условный тег и закрывают не только архивы, но и полезные страницы. Проверяйте условия отдельно: is_tag(), is_date(), is_author(), is_tax(). Не заменяйте их одним широким условием без теста.
Сделали редирект с архивов, которые нужны для пользователей
Если архив реально используется как каталог материалов, редирект на главную или на случайную запись только ухудшит UX. В таком случае лучше оставить страницу доступной, но закрыть её от индексации.
Правили файл темы напрямую
Это рабочий, но хрупкий путь. После обновления темы изменения могут исчезнуть. Для постоянных правок лучше использовать дочернюю тему или mu-plugin.
Практические советы по безопасности и производительности
Когда вы чистите индексацию, не забывайте про техническую сторону:
- не ставьте несколько SEO-плагинов одновременно — они могут конфликтовать в выводе robots;
- не редактируйте основную тему на продакшене без бэкапа;
- если используете кеш, после правок очистите кеш страницы и, при необходимости, объектный кеш;
- не закрывайте от индексации страницы, которые участвуют в важной перелинковке и реально приводят трафик;
- проверяйте кастомные таксономии отдельно: у них часто есть свои шаблоны и свои правила генерации sitemap.
Если задача шире и вам нужно не только закрыть архивы, но и убрать дубли, лишние мета-данные и технический мусор, такие вещи удобнее вести централизованно, а не разрозненными сниппетами. Но даже в этом случае сначала делайте точечную диагностику: какой именно тип страниц создаёт проблему, где он попадает в индекс и кто его генерирует.
После внедрения не спешите трогать остальные архивы. Сначала проверьте одну категорию или одну таксономию, убедитесь, что сайт не потерял полезные посадочные страницы, и только потом масштабируйте правило на весь проект.