Архивы по датам в блоге на WordPress часто появляются автоматически, но далеко не всегда приносят пользу. Если у вас нет задачи вести журнал публикаций по месяцам или годам, такие страницы обычно превращаются в тонкие листинги, которые дублируют навигацию по рубрикам и тегам, а иногда ещё и тянут на себя краулинговый бюджет. В этой статье разберём, как отключить архивы дат, что делать с уже существующими URL и как проверить, что решение не сломало сайт.
Когда архивы дат действительно мешают
Сначала стоит понять, есть ли проблема вообще. Если архивы по датам доступны по адресам вроде /2024/05/ или /2024/05/12/, поисковик может индексировать их как отдельные страницы. Для новостного сайта это иногда нормально, но для обычного блога чаще нет.
Типичные признаки:
- в индексе есть страницы архивов, но они почти не получают трафик;
- в отчётах краулинга много URL с датами, хотя контент уже есть в записях;
- внутренние ссылки на архивы дат есть в теме, хотя вы ими не пользуетесь;
- в поиске по сайту или в аналитике видно, что пользователи не переходят в такие архивы.
Что именно нужно проверить в первую очередь
Откройте несколько URL архивов дат вручную и посмотрите, что на них отображается. Если там просто список записей без уникального текста, без полезной фильтрации и без реальной пользовательской ценности, это кандидат на отключение или как минимум на noindex.
Дополнительно проверьте исходный код страницы: есть ли мета-тег robots, не отдаются ли архивы с кодом 200, и не ведут ли на них ссылки из меню, футера или хлебных крошек.
Какие есть варианты решения
Убирать архивы дат можно по-разному. Выбор зависит от того, хотите ли вы полностью отключить URL, оставить их для пользователей, но закрыть от индексации, или просто убрать ссылки из интерфейса.
| Подход | Что делает | Плюсы | Минусы |
|---|---|---|---|
| Плагин | Скрывает архивы, добавляет noindex или редиректы | Быстро, без правки темы | Зависимость от настроек и лишний код |
| Код в теме | Отключает архивы на уровне WordPress | Контроль и минимум лишнего | Нужно аккуратно тестировать |
| Компромисс | Оставляет URL, но закрывает от индексации и убирает ссылки | Не ломает старые адреса | Архивы всё ещё доступны по прямой ссылке |
Пошагово: отключаем архивы дат через код
Если вам не нужны архивы дат вообще, проще всего отключить их через фильтр date_rewrite_rules не получится — это не тот случай. В WordPress для этого обычно используют проверку в template_redirect и выводят 404 для архивов дат. Такой подход безопаснее, чем пытаться переписать все правила вручную.
<?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;
}
});Этот вариант подходит, если архивы дат не должны существовать как публичные страницы. Важно: не вставляйте код в functions.php активной темы, если тема часто обновляется. Лучше использовать дочернюю тему или небольшой mu-plugin.
Если нужно не удалять, а закрыть от индексации
Иногда архивы дат оставляют ради пользователей, но закрывают от поисковиков. Тогда лучше не отдавать 404, а добавить noindex,follow для date-архивов. Это не убирает URL из интернета, но снижает риск индексации.
<?php
add_filter('wp_robots', function (array $robots) {
if (is_date()) {
$robots['noindex'] = true;
$robots['follow'] = true;
}
return $robots;
});Такой вариант удобен, если у вас уже есть внешние ссылки на архивы дат и вы не хотите резко отдавать 404. Но если архивы не нужны совсем, 404 обычно чище.
Как убрать ссылки на архивы дат из темы
Даже если вы закрыли архивы от индексации, ссылки на них могут оставаться в шаблоне. Обычно это блоки в сайдбаре, виджеты, футер или хлебные крошки. Их нужно убрать отдельно, иначе пользователь будет попадать на бесполезные страницы.
Проверьте:
- виджет «Архивы» в админке;
- ссылки на даты в шаблонах
sidebar.php,footer.phpиarchive.php; - автоматические блоки темы, которые показывают дату публикации как ссылку;
- плагины для SEO и навигации, которые могут генерировать архивные ссылки.
Если в теме есть виджет архивов, его лучше отключить в админке, а не прятать CSS-ом. Скрытый блок всё равно остаётся в разметке и может путать и пользователей, и аудит.
Диагностика после внедрения
После изменений важно не ограничиваться визуальной проверкой. Нужно убедиться, что WordPress реально перестал отдавать архивы дат или пометил их как неиндексируемые.
- Откройте несколько старых URL архивов дат в браузере.
- Проверьте HTTP-статус через DevTools или
curl. - Посмотрите исходный код страницы и убедитесь, что мета-тег robots соответствует выбранной стратегии.
- Проверьте, не остались ли ссылки на архивы в меню и виджетах.
- В Search Console отправьте страницу на повторную проверку, если URL уже были в индексе.
Пример проверки через консоль:
curl -I https://example.com/2024/05/Если вы выбрали вариант с 404, в ответе должен быть код 404. Если выбрали noindex, страница может оставаться доступной, но в HTML должен быть корректный robots-мета-тег или заголовок.
Частые ошибки и как их исправить
Ошибка 1: закрыли архивы, но оставили ссылки в теме
В результате пользователь всё равно кликает по архиву и попадает на 404. Исправление простое: удалите ссылки из шаблонов и виджетов, а не только меняйте SEO-настройки.
Ошибка 2: сделали редирект на главную
Это плохой вариант для массовых архивов. Поисковик может воспринимать такие редиректы как мягкую ошибку, а пользователь не понимает, куда делась страница. Если архив не нужен, лучше 404 или noindex, а не массовый редирект на главную.
Ошибка 3: закрыли через robots.txt
Запрет в robots.txt не гарантирует удаление URL из индекса, если на них уже есть внешние ссылки. Для уже известных поисковику страниц лучше использовать noindex или отдавать 404/410.
Ошибка 4: сломали архивы записей по месяцам, хотя хотели отключить только дни
В WordPress есть разные типы date-архивов: по году, месяцу и дню. Перед внедрением проверьте, какие именно URL вы хотите убрать. Иногда достаточно отключить только дневные архивы, а месячные оставить для навигации.
Если нужен более мягкий вариант: плагин и готовые настройки
Когда не хочется править тему, можно использовать SEO-плагин или плагин для технической чистки сайта. В таких сценариях удобно, чтобы настройка архивов дат была в одном месте вместе с другими правилами индексации. Например, в Clearfy Pro есть инструменты для технической чистки и управления дублями, что полезно для блога с большим количеством служебных страниц. Но даже с плагином всё равно нужно проверить итоговый HTML и статус ответа, а не полагаться только на галочку в админке.
Практические советы по безопасности и производительности
Если вы вносите код вручную, не редактируйте файлы ядра и не правьте активную тему без бэкапа. Для небольших технических правок лучше использовать дочернюю тему или mu-plugin. Так обновление темы не затрёт изменения.
Ещё один момент: если архивы дат уже успели попасть в индекс, не ждите мгновенного эффекта. Сначала поисковик должен переобойти URL и увидеть новый статус или мета-тег. Для ускорения можно отправить важные URL на повторную проверку в Search Console, но массово это проблему не решает — здесь важнее стабильная конфигурация сайта.
Если у блога много старых публикаций, полезно периодически проверять, какие служебные URL реально доступны. Для этого достаточно выборочно смотреть логи, отчёты краулинга и результаты поиска по сайту. Чем меньше лишних архивов и дублей, тем проще поддерживать структуру блога и не раздувать технический хвост.