Как убрать архивы дат в WordPress и оставить только нужные страницы

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

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

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

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

Особенно это заметно, если:

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

Что именно нужно проверить перед изменениями

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

Диагностика проблемы:
  • в поиске есть страницы вида /2024/05/ или /2024/05/15/;
  • в отчётах видны дубли заголовков или малоценных страниц;
  • архивы дат не дают отдельной пользы пользователю;
  • в шаблоне архива нет уникального текста, фильтров или полезной навигации.

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

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

ПодходКогда подходитПлюсМинус
ПлагинНужно быстро убрать дубли без правки темыМинимум кодаЗависимость от настроек плагина
Код в теме или mu-pluginНужен точечный контрольПредсказуемое поведениеТребует аккуратности
Только noindexАрхивы нужны пользователю, но не поискуМягкое решениеURL остаются доступными

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

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

<?php
add_action('init', function () {
    global $wp_rewrite;

    if (isset($wp_rewrite)) {
        $wp_rewrite->date_structure = '';
    }
}, 20);

add_filter('date_rewrite_rules', function ($rules) {
    return [];
});

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

Вариант 2. Закрыть архивы дат от индексации

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

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

    return $robots;
});

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

Вариант 3. Убрать ссылки на архивы из темы

Иногда проблема не в самих архивах, а в том, что тема активно выводит ссылки на даты в шапке, сайдбаре или футере. Тогда даже при noindex вы продолжаете плодить внутренние переходы на ненужные URL. Проверьте виджеты, блоки и шаблоны, где может быть список архивов.

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

<?php
// Пример: не выводить архивы дат в сайдбаре
if ( function_exists('wp_get_archives') ) {
    // Удалите или закомментируйте этот вызов в шаблоне
    // wp_get_archives(['type' => 'monthly']);
}

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

  1. Проверьте, нужны ли архивы дат пользователю. Если нет — отключайте их полностью.
  2. Если архивы нужны, решите, должны ли они индексироваться. В большинстве случаев ответ — нет.
  3. Уберите ссылки на архивы из шаблона, виджетов и меню.
  4. Добавьте noindex, follow для date-архивов, если они остаются доступными.
  5. Сохраните постоянные ссылки и очистите кэш сайта, CDN и браузера.
  6. Проверьте несколько URL архивов вручную и через инструменты для проверки индексации.

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

Проверка должна быть не только визуальной. Откройте архив месяца и посмотрите исходный код страницы: если вы оставляли архивы доступными, в <head> должен появиться noindex. Если архивы отключали полностью, URL должен отдавать 404 или 410, а не полноценную страницу со списком записей.

  • проверьте HTTP-статус через DevTools или curl -I https://site.ru/2024/05/;
  • посмотрите исходный код на наличие noindex;
  • убедитесь, что архивы дат больше не появляются в меню, сайдбаре и хлебных крошках;
  • проверьте sitemap, если он генерируется плагином или темой;
  • после переобхода страниц в Search Console отслеживайте, исчезают ли ненужные URL из отчётов.

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

Ставят noindex, но оставляют ссылки на архивы

Это частая недоработка. Поисковик может не индексировать сами архивы, но внутренний граф ссылок всё равно будет вести на них. В итоге вы тратите краулинговый бюджет на страницы, которые не нужны.

Закрывают архивы в robots.txt вместо noindex

Если URL уже известен поисковику, запрет в robots.txt не гарантирует исчезновение из индекса. Для удаления из поиска лучше использовать noindex или отдать 404/410, если страница действительно не нужна.

Меняют код, но не сбрасывают постоянные ссылки

После правки rewrite rules WordPress может продолжать использовать старую конфигурацию. Обязательно зайдите в Настройки → Постоянные ссылки и сохраните их без изменений.

Отключают архивы в теме, но забывают про кэш

Если у вас включён page cache, CDN или серверный кэш, старые архивы могут ещё какое-то время открываться. Перед проверкой очистите все уровни кэширования.

Что важно для безопасности и производительности

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

Если вы вносите изменения через код, лучше вынести их в отдельный mu-plugin или в дочернюю тему, а не править родительскую тему напрямую. Так обновление не затрёт вашу настройку. Если задача шире и вместе с архивами нужно убрать другие типовые дубли, имеет смысл посмотреть в сторону плагинов для технической чистки сайта, например Clearfy Pro: он помогает закрывать часть лишних страниц и упрощает контроль над SEO-мусором. Ссылку лучше ставить только там, где это реально уместно: Clearfy Pro.

Если архивы дат нужны редакции, но не нужны поиску, не пытайтесь решать всё через один универсальный плагин. Сначала определите, какие URL должны жить, какие — быть noindex, а какие — исчезнуть совсем. В WordPress такие решения лучше работают, когда они точечные и проверяемые, а не «на всякий случай».

⭐⭐⭐⭐⭐