Архивы по месяцам и годам на многих сайтах почти не дают пользы пользователю, но при этом попадают в индекс и создают лишние слабые страницы. Если у вас есть записи, рубрики, теги и поиск по сайту, архивы дат обычно дублируют навигацию и только размывают качество индексации. В WordPress их можно убрать из индекса без удаления самих страниц с сайта: для посетителей архивы останутся доступны, а поисковики перестанут учитывать их как отдельные посадочные страницы.
Самый практичный способ — закрыть архивы дат от индексации через SEO-плагин или добавить для них мета-тег noindex. Если плагина нет, можно сделать это кодом в теме или через небольшой сниппет. Полностью запрещать обход через robots.txt обычно не нужно: это не удаляет URL из индекса, а лишь ограничивает сканирование, и в ряде случаев мешает поисковику увидеть директиву noindex.
Какие архивы дат обычно нужно закрывать
В WordPress есть несколько типов датированных архивов:
- архивы по году, например
/2024/; - архивы по месяцу, например
/2024/05/; - иногда архивы по дню, если они доступны на сайте.
Если сайт не новостной и не строится вокруг хронологии публикаций, такие страницы редко нужны в поиске. Чаще всего достаточно оставить их доступными для навигации, но убрать из индекса. Исключение — сайты, где архивы по датам реально полезны как отдельные страницы: новостные проекты, журналы, блоги с сильной временной структурой, где пользователь ищет материалы за конкретный период.
Самый простой способ: закрыть архивы дат в SEO-плагине
Если на сайте установлен SEO-плагин, сначала проверьте его настройки. У большинства популярных решений есть отдельная опция для архивов автора, дат, тегов и рубрик. Для задачи именно с датами нужно найти настройку, которая добавляет noindex к архивам дат или отключает их индексацию целиком.
Логика здесь простая: вы не удаляете страницу, а говорите поисковику не включать её в индекс. Это безопаснее, чем физически прятать URL от сканирования, и обычно не ломает навигацию по сайту.
После изменения настройки не забудьте сохранить конфигурацию и проверить исходный код архивной страницы. В HTML должен появиться мета-тег вида <meta name="robots" content="noindex,follow"> или эквивалентная директива, которую добавляет ваш плагин.
Как закрыть архивы дат без плагина
Если SEO-плагина нет или вы не хотите зависеть от его настроек, можно добавить noindex вручную. Для этого используют фильтр wp_robots, который WordPress поддерживает в современных версиях. Этот вариант подходит, если вы понимаете, где у вас подключается код: в functions.php дочерней темы или в собственном мини-плагине.
Перед изменениями сделайте резервную копию файлов темы. Ошибка в PHP-коде может временно сломать сайт, особенно если править functions.php напрямую.
Ниже пример, который добавляет noindex к архивам дат, но оставляет их доступными для обхода ссылок:
add_filter( 'wp_robots', function( array $robots ) : array {
if ( is_date() ) {
$robots['noindex'] = true;
$robots['follow'] = true;
}
return $robots;
} );Здесь is_date() срабатывает на архивы по дате: год, месяц и день. Для поисковика это означает, что страницу не нужно индексировать, но ссылки на ней можно учитывать.
Если вам нужно закрыть только архивы по месяцам и годам, а дневные оставить, условие можно уточнить:
add_filter( 'wp_robots', function( array $robots ) : array {
if ( is_year() || is_month() ) {
$robots['noindex'] = true;
$robots['follow'] = true;
}
return $robots;
} );Этот вариант полезен, когда дневные архивы действительно используются, но годовые и месячные страницы не нужны в поиске.
Когда имеет смысл использовать robots.txt, а когда нет
Иногда архивы дат пытаются закрыть через robots.txt. Для задачи удаления из индекса это не лучший путь. Если вы просто запретите обход URL, поисковик может не увидеть мета-тег noindex, а уже известные страницы иногда продолжают висеть в индексе дольше, чем ожидается.
Использовать robots.txt можно только в особых случаях, когда нужно ограничить обход технических URL, но не как основной способ убрать архивы дат из поиска. Для индексации правильнее применять noindex на самих страницах архивов.
Если архивы уже попали в индекс, а вы хотите, чтобы они постепенно исчезли, сначала поставьте noindex, а не блокировку в robots.txt. После этого поисковик сможет зайти на страницу, увидеть директиву и убрать её из выдачи.
Что делать, если архивы дат уже в индексе
Если страницы уже проиндексированы, одного изменения настроек может быть недостаточно для мгновенного результата. Поисковику нужно заново обойти страницы и увидеть новую директиву. На практике это занимает время, и скорость зависит от частоты обхода сайта.
Чтобы ускорить процесс, сделайте три вещи:
- проверьте, что на архивных страницах реально появился
noindex; - убедитесь, что страницы не закрыты в
robots.txtраньше, чем поисковик увидит мета-тег; - если используете Яндекс.Вебмастер или Google Search Console, отправьте страницы на переобход через инструменты проверки URL.
Если у вас много архивов, можно начать с самых заметных: годовых и месячных. Обычно именно они дают основной шум в индексе.
Как проверить, что всё работает
Проверка занимает пару минут и избавляет от ложного ощущения, что задача решена. Откройте любую архивную страницу, например архив месяца, и посмотрите исходный код страницы. В нём должна быть директива noindex в блоке robots.
Дальше проверьте сам URL в поисковой консоли, если она подключена. Страница может ещё некоторое время отображаться в отчётах как известная поисковику, но со временем должна уйти из индекса или получить статус, связанный с исключением из индексации.
Если noindex не появился, обычно причина одна из трёх:
- код добавлен не в тот файл или не активен;
- SEO-плагин переопределяет директиву своими настройками;
- кэш отдаёт старую версию страницы.
В последнем случае очистите кэш сайта, если он есть, и проверьте страницу в режиме инкогнито или через просмотр исходного кода без кэшированного ответа.
Что лучше выбрать на практике
Если нужен самый простой и безопасный вариант, используйте настройку в SEO-плагине. Если плагина нет или вы хотите точечно закрыть только архивы дат, добавьте фильтр wp_robots. Для большинства сайтов этого достаточно.
| Способ | Когда подходит | Плюсы | Минусы |
|---|---|---|---|
| SEO-плагин | Плагин уже установлен и управляет мета-данными | Быстро, без кода | Зависит от конкретного плагина |
wp_robots | Нужен точечный контроль без лишних настроек | Гибко, работает на уровне WordPress | Нужно аккуратно править код |
robots.txt | Редкие технические ограничения обхода | Просто добавить правило | Не решает задачу индексации напрямую |
Если ваша цель — сократить количество слабых страниц и улучшить качество индексации, закрытие архивов дат от индекса обычно даёт более чистую структуру сайта без потери полезной навигации для посетителей. Главное — не путать запрет обхода с запретом индексации и проверять результат на реальной архивной странице, а не только в настройках плагина.