Архивы по датам в WordPress часто живут своей жизнью: /2024/05/, /2024/05/15/ и похожие страницы могут попадать в индекс, хотя для проекта они не несут отдельной ценности. На небольших сайтах это редко заметно, а на новостных, блоговых и контентных проектах такие архивы быстро превращаются в источник дублей и «пустых» страниц в выдаче.
Проблема обычно не в самом архиве, а в том, что он конкурирует с рубриками, тегами и страницами материалов. Если у архива даты нет собственной задачи, его лучше убрать из индекса и, при необходимости, вообще отключить на уровне шаблона или кода.
Когда архивы дат действительно мешают
Сначала стоит понять, есть ли у вас реальная проблема. Не каждый архив нужно трогать. Если сайт ведёт редакцию, а архивы по месяцам используются как навигация для читателей, их можно оставить, но закрыть от индексации. Если же это корпоративный сайт, блог с редкими публикациями или проект, где даты не важны, архивы обычно только засоряют структуру.
Типичные симптомы
- в поиске появляются страницы вида
/2023/11/или/2024/02/; - в отчётах Search Console видны URL архивов, которые не должны ранжироваться;
- архивы дат получают title и description по шаблону, но не дают полезного контента;
- в индексе больше страниц, чем реально нужно проекту;
- внутренние ссылки ведут на архивы, хотя пользователю они не помогают.
Диагностика: где именно создаются архивы
В WordPress архивы дат могут появляться из темы, из настроек SEO-плагина или из самого ядра. Поэтому перед правкой лучше проверить, что именно у вас включено.
- Откройте несколько URL архивов вручную и посмотрите, отдаются ли они с кодом
200. - Проверьте исходный HTML: есть ли
meta robotsсnoindexили только обычный индексируемый шаблон. - Посмотрите, не добавляет ли тема ссылки на архивы дат в сайдбар, футер или хлебные крошки.
- Если используете SEO-плагин, проверьте его настройки архивов и таксономий.
Удобно проверить ответ сервера через терминал:
curl -I https://example.com/2024/05/Если в ответе нет признаков noindex, а страница доступна как обычный HTML-документ, значит архив пока открыт для индексации.
Как отключить архивы дат: рабочие варианты
Здесь есть три нормальных подхода: закрыть от индексации, убрать ссылки из интерфейса или полностью отключить сами архивы. Выбор зависит от того, нужны ли они посетителям.
| Подход | Что делает | Когда использовать | Компромисс |
|---|---|---|---|
| noindex | Страница остаётся доступной, но не должна попадать в поиск | Если архив нужен пользователям | URL всё ещё существует и может быть найден по ссылкам |
| Удаление ссылок | Архив перестаёт быть заметным в интерфейсе | Если архив не нужен в навигации | Сам URL по-прежнему открывается напрямую |
| Полное отключение | Архив перестаёт работать как страница | Если архив точно не нужен | Нужно аккуратно обработать 404 или редирект |
Вариант 1: закрыть архивы дат от индексации
Если вы используете SEO-плагин, сначала проверьте его настройки архивов. Во многих случаях этого достаточно. Но если нужен точечный контроль без зависимости от интерфейса плагина, можно добавить код в functions.php дочерней темы или в собственный мини-плагин.
add_action('wp_head', function () {
if (is_date()) {
echo '<meta name="robots" content="noindex,follow" />' . "\n";
}
});Этот вариант не отключает страницу, а только просит поисковики не индексировать её. Для большинства сайтов этого достаточно, если архивы нужны как навигация.
Вариант 2: убрать ссылки на архивы дат из темы
Если архивы нигде не нужны, но тема выводит их в виджетах или меню, лучше убрать источник ссылок. Иначе пользователи и поисковые роботы будут продолжать находить эти URL.
Например, если в теме есть блок с архивами в сайдбаре, его проще отключить через настройки виджетов или удалить из шаблона. Если ссылка формируется вручную, ищите вызовы вроде wp_get_archives() и убирайте их из шаблонов.
<?php
// Пример: не выводим архивы дат в сайдбаре, если это не нужно.
if ( false ) {
wp_get_archives([
'type' => 'monthly',
'format' => 'html',
]);
}
?>Это не универсальный код для вставки «как есть», а ориентир: в реальном проекте лучше удалить сам вызов, а не прятать его условием.
Вариант 3: полностью отключить архивы дат
Если архивы не нужны вообще, можно перехватить запрос и отдать 404. Такой подход уместен для корпоративных сайтов и проектов, где дата публикации не является частью навигации.
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;
}
});Такой код лучше использовать осознанно: если на архивы уже есть внешние ссылки или внутренние переходы, часть трафика уйдёт в 404. В этом случае иногда разумнее поставить 301-редирект на главную, рубрику или страницу блога, но только если есть понятная замена.
Пошаговое решение без лишнего риска
- Определите, нужны ли архивы дат пользователю. Если нет — отключайте полностью.
- Если архивы нужны, но не должны индексироваться, добавьте
noindex,follow. - Уберите ссылки на архивы из сайдбара, футера и меню.
- Проверьте, не генерирует ли SEO-плагин собственный индексируемый шаблон для архивов.
- После правок обновите sitemap, если он содержит ссылки на архивы дат.
- Переобойдите проблемные URL в Search Console и посмотрите, как они меняют статус.
Как проверить, что решение сработало
Проверка должна быть не «на глаз», а по факту ответа страницы и индексации.
- Откройте архив даты в браузере и убедитесь, что он либо отдаёт 404, либо содержит
noindex. - Посмотрите исходный код страницы и найдите
<meta name="robots". - Проверьте заголовки ответа через
curl -I, если используете редирект или 404. - В Search Console отправьте проверку URL и посмотрите, как робот видит страницу.
- Через несколько дней проверьте, исчез ли URL из отчётов по индексированию.
Если архив остаётся доступным, но закрыт от индексации, в исходнике должно быть что-то вроде:
<meta name="robots" content="noindex,follow" />Если вы выбрали полное отключение, ответ должен быть не 200, а 404 или 301 в зависимости от сценария.
Частые ошибки и как их исправить
Оставили архив в sitemap
Даже если страница закрыта от индексации, ссылка в sitemap может продолжать отправлять поисковику противоречивый сигнал. Решение простое: исключите архивы дат из карты сайта на уровне SEO-плагина или фильтра генерации sitemap.
Поставили noindex, но не убрали внутренние ссылки
Страница не будет индексироваться, но роботы и пользователи всё равно будут на неё попадать. Если архив не нужен, удалите ссылки из шаблонов и виджетов.
Сделали 404 на архивы, но не проверили старые URL
Если на архивы есть внешние ссылки, резкое отключение может ухудшить пользовательский путь. В таком случае лучше сначала посмотреть логи или отчёты Search Console и решить, нужен ли редирект.
Использовали редирект на главную без логики
Массовый редирект архивов дат на главную часто выглядит как техническая заплатка и может запутать и пользователей, и поисковики. Если уж делать перенаправление, то на релевантную страницу: блог, рубрику или архив записей.
Производительность и безопасность: что учесть
Отключение архивов дат само по себе не ускорит сайт радикально, но уменьшит количество бесполезных страниц, которые нужно обходить и поддерживать. Это особенно заметно на проектах с большим количеством контента и слабой структурой внутренней перелинковки.
Если вы правите код вручную, не вносите изменения в родительскую тему: после обновления они пропадут. Для таких задач лучше использовать дочернюю тему или небольшой mu-plugin. И обязательно тестируйте изменения на staging-сайте, если проект уже получает трафик.
Если нужен более широкий контроль над дублями и технической чисткой WordPress, иногда удобнее вынести часть задач в специализированный плагин, например Clearfy Pro: он помогает закрывать технические страницы и управлять SEO-настройками без правки шаблонов. Но даже в этом случае логику отключения архивов лучше понимать и проверять вручную.
Что делать, если архивы дат нужны только частично
Иногда архивы полезны только для одного типа контента или только в определённом формате. Тогда не стоит отключать всё подряд. Можно оставить архивы для посетителей, но закрыть их от индексации, а также убрать из sitemap и из лишних блоков навигации. Это самый безопасный компромисс.
Если же вы видите, что архивы дат не несут ценности ни для пользователей, ни для поиска, отключайте их полностью и не оставляйте «полумёртвые» страницы. Именно такие страницы чаще всего создают технический шум в WordPress-проектах.