Как отключить архив дат в WordPress без лишней индексации

Архивы по датам в WordPress часто остаются включенными по умолчанию, хотя на большинстве сайтов они не несут самостоятельной ценности для поиска. В результате появляются страницы вида /2024/05/ или /2024/05/12/, которые могут индексироваться, собирать тонкий контент и конкурировать с рубриками, тегами или основными материалами.

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

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

На практике вопрос возникает в трех сценариях. Первый — блог с редкими публикациями, где архивы по месяцам и дням почти пустые. Второй — сайт с сильной внутренней перелинковкой, где архивы дат дублируют выборку записей из рубрик. Третий — старый проект, в котором архивы уже попали в индекс и тянут за собой мусорные страницы в отчетах Search Console.

Сам по себе архив не ошибка. Проблема начинается, когда он:

  • открыт для индексации без явной пользы для пользователя;
  • содержит мало записей или вообще пустой;
  • создает несколько уровней URL, которые повторяют один и тот же набор постов;
  • мешает SEO-структуре сайта, потому что поисковик тратит обход на второстепенные страницы.

Что именно нужно отключать

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

Важно не путать отключение архива с удалением страниц из индекса. Если URL уже известны поисковику, одного скрытия ссылки в шаблоне недостаточно — нужен либо noindex, либо редирект, либо отдача 404/410 в зависимости от сценария.

Диагностика: как понять, что архивы дат реально вредят

Перед изменениями проверьте, как сайт сейчас отвечает на архивные URL. Это можно сделать вручную в браузере, через DevTools или с помощью curl. Нужны три вещи: статус ответа, наличие индексации и наличие ссылок на архивы внутри темы.

curl -I https://example.com/2024/05/

Если ответ 200 OK, страница открыта. Это не всегда плохо, но если на ней нет уникальной ценности, она должна быть либо закрыта от индексации, либо перенаправлена на более полезный раздел.

Дальше проверьте исходный код страницы архива. Ищите:

  • <meta name="robots" content="noindex,follow"> — если уже стоит, возможно, проблема в другом;
  • канонический URL — он должен указывать на сам архив или на целевую страницу, если архив закрывается;
  • ссылки в сайдбаре, футере и хлебных крошках, которые ведут на архивы дат.

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

Как отключить архив дат: рабочие варианты

Выбор зависит от того, что вы хотите получить в итоге: убрать ссылки из интерфейса, закрыть страницы от индексации или полностью отключить доступ к архивам. Для большинства сайтов достаточно первого и второго пункта вместе.

СпособЧто делаетПлюсМинус
Настройки темы/SEO-плагинаСкрывает архивы и ставит noindexБыстро и без кодаЗависит от конкретного плагина или темы
Код в functions.phpУдаляет архивные ссылки и закрывает архивыКонтроль на уровне проектаНужно тестировать после обновлений темы
Редирект на рубрику или главнуюУводит старые URL на полезную страницуСохраняет часть трафикаНе всегда уместно для всех архивов

Вариант 1. Отключить архивы через код

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

add_filter( 'date_archive_link', function( $link ) {
	return '';
} );

add_action( 'template_redirect', function() {
	if ( is_date() ) {
		global $wp_query;
		$wp_query->set_404();
		status_header( 404 );
		nocache_headers();
		include get_query_template( '404' );
		exit;
	}
} );

Этот вариант подходит, если вы хотите полностью убрать архивы дат из публичной части. Но его стоит применять только после проверки, что на сайте нет внешних ссылок, которые вы хотите сохранить через редирект.

Вариант 2. Оставить URL, но закрыть от индексации

Если архивы нужны пользователям, но не нужны поиску, лучше не ломать поведение страницы, а добавить noindex,follow. В WordPress это обычно делают через SEO-плагин или фильтр, который меняет robots-мета только для архивов дат.

add_filter( 'wp_robots', function( $robots ) {
	if ( is_date() ) {
		$robots['noindex'] = true;
		$robots['follow']  = true;
	}
	return $robots;
} );

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

Вариант 3. Сделать редирект на более полезный раздел

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

add_action( 'template_redirect', function() {
	if ( is_date() ) {
		wp_safe_redirect( home_url( '/blog/' ), 301 );
		exit;
	}
} );

Редирект уместен, если архивы уже в индексе и у них есть внешние ссылки, но вы хотите консолидировать вес на одном разделе. Если же архивы были пустыми и почти не использовались, чаще достаточно noindex или 404.

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

После изменений не ограничивайтесь открытием страницы в браузере. Нужно проверить минимум четыре вещи: статус ответа, robots-мета, каноникал и наличие ссылок на архивы в шаблоне.

  • Откройте архивный URL и убедитесь, что он ведет туда, куда вы задумали.
  • Проверьте исходный код страницы на noindex или на корректный редирект.
  • Снова выполните curl -I и посмотрите статус ответа.
  • Пройдитесь по сайту и убедитесь, что ссылки на архивы дат не остались в сайдбаре, футере и хлебных крошках.
  • Если используете Search Console, отправьте URL на повторную проверку после переобхода.

Для быстрой проверки robots-мета можно посмотреть исходник страницы или использовать инструменты разработчика. Если архив должен отдавать 404, убедитесь, что это именно настоящий 404, а не страница с текстом ошибки и кодом 200.

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

Оставили архив в меню или виджете

Часто разработчик закрывает архив от индексации, но ссылка остается в меню или в блоке «Архивы». Для пользователя это выглядит как рабочая навигация, а для SEO-анализа — как лишний путь на нецелевую страницу. Решение простое: убрать виджет или заменить его на рубрики, теги, популярные материалы.

Сделали noindex, но не убрали дубли

noindex не решает проблему дублирующих URL, если у вас есть архивы по годам, месяцам и дням одновременно. Поисковик может продолжать обходить их, а внутренние ссылки будут раздувать структуру. В таких случаях стоит либо ограничить число архивов, либо закрыть лишние уровни полностью.

Поставили редирект на главную

Это распространенная ошибка. Главная страница редко является логичной заменой архиву даты. Пользователь теряет контекст, а поисковик получает слабый сигнал о релевантности. Лучше перенаправлять на раздел блога, рубрику или страницу с архивом записей, если она действительно полезна.

Смешали настройки плагина и ручной код

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

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

Любая правка, которая затрагивает архивы, должна проходить через staging или хотя бы через резервную копию файлов и базы. Особенно если вы меняете functions.php: одна синтаксическая ошибка может положить сайт целиком.

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

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

Практический ориентир простой: если архив дат не нужен как отдельная точка входа, уберите его из навигации, закройте от индексации или отдайте 404/301 в зависимости от сценария. Если нужен — оставьте, но сделайте его осмысленным и не дублирующим основной контент.

Как закрыть дубли страниц с помощью canonical и noindex в WordPress
14.08.2026
Как отключить открытые XML feed в WordPress и убрать лишнюю индексацию
27.08.2026
Как отключить архив авторов в WordPress без потери индексации
24.08.2026
Как отключить архив дат в WordPress без лишней индексации
30.08.2026
Как отключить XML-RPC в WordPress без поломки входов и синхронизации
17.08.2026