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

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

Ниже — рабочие варианты для темы и плагинов, без правки robots.txt и без отключения всего архива целиком.

Когда проблема действительно в метках

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

Признаки, что архивы меток лучше закрыть

  • в поиске индексируются страницы вида /tag/..., но они почти не получают трафик;
  • на одной метке висит 1–2 записи, а шаблон страницы почти не отличается от других архивов;
  • метки создаются автоматически и дублируют рубрики по смыслу;
  • в отчётах по индексации много страниц с низкой ценностью и одинаковыми title/description.

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

Диагностика: что именно сейчас индексируется

Перед изменениями проверьте, как WordPress и тема выводят архив меток. В некоторых темах уже есть настройка noindex для архивов, а в SEO-плагине — отдельный переключатель. Если вы добавите ещё и код, можно получить конфликт: одна часть сайта будет ставить index, другая — noindex.

Проверка вручную занимает пару минут:

  1. Откройте любую страницу метки в браузере.
  2. Посмотрите исходный код и найдите <meta name="robots".
  3. Проверьте, нет ли в <head> двух разных robots-меток.
  4. Сравните поведение главной страницы метки и её пагинации, если она есть.

Если robots-мета отсутствует, WordPress сам по себе её не добавляет. Тогда решение нужно реализовать либо через SEO-плагин, либо через код темы/мини-плагина.

Пошаговое решение через код

Самый предсказуемый способ — добавить фильтр wp_robots и закрыть только архивы меток. Это не ломает страницу для пользователей и не требует редактировать шаблон архива.

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

	return $robots;
} );

Этот вариант работает в современных версиях WordPress, где robots-мета собирается через API wp_robots. Если у вас уже установлен SEO-плагин, сначала проверьте, не делает ли он то же самое. Иначе на странице может появиться дублирующая разметка.

Если нужно закрыть только часть архивов меток

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

<?php
add_filter( 'wp_robots', function( array $robots ) {
	if ( is_tag() ) {
		$term = get_queried_object();

		if ( $term instanceof WP_Term && (int) $term->count < 3 ) {
			$robots['noindex']  = true;
			$robots['nofollow'] = true;
		}
	}

	return $robots;
} );

Логика простая: если метка почти не несёт контента, индексировать её обычно нет смысла. Но порог 3 — это не универсальное правило, а рабочий ориентир. На сайте с длинными статьями и хорошей перелинковкой он может быть другим.

Альтернатива через SEO-плагин

Если сайт уже использует SEO-плагин, настройка через интерфейс часто удобнее для редакторов. Но здесь важно не смешивать подходы: либо плагин управляет robots-метками, либо код. Два источника настроек — частая причина конфликтов.

ПодходПлюсыМинусы
SEO-плагинУдобно менять без кода, видно редакторуЗависит от конкретного плагина и его шаблонов
Код через wp_robotsТочечный контроль, меньше лишней логикиНужно аккуратно вносить изменения и тестировать тему
robots.txtПросто закрыть обходНе решает задачу индексации так надёжно, как noindex

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

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

После изменения не ограничивайтесь просмотром кода страницы. Нужно проверить, что WordPress действительно отдаёт нужную robots-метку и что она не конфликтует с кэшем.

  • Откройте архив метки в режиме инкогнито.
  • Проверьте исходный код на наличие noindex и nofollow.
  • Если используется кэш-плагин, очистите кэш страницы и объектный кэш, если он есть.
  • Проверьте несколько разных меток: пустую, обычную и с пагинацией.
  • Убедитесь, что на страницах записей robots-мета не изменилась случайно.

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

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

Добавили noindex, но страница всё равно в индексе

Это обычно не ошибка кода, а вопрос времени. Поисковик не удаляет URL мгновенно. Если страница давно в индексе, ей нужно дать время на переобход. Ускоряет процесс только корректная robots-метка и отсутствие блокировки обхода в robots.txt.

Поставили запрет в robots.txt вместо noindex

Такой вариант не всегда помогает убрать уже проиндексированную страницу. Более того, если робот не может зайти на страницу, он не увидит мета-тег noindex. Для архивов меток это частая и лишняя ошибка.

Получили две robots-метки на одной странице

Это признак конфликта между темой, SEO-плагином и кастомным кодом. Оставьте только один источник управления. Если плагин уже умеет закрывать архивы меток, уберите фильтр из темы или мини-плагина.

Закрыли метки, но сломали внутреннюю навигацию

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

Безопасность и производительность

Код лучше не вставлять прямо в functions.php активной темы, если сайт часто обновляется или тема меняется. Практичнее вынести фильтр в небольшой mu-plugin или в отдельный мини-плагин. Так решение не потеряется после обновления темы.

<?php
/**
 * Plugin Name: Tag Archives Robots Control
 */
add_filter( 'wp_robots', function( array $robots ) {
	if ( is_tag() ) {
		$robots['noindex']  = true;
		$robots['nofollow'] = true;
	}

	return $robots;
} );

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

Что проверить после публикации изменений

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

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

⭐⭐⭐⭐⭐