Архивы по датам в WordPress часто создаются автоматически, но на многих сайтах они не несут самостоятельной ценности: в выдаче появляются страницы вида /2024/05/, которые дублируют рубрики, теги или ленту блога. Проблема не в самом факте наличия архивов, а в том, что поисковик может тратить обход на слабые страницы и показывать их вместо более полезных посадочных.
Если архивы дат не нужны пользователю, их обычно закрывают от индексации, а иногда и отключают ссылки на них в шаблоне. Ниже — рабочие способы, как сделать это без лишних побочных эффектов.
Когда архивы дат действительно стоит закрыть
Не спешите отключать всё подряд. Архивы дат полезны, если у вас новостной сайт, журнал с привязкой к периоду или контент, где важна хронология. В остальных случаях они часто создают технический шум: дубли заголовков, тонкие страницы без уникального текста и лишние URL в карте сайта.
Типичный сценарий для закрытия:
- сайт ведётся как блог, но пользователи ищут темы, а не месяцы публикации;
- архивы дат индексируются, хотя в них мало записей;
- в отчётах поиска видны страницы с низкой кликабельностью и слабым содержанием;
- нужно сократить количество нецелевых страниц в индексе без удаления самих записей.
Диагностика проблемы: что проверить перед изменениями
Сначала убедитесь, что проблема именно в индексируемых архивных страницах, а не в общей структуре сайта. Откройте несколько URL архивов дат и посмотрите:
- есть ли у страницы уникальный текст или это просто список записей;
- какой у неё title и meta description;
- попадает ли она в sitemap;
- отдаёт ли страница
index,followв robots meta; - есть ли на неё внутренние ссылки из меню, хлебных крошек или виджетов.
Если архив уже получает трафик по запросам вроде «посты за май 2024», не закрывайте его механически. В таком случае лучше оставить страницу доступной, но доработать её содержимое или навигацию.
Быстрая проверка в браузере и через исходный код
Откройте архив и проверьте исходный HTML. Если в <head> уже есть <meta name="robots" content="noindex,follow">, возможно, SEO-плагин делает всё сам. Если мета-тега нет, закрытие нужно добавить вручную или через плагин.
Способы решения: плагин, код или шаблон
Есть три нормальных варианта. Выбор зависит от того, нужен ли вам быстрый результат без правки темы или вы предпочитаете контролировать поведение на уровне кода.
| Подход | Когда использовать | Плюсы | Минусы |
|---|---|---|---|
| SEO-плагин | Если уже стоит Yoast SEO, Rank Math или аналог | Быстро, без кода | Зависит от интерфейса и версии плагина |
| Код в теме или мини-плагине | Если нужен точечный контроль | Предсказуемо, без лишних зависимостей | Нужно аккуратно обновлять |
| Отключение ссылок и шаблона архива | Если архивы вообще не нужны пользователю | Убирает шум из интерфейса | Требует проверки навигации и 404 |
Пошаговое решение через код
Самый надёжный способ — добавить noindex,follow для архивов дат и при необходимости убрать их из карты сайта. Ниже пример для functions.php дочерней темы или собственного мини-плагина.
<?php
add_filter( 'wp_robots', function( array $robots ) {
if ( is_date() ) {
$robots['noindex'] = true;
$robots['follow'] = true;
}
return $robots;
} );
Этот вариант не ломает обход ссылок, но просит поисковик не индексировать сами архивные страницы. Для большинства сайтов этого достаточно.
Если тема или плагин уже выводят robots meta, проверьте, не конфликтует ли ваш код с их настройками. В WordPress фильтр wp_robots работает на уровне генерации мета-тега, поэтому лучше не дублировать правила в нескольких местах.
Если нужно убрать архивы дат из sitemap
Сам по себе noindex не всегда исключает URL из карты сайта. В SEO-плагинах это обычно настраивается отдельно. Если вы пишете собственную логику, не пытайтесь вручную править XML-карту без необходимости: проще отключить тип архива в настройках плагина или через его фильтры, если они предусмотрены.
Например, в Yoast SEO и Rank Math есть встроенные настройки для архивов таксономий и архивов автора. Для архивов дат логика зависит от версии и конфигурации, поэтому сначала проверьте интерфейс плагина, а уже потом лезьте в код.
Как отключить ссылки на архивы дат в теме
Если архивы не нужны вообще, имеет смысл убрать их из элементов интерфейса, где они создают лишние переходы: из виджетов, футера, хлебных крошек или блока «Архивы». Это не замена noindex, а дополнение к нему.
<?php
// Пример: не выводить ссылку на архивы дат в кастомном шаблоне.
if ( ! is_date() ) {
echo '<a href="' . esc_url( get_month_link( (int) date( 'Y' ), (int) date( 'n' ) ) ) . '">Архив за этот месяц</a>';
}
На практике чаще всего достаточно убрать виджет «Архивы» и не добавлять даты в меню. Если ссылка уже встроена в тему, правьте шаблон аккуратно: не ломайте логику для других архивных страниц.
Проверка результата после внедрения
После изменений не ограничивайтесь визуальной проверкой. Сначала откройте архив даты и убедитесь, что в исходном коде появился noindex. Затем проверьте:
- страница отвечает кодом
200 OK, если вы оставили её доступной; - robots meta содержит
noindex,follow; - URL не попал в XML sitemap;
- внутренние ссылки на архивы дат либо убраны, либо не мешают навигации;
- в Search Console страница постепенно выпадает из индекса после переобхода.
Если вы используете кэш-плагин, очистите кэш после правок. Иначе можно проверить старую версию страницы и решить, что настройка не сработала.
Частые ошибки и как их исправить
Ставят noindex, но оставляют архив в sitemap
Это частая причина, почему URL продолжает активно обходиться. Поисковик видит противоречие: карта сайта подсказывает, что страница важна, а robots meta говорит обратное. Решение — убрать архив из sitemap на уровне SEO-плагина или конфигурации.
Закрывают архив через robots.txt
Запрет в robots.txt не равен noindex. Если URL уже известен поисковику, он может продолжать показываться без содержимого. Для удаления из индекса нужен именно мета-тег robots или заголовок X-Robots-Tag, а не только запрет обхода.
Ставят 301 на главную без анализа
Редирект всех архивов дат на главную часто ухудшает поведение сайта: пользователь теряет ожидаемую страницу, а поисковик получает нерелевантный сигнал. Если архивы не нужны, лучше noindex или аккуратное удаление ссылки, а не массовый редирект.
Меняют только SEO-плагин, но забывают о теме
Если тема выводит собственные ссылки на архивы дат, они останутся в интерфейсе даже после закрытия от индексации. Проверьте шаблоны, сайдбар, футер и блоки с метаданными записи.
Безопасность и производительность: что учесть
Само закрытие архивов дат не ускоряет сайт напрямую, но уменьшает количество бесполезных страниц в индексе и снижает риск того, что поисковик будет чаще обходить слабые URL. Если у вас много старого контента, это хороший повод одновременно проверить:
- не создаются ли дубли по датам, авторам и тегам;
- не дублируются ли title и H1 на архивных страницах;
- не разрастается ли sitemap за счёт технических страниц;
- не генерирует ли тема лишние архивные ссылки в шаблонах.
Если нужен более широкий контроль над дублями и технической чисткой, имеет смысл смотреть в сторону инструментов вроде Clearfy Pro: у него есть функции для отключения лишних архивов и технических элементов WordPress. Но даже с плагином полезно понимать, что именно он меняет, чтобы не закрыть лишнее.
Мини-чек-лист перед публикацией изменений
- Проверил, нужны ли архивы дат пользователям.
- Добавил
noindex,followдляis_date(). - Убедился, что архивы не попадают в sitemap.
- Убрал лишние ссылки из темы и виджетов.
- Очистил кэш и перепроверил исходный код страницы.
- Проверил статус URL в Search Console после переобхода.
Если после всех правок архивы дат всё ещё индексируются, обычно причина одна из трёх: кэш, конфликт SEO-плагина или отдельный шаблон темы, который переопределяет поведение WordPress. В таких случаях быстрее всего искать проблему по исходному HTML и по настройкам плагина, а не по внешнему виду страницы.