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

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

Задача здесь не в том, чтобы «всё запретить», а в том, чтобы убрать бесполезные архивы и при этом не сломать сайт: меню, хлебные крошки, sitemap и старые ссылки должны вести себя предсказуемо.

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

Проблема обычно проявляется не в админке, а в поиске и аналитике. Типичные признаки:

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

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

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

Перед правкой лучше проверить, откуда вообще берутся архивы. Откройте несколько URL вручную и посмотрите, что они отдают:

  • /2024/ — годовой архив;
  • /2024/05/ — месячный архив;
  • /2024/05/12/ — дневной архив;
  • /author/ и другие архивы так же стоит проверить, но здесь речь именно о датах.

Если у вас есть доступ к консоли, полезно посмотреть HTTP-ответ и мета-роботы:

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

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

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

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

СпособКогда подходитПлюсыМинусы
SEO-плагинЕсли уже используется плагин для мета-тегов и robotsБыстро, без правки темыНе всегда убирает ссылки из темы и виджетов
Код в теме/плагинеЕсли нужен точный контрольМожно отключить архив и отдать 404/redirectНужно аккуратно тестировать обновления
КомбинацияЕсли архивы уже в индексеМожно убрать интерфейс и постепенно вывести URLТребует проверки редиректов и sitemap

Вариант 1. Убрать архивы дат из индекса через SEO-плагин

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

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

Вариант 2. Отключить архивы дат кодом

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

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

Этот код перенаправляет все date archive на главную. На практике это подходит не всем: если у вас есть релевантная страница-замена, лучше редиректить на неё, а не на главную.

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

Вариант 3. Отдавать 404 для архивов дат

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

<?php
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 на релевантную страницу, а уже потом, если нужно, пересмотреть схему.

Что ещё нужно убрать, кроме самих архивов

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

  • виджет «Архивы» в сайдбаре;
  • ссылки в шаблонах date и time;
  • метаданные записи, если тема выводит дату как ссылку;
  • ссылки в XML sitemap, если плагин туда добавляет архивы;
  • внутренние блоки с «последние записи», где дата кликабельна.

Если вы правите тему, ищите вызовы get_the_date(), the_date() и функции, которые оборачивают дату в ссылку на архив. Иногда достаточно убрать <a> вокруг даты, чтобы перестать плодить переходы.

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

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

  1. архивы дат открываются по ожидаемому сценарию: 301 или 404;
  2. в HTML нет ссылок на старые date archive из шаблона;
  3. в sitemap не попали лишние архивные URL;
  4. в Search Console или аналогичном инструменте новые URL не появляются как индексируемые;
  5. старые URL не создают цепочки редиректов.

Быстрая проверка через curl выглядит так:

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

Если вы ставили редирект, ожидайте 301 и корректный Location. Если выбрали 404, должен быть именно 404 Not Found, а не мягкая страница с кодом 200.

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

Редирект на главную без логики

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

Отключили архив, но оставили ссылки в теме

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

Поставили noindex, но URL всё равно в sitemap

Это конфликт настроек. Если страница закрыта от индексации, она не должна одновременно активно продвигаться через sitemap. Проверьте настройки SEO-плагина и исключите архивы из карты сайта, если это возможно.

Сломали хлебные крошки

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

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

Если вы вносите код, лучше не править functions.php основной темы. Используйте дочернюю тему или небольшой mu-plugin, чтобы изменения не потерялись после обновления.

Ещё один практический момент: не плодите несколько решений одновременно. Если SEO-плагин уже ставит noindex, а код делает 301, а тема ещё и убирает ссылки, потом трудно понять, что именно сработало и где возник конфликт.

Для сайтов с большим количеством старых архивов полезно сначала собрать список URL, которые реально есть в индексе, и только потом решать: редирект, 404 или noindex. Это экономит время и уменьшает риск сломать полезные переходы.

Если нужен более широкий набор инструментов для чистки дублей и технической оптимизации, можно посмотреть Clearfy Pro: https://wpshop.ru/plugins/clearfy. Но даже с плагином базовая проверка URL, sitemap и редиректов всё равно остаётся обязательной.

В итоге рабочая схема простая: сначала диагностируете, какие date archive реально существуют, затем выбираете один способ отключения, после этого проверяете HTTP-коды, sitemap и внутренние ссылки. Если хотя бы один из этих этапов пропустить, архивы обычно возвращаются через тему, виджет или старый URL в индексе.

Автоматические подписки на платежи в WooCommerce с помощью WPRemark
27.09.2026
Как удалить все комментарии из базы WordPress с помощью кода
09.09.2026
Как отключить XML-RPC в WordPress без поломки приложений и удалённого доступа
07.09.2026
Как запретить индексацию страниц с параметром s в WordPress
26.08.2026
Как использовать WPRemark для автоматического размещения отзывов в WordPress
24.09.2026