Архивы по месяцам и годам в WordPress часто создаются автоматически, но на многих сайтах они не несут самостоятельной пользы для поиска. Если в таких разделах мало записей, нет уникального текста и они дублируют навигацию по рубрикам или ленте, поисковым системам обычно незачем держать их в индексе. В этом случае архивы дат лучше закрыть от индексации, чтобы не размывать качество сайта и не плодить тонкие страницы.
Ниже разберём, когда это действительно нужно, чем отличается закрытие от индексации от удаления страницы для пользователей и как сделать всё корректно в WordPress.
Когда архивы дат стоит закрывать
Не каждый архив нужно прятать от поисковиков. Если у вас новостной сайт, блог с регулярными публикациями по месяцам или проект, где архивы помогают находить материалы по периоду, такие страницы могут быть полезны. Но на большинстве корпоративных сайтов, небольших блогах и контентных проектах архивы дат выглядят иначе: там мало записей, заголовки повторяются, а сама страница почти не даёт уникального смысла.
Закрывать архивы дат обычно имеет смысл, если:
- в архиве мало записей или они быстро устаревают;
- страницы архивов не приводят трафик и не решают отдельную задачу пользователя;
- архивы дублируют другие страницы сайта по смыслу;
- в индексе уже есть много слабых страниц, и вы хотите сократить их количество;
- на сайте есть более полезная навигация: рубрики, теги, поиск, подборки, хлебные крошки.
Если архивы дат у вас реально используются как самостоятельный раздел, например для новостей компании или журнала, сначала оцените их пользу по данным из поисковой консоли и аналитики. Закрытие без анализа может убрать из индекса страницу, которая всё-таки приносит переходы.
Что именно означает «закрыть от индексации»
Здесь важно не путать несколько разных действий. Закрыть от индексации — значит подсказать поисковым системам не включать страницу в выдачу. При этом сама страница может оставаться доступной для пользователей и для обхода роботом. Это не то же самое, что удалить страницу или запретить доступ к ней на уровне сервера.
Для архивов дат в WordPress обычно используют один из двух подходов:
- мета-тег robots с директивой
noindex— поисковик может зайти на страницу, но не должен показывать её в результатах; - запрет в
robots.txt— роботам не рекомендуется обходить URL, но это не гарантирует удаление уже известных страниц из индекса и не всегда подходит для тонких архивов.
Для задачи именно индексации архивов обычно надёжнее noindex. Если просто закрыть путь в robots.txt, поисковик может не увидеть директиву noindex на самой странице и оставить её в индексе дольше, чем вы ожидаете.
Самый простой способ: SEO-плагин
Если на сайте уже стоит SEO-плагин, это самый безопасный путь для большинства владельцев сайтов. В популярных плагинах можно отдельно отключить индексацию архивов дат без правки кода и без риска сломать шаблон темы.
Логика обычно одинаковая: в настройках архивов нужно найти раздел, связанный с архивами дат, и выставить для них noindex или отключить их показ в поиске. После сохранения плагин добавит нужные мета-указания в HTML страницы.
Плюс этого способа в том, что он не зависит от конкретной темы и не требует ручного редактирования шаблонов. Минус тоже есть: если позже вы смените SEO-плагин, настройку придётся проверить заново, потому что поведение может измениться.
Если вы используете плагин, после изменения настроек откройте архив даты в браузере и посмотрите исходный код страницы. В нём должен появиться noindex в мета-теге robots или эквивалентная настройка, которую добавляет ваш плагин.
Как закрыть архивы дат через код темы
Если вы не используете SEO-плагин или хотите решить задачу точечно, можно добавить фильтр в functions.php дочерней темы либо в собственный мини-плагин. Этот вариант подходит, когда нужно закрыть именно архивы дат, не затрагивая другие архивы.
Перед изменением кода сделайте резервную копию сайта или хотя бы файла, который редактируете. Ошибка в functions.php может привести к белому экрану или ошибке на сайте.
Для WordPress можно использовать фильтр wp_robots. Он позволяет добавить директиву noindex на нужных страницах. Пример ниже закрывает от индексации архивы по дате, но оставляет остальные страницы сайта без изменений:
add_filter( 'wp_robots', function( $robots ) {
if ( is_date() ) {
$robots['noindex'] = true;
$robots['follow'] = true;
}
return $robots;
} );Здесь is_date() проверяет, что открыта именно дата-страница: архив по дню, месяцу или году. Если вам нужно закрыть только архивы по месяцам и годам, а дневные архивы оставить, условие можно уточнить так:
add_filter( 'wp_robots', function( $robots ) {
if ( is_month() || is_year() ) {
$robots['noindex'] = true;
$robots['follow'] = true;
}
return $robots;
} );Такой вариант удобен, если дневные архивы вам не нужны, а месячные и годовые вы хотите убрать из поиска. Но если архивы дат не несут ценности вообще, проще закрыть все дата-архивы целиком через is_date().
Почему не стоит просто запрещать архивы в robots.txt
Это частая ошибка. На первый взгляд кажется, что если поисковик не должен индексировать архив, достаточно запретить его обход. На практике это не лучший способ для подобных страниц.
Когда URL закрыт в robots.txt, робот может не увидеть содержимое страницы и не прочитать мета-указание noindex, если оно там есть. Кроме того, уже известные URL могут ещё долго оставаться в индексе как «страница без описания» или с фрагментом из внешних ссылок. Для тонких архивов это неудобно и не всегда предсказуемо.
Поэтому для архивов дат обычно выбирают именно noindex, а не запрет обхода. Исключение — если у вас есть отдельная техническая причина ограничить доступ роботов к разделу, но это уже другая задача.
Что проверить после настройки
После закрытия архивов не ограничивайтесь тем, что настройка сохранена в админке. Нужно убедиться, что на самих страницах действительно появился нужный сигнал для поисковиков.
Проверьте три вещи:
- Откройте архив даты в браузере, например архив месяца или года.
- Посмотрите исходный код страницы и найдите мета-тег robots или соответствующий блок, который добавляет SEO-плагин.
- Убедитесь, что там есть
noindex, а при необходимости иfollow.
Если вы закрывали архивы через код, а тег не появился, проверьте, что код добавлен в активную дочернюю тему или в плагин, который действительно загружается на сайте. Если использовали SEO-плагин, убедитесь, что его настройки не переопределяются темой или другим плагином.
Дальше имеет смысл дождаться переобхода страниц поисковыми системами. В Search Console или аналогичном инструменте можно отправить страницу на проверку, но мгновенного удаления из индекса обычно не бывает. Это нормальное поведение: поисковику нужно время, чтобы переобойти URL и обновить статус.
Когда архивы дат лучше не закрывать
Иногда закрытие приносит больше вреда, чем пользы. Например, если у вас большой новостной проект, архивы по месяцам помогают пользователям ориентироваться в потоке публикаций и сами по себе получают переходы из поиска. В таком случае закрывать их только из-за формального желания «убрать лишнее» не стоит.
Ещё один сценарий — когда архивы дат уже имеют внешние ссылки или стабильно собирают трафик по запросам вроде названия месяца, года или событийного периода. Тогда сначала нужно посмотреть, действительно ли страница тонкая, или она уже стала полезной посадочной страницей. Для таких случаев решение принимают не по шаблону, а по данным.
Если архивы дат не нужны пользователям и не дают поискового трафика, закрытие от индексации — нормальная техническая чистка. Она не ломает сайт, если сделана через noindex и проверена после внедрения.
Если на сайте уже есть плагин для SEO и технической оптимизации, часть таких задач можно закрывать без ручного кода. Например, в Clearfy Pro есть инструменты для удаления дублей и настройки индексации служебных страниц: https://wpshop.ru/plugins/clearfy. Но сам принцип остаётся тем же: для архивов дат нужен понятный сигнал noindex, а не просто надежда, что поисковик сам разберётся.
Если коротко: архивы дат закрывают тогда, когда они не несут самостоятельной ценности, а делать это лучше через noindex в SEO-плагине или через фильтр wp_robots. После настройки обязательно проверьте исходный код страницы и дождитесь переобхода поисковиком.