Архивы по датам в WordPress часто появляются сами по себе: /2024/, /2024/05/, иногда ещё и дневные архивы. На небольших и средних сайтах они редко несут пользу, но создают лишние URL, дублируют контент и размывают внутренний вес. Если у вас блог, корпоративный сайт или контентный проект без жёсткой привязки к датам, такие страницы обычно лучше отключить или закрыть от индексации.
Ниже разберём, как понять, что архивы дат реально мешают, какие есть варианты отключения и как проверить результат без лишнего риска для сайта.
Когда архивы дат становятся проблемой
Сами по себе архивы не ошибка. Проблема начинается, когда поисковик видит много страниц, которые почти не отличаются друг от друга или вообще не нужны пользователю. Типичные признаки:
- в индексе есть страницы вида
/2023/,/2023/11/,/2023/11/15/; - в отчётах по индексации растёт число «обнаружено, но не проиндексировано»;
- в выдаче всплывают архивы вместо нужных посадочных страниц;
- страницы архивов получают трафик, но не дают конверсии и не ведут дальше по сайту;
- в теме или плагине есть отдельные блоки навигации по датам, которые дублируют рубрики и теги.
Если архивы используются как реальная навигация для новостного сайта, их можно оставить. Но для большинства сайтов проще убрать их из индекса и не плодить лишние URL.
Диагностика: какие архивы у вас вообще открыты
Сначала проверьте, какие архивы WordPress отдаёт на фронтенде. Это можно сделать вручную и через поиск по коду темы.
Проверка в браузере и поиске
Откройте несколько типовых адресов:
/2024/— годовой архив;/2024/05/— месячный архив;/2024/05/17/— дневной архив;/date/2024/— если у вас нестандартные правила или плагин.
Если страница открывается и показывает список записей, значит архив активен. Дальше проверьте исходный код страницы: есть ли там meta robots, canonical и не закрыт ли архив уже на уровне SEO-плагина.
Проверка в теме и плагинах
Ищите в коде темы или плагина вызовы функций:
get_archives();wp_get_archives();get_the_date()в шаблонах архивов;- виджеты «Архивы» в сайдбаре;
- ссылки на архивы в хлебных крошках или футере.
Иногда архивы не нужны как страницы, но на них ведут внутренние ссылки. Тогда закрыть их от индексации мало — лучше убрать сами ссылки из интерфейса.
Как отключить архивы дат: сравнение подходов
| Способ | Что делает | Когда подходит | Минус |
|---|---|---|---|
| SEO-плагин | Ставит noindex или убирает архивы из карты сайта | Если нужно быстро и без кода | Не всегда убирает сам URL и внутренние ссылки |
| Код в теме/плагине | Отключает архивы на уровне WordPress | Если нужен точный контроль | Нужно аккуратно тестировать после обновлений |
| Комбинированный вариант | Отключает архивы и дополнительно закрывает их от индексации | Для сайтов, где архивы точно не нужны | Нельзя забыть про ссылки и старые URL |
Пошаговое решение через код
Если архивы дат на сайте не нужны вообще, их можно отключить через functions.php дочерней темы или через небольшой mu-plugin. Второй вариант надёжнее: код не потеряется при смене темы.
Вариант 1: отключить архивы дат и вернуть 404
Этот способ подходит, если вы хотите полностью убрать доступ к архивам по датам. WordPress перестанет обслуживать такие запросы, а пользователь и поисковый робот получат 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;
}
});Что важно: этот код не удаляет уже проиндексированные URL из поиска мгновенно. Он только меняет ответ сервера. После этого поисковик постепенно выкинет такие страницы из индекса, если не увидит на них полезного сигнала.
Вариант 2: оставить страницу, но закрыть от индексации
Если вам нужно, чтобы архивы открывались для пользователей, но не попадали в индекс, используйте noindex. Это мягче, чем 404, и иногда полезно для старых сайтов, где архивы уже есть в ссылках.
<?php
add_filter('wp_robots', function ($robots) {
if (is_date()) {
$robots['noindex'] = true;
$robots['follow'] = true;
}
return $robots;
});Такой вариант не ломает переходы по сайту, но просит поисковик не индексировать архивные страницы. Если SEO-плагин уже добавляет свои robots-правила, проверьте, не конфликтуют ли они друг с другом.
Вариант 3: убрать ссылки на архивы из интерфейса
Если архивы показываются в виджете или в шаблоне, их лучше убрать совсем. Тогда не будет лишних внутренних ссылок, которые подталкивают поисковик к обходу этих URL.
<?php
add_filter('widget_archives_args', function ($args) {
$args['type'] = 'monthly';
$args['limit'] = 0;
return $args;
});
add_filter('getarchives_where', function ($where, $args) {
// Пример: можно ограничить вывод архивов по датам, если они всё же нужны.
return $where;
}, 10, 2);Но на практике проще удалить виджет «Архивы» из сайдбара и не выводить даты в навигации, если они не несут смысла.
Если используете SEO-плагин
В большинстве случаев удобнее не писать код, а закрыть архивы через настройки SEO-плагина. Смотрите не только на noindex, но и на то, попадает ли архив в XML-карту сайта и есть ли на него внутренние ссылки.
- проверьте, есть ли отдельная настройка для архивов дат;
- убедитесь, что архивы не попадают в sitemap;
- посмотрите, не создаёт ли плагин canonical на сам архив;
- проверьте, не дублируются ли правила в нескольких местах.
Если нужен более широкий набор инструментов для чистки дублей и технической оптимизации, иногда удобнее использовать набор функций из Clearfy Pro, но только если вам действительно нужен такой комбайн. Для одной задачи код часто проще и прозрачнее.
Проверка результата после внедрения
После изменений не ограничивайтесь тем, что страница «не открывается». Нужно проверить именно технический результат.
Что проверить вручную
- откройте несколько URL архивов и убедитесь, что они дают 404 или
noindexв зависимости от выбранного варианта; - посмотрите исходный код страницы: есть ли
meta name="robots"; - проверьте заголовки ответа через DevTools или
curl -I; - убедитесь, что архивы больше не попадают в меню, виджеты и хлебные крошки.
Пример проверки через curl
curl -I https://example.com/2024/05/Если вы выбрали 404-стратегию, в ответе должен быть статус 404. Если выбрали noindex, статус страницы останется 200, но в HTML должен быть robots-тег с запретом индексации.
Что смотреть в Search Console
В отчётах по страницам проверьте, уменьшается ли число URL архивов. Это не мгновенный процесс: поисковику нужно время, чтобы переобойти старые адреса. Если архивы продолжают появляться, значит где-то остались внутренние ссылки или sitemap всё ещё их публикует.
Частые ошибки и как их исправить
Ставят noindex, но оставляют архивы в sitemap
Это частая ошибка. Поисковик видит URL в карте сайта и одновременно получает сигнал не индексировать его. В итоге страницы могут болтаться в статусе «обнаружено» дольше обычного. Решение: убрать архивы из sitemap и оставить только один понятный сигнал.
Отключают архивы через тему, а потом меняют шаблон
Если код лежит в functions.php активной темы, при смене темы он исчезнет. Для технических ограничений лучше использовать дочернюю тему или mu-plugin.
Ломают навигацию по сайту
Иногда архивы дат используются как часть логики темы: в блоке «последние записи», в хлебных крошках, в сайдбаре. После отключения часть ссылок становится пустой или ведёт в 404. Перед внедрением проверьте, где именно тема строит ссылки на даты.
Путают архивы дат и архивы рубрик
Это разные сущности. Если закрыть всё подряд, можно случайно убрать полезные страницы рубрик, которые реально приводят трафик. Сначала проверьте условие is_date(), а не общие архивы.
Практические советы по безопасности и производительности
Если вы вносите код вручную, не редактируйте файлы темы через встроенный редактор WordPress на боевом сайте. Ошибка в PHP может положить админку. Лучше использовать SFTP, Git или хотя бы staging-копию.
- сначала тестируйте на копии сайта;
- после изменений очистите кэш страницы и кэш CDN, если он есть;
- не дублируйте одно и то же правило в нескольких плагинах;
- если архивы закрыты, уберите на них внутренние ссылки, чтобы не тратить краулинговый бюджет впустую;
- проверьте, не генерирует ли тема отдельные архивы для кастомных типов записей по той же схеме.
Если задача шире и включает не только архивы дат, но и дубли, служебные страницы и мусорные URL, лучше сначала составить список всех технических страниц сайта, а потом уже решать, что закрывать, а что оставлять. В WordPress такие решения почти всегда завязаны на структуру темы и набор активных плагинов, а не только на один переключатель в админке.