Как отключить архив дат в WordPress без лома SEO и дублей

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

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

Когда архивы дат действительно мешают

Проблема обычно проявляется не в админке, а в поиске и аналитике. Если на сайте есть URL вида /2024/08/ или /2024/08/15/, они могут:

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

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

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

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

Проверка URL

Откройте несколько адресов вручную:

  • /2024/ — архив по году;
  • /2024/08/ — архив по месяцу;
  • /2024/08/15/ — архив по дню.

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

Проверка ссылок в теме

Ищите в шаблонах и меню вызовы, которые могут выводить даты:

<?php wp_get_archives( array( 'type' => 'monthly' ) ); ?>

Также проверьте виджеты, блоки в сайдбаре и футере, а если используется классическая тема — файлы sidebar.php, footer.php, archive.php и шаблоны блоков.

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

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

СпособЧто делаетКогда подходитКомпромисс
Удалить вывод ссылокУбирает архивы из меню, сайдбара, футераЕсли URL не нужны пользователямСами архивы могут остаться доступными напрямую
Закрыть от индексацииОставляет доступ, но снижает риск индексацииЕсли старые URL ещё где-то используютсяНе убирает дубли полностью
Отключить кодомВозвращает 404 или редиректЕсли архивы не нужны вообщеНужно аккуратно обработать старые ссылки

Вариант 1: убрать вывод архивов из темы

Если архивы дат выводятся через wp_get_archives(), просто удалите этот вызов или замените его на более полезный блок навигации. Это самый безопасный шаг, если проблема только в интерфейсе.

<?php if ( function_exists( 'wp_get_archives' ) ) : ?>
    <!-- архивы дат удалены -->
<?php endif; ?>

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

Вариант 2: отключить архивы дат через код

Если задача — не просто скрыть ссылки, а убрать сами архивы, можно перехватить запросы и отдавать 404 для годовых, месячных и дневных архивов. Это лучше делать в дочерней теме или через небольшой mu-plugin.

<?php
/**
 * Plugin Name: Disable Date Archives
 */
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;
    }
} );

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

Вариант 3: редирект на рубрику или блог

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

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

Замените /blog/ на реальный URL страницы, где пользователю проще продолжить просмотр материалов. Если такой страницы нет, лучше сначала создать её, а потом ставить редирект.

Пошаговое решение без лишнего риска

  1. Проверьте, используются ли архивы дат в меню, виджетах и шаблонах.
  2. Определите, нужны ли старые URL для внешних ссылок и пользователей.
  3. Если архивы не нужны вообще, отключите их через template_redirect или настройку темы.
  4. Если URL ещё важны, поставьте 301 на релевантную страницу.
  5. Очистите кэш сайта, CDN и серверный кэш.
  6. Проверьте, не остались ли архивы дат в sitemap, хлебных крошках и внутренних ссылках.

Как проверить, что всё сработало

После внедрения не ограничивайтесь открытием страницы в браузере. Проверьте несколько уровней:

  • URL архивов дат должны отдавать 404 или 301, в зависимости от выбранного сценария;
  • в исходном коде не должно остаться ссылок на архивы дат;
  • в Search Console нужно посмотреть, не растёт ли число исключённых URL;
  • если стоит кэш-плагин, убедитесь, что он не отдаёт старую версию страниц;
  • проверьте, что sitemap не содержит архивов дат, если вы их отключили.

Для быстрой проверки можно использовать curl:

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

Если вы ожидаете 404, в ответе должен быть соответствующий статус. Если настроен редирект, смотрите на 301 и заголовок Location.

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

Отключили ссылки, но архивы всё ещё индексируются

Это типичная ситуация: из шаблона убрали блок, но сам URL живой. Решение — либо закрыть архивы от индексации через SEO-плагин, либо вернуть 404/301 на уровне кода.

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

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

Сломали кэш и видите старые страницы

После изменений обязательно сбрасывайте не только плагин кэша, но и серверный кэш, если он есть. Иначе вы будете проверять уже не тот ответ, который отдаёт WordPress.

Сделали 404, но забыли про внешние ссылки

Если на архивы дат есть ссылки с других сайтов или из старых материалов, резкое удаление может дать лишние 404 в логах. В таком случае сначала соберите список URL из аналитики и логов, потом решайте: 404 или 301.

Что ещё стоит проверить рядом с архивами дат

Когда вы чистите архивы, полезно заодно посмотреть на похожие источники дублей: страницы автора, теги, вложения медиафайлов и внутренний поиск. Если сайт небольшой, иногда достаточно отключить только лишние архивы и не трогать остальную структуру. На более крупных проектах лучше идти от логов и Search Console, а не от предположений.

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

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

Любые изменения в шаблонах и хуках лучше вносить не в родительскую тему, а в дочернюю или в отдельный mu-plugin. Так вы не потеряете правки после обновления. Перед правкой файлов сделайте резервную копию и проверьте, есть ли staging-копия сайта.

Если архивы дат отключаются кодом, не перегружайте functions.php большим количеством логики. Для точечных правок достаточно небольшого плагина или mu-plugin — это проще сопровождать и легче отключать при отладке.

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

Как избежать проблем с кэшированием в WordPress
04.09.2026
WooCommerce: автоматическое изменение стоимости товара при сменах вариаций с подробной диагностикой
01.09.2026
Как отключить загрузку шрифтов в WordPress для ускорения сайта
09.09.2026
Как изменить вывод атрибутов img в WordPress: практические примеры и советы
14.09.2026
Как автоматизировать проверку и обновление установленных плагинов в WordPress
10.09.2026