Если в поиске всплывают страницы вида /2024/05/ или /2024/05/12/, а трафика с них нет, их обычно имеет смысл убрать из индекса. Датированные архивы в WordPress часто создают дубли: на них повторяются записи, а сами страницы редко дают пользователю что-то полезное. Для новостных и блоговых сайтов это иногда нормально, но для большинства проектов такие архивы только размывают структуру и забирают краулинговый бюджет.
Ниже — два рабочих пути: через настройки SEO-плагина и через код. Если задача именно в том, чтобы полностью избавиться от датированных архивов в поиске, лучше не ограничиваться одним только мета-тегом noindex: архивы стоит ещё и убрать из внутренних ссылок, а при необходимости — отдать 404 или 410.
Что именно нужно убрать из индекса
В WordPress под «архивами по дате» обычно имеют в виду страницы архивов:
- по году:
/2024/; - по месяцу:
/2024/05/; - по дню:
/2024/05/12/.
Они могут появляться из-за стандартных постоянных ссылок, темы или SEO-плагина. Если сайт не строится вокруг новостей и хронологии, такие страницы обычно не нужны в поиске. Но важно понимать разницу между тремя действиями:
- noindex — страница может открываться, но поисковик не должен держать её в индексе;
- nofollow на ссылках — не передаёт сигнал по ссылкам, но сам архив всё ещё существует;
- 404/410 — страница исчезает как ресурс.
Для задачи «убрать из индекса» чаще всего достаточно noindex. Если архивы вообще не нужны пользователям, лучше дополнительно закрыть их на уровне шаблона или маршрутизации, чтобы они не оставались доступными по прямой ссылке.
Самый простой способ: через SEO-настройки
Если на сайте уже стоит SEO-плагин, это обычно самый безопасный путь. В разных плагинах названия пунктов отличаются, но логика одна: нужно отключить индексацию архивов по дате или поставить для них noindex.
Что искать в настройках:
- разделы вроде Архивы, Archives, Search Appearance, SEO Titles & Meta;
- отдельные переключатели для архивов по дате;
- настройку
noindexдля страниц архивов.
Если плагин позволяет, отключите именно индексацию архивов по дате, а не только вывод заголовка или описания. После сохранения настроек проверьте исходный код страницы архива: в <head> должен появиться мета-тег вида <meta name="robots" content="noindex,follow"> или аналогичный. Формат может отличаться, но смысл один: не индексировать страницу, при этом не ломать обход ссылок.
Этот вариант удобен тем, что не требует правки темы и меньше зависит от обновлений WordPress. Но он работает только если SEO-плагин действительно управляет мета-тегами для архивов, а не просто скрывает их в интерфейсе.
Когда настроек плагина недостаточно
Иногда архивы по дате продолжают попадать в индекс по одной из причин:
- в теме вручную выведены ссылки на архивы;
- SEO-плагин не умеет отдельно управлять датированными архивами;
- нужно не только
noindex, но и фактически убрать эти страницы из доступа; - сайт использует нестандартную тему или кастомную логику архивов.
Тогда проще решить задачу кодом. Это уже требует аккуратности: перед изменениями сделайте резервную копию файлов темы или работайте в дочерней теме. Если ошибиться в шаблоне или функции, можно получить белый экран или сломать вывод архивов.
Как поставить noindex для архивов по дате кодом
В WordPress можно добавить мета-тег robots через хук wp_head. Ниже пример для functions.php дочерней темы или для собственного мини-плагина. Он ставит noindex,follow только на архивы по дате.
add_action( 'wp_head', function () {
if ( is_date() ) {
echo "<meta name=\"robots\" content=\"noindex,follow\" />\n";
}
}, 1 );Что здесь важно:
is_date()срабатывает на всех датированных архивах: год, месяц и день;noindex,followговорит поисковику не индексировать страницу, но не обрывать переходы по ссылкам;- код выводится в
<head>, где его ожидают поисковые системы.
Если у вас уже есть SEO-плагин, проверьте, не выводит ли он свой robots-тег для этих же страниц. Два конфликтующих тега — плохая идея. Обычно нужно оставить один источник управления индексацией.
Если архивы нужно не только скрыть, но и убрать совсем
Иногда задача жёстче: датированные архивы не должны открываться вообще. Тогда одного noindex мало. Можно отправлять такие страницы на 404 или 410 Gone. 410 обычно уместен, если вы сознательно удаляете раздел и хотите показать поисковику, что он исчез навсегда. 404 тоже рабочий вариант, но 410 обычно быстрее приводит к удалению из индекса, если поисковик его увидит.
Пример для 410 на всех датированных архивах:
add_action( 'template_redirect', function () {
if ( is_date() ) {
status_header( 410 );
nocache_headers();
exit;
}
} );Этот вариант уже более жёсткий. Он подходит, если архивы по дате точно не нужны ни пользователям, ни поиску. Но прежде чем применять его, проверьте, не завязаны ли на такие страницы внутренние ссылки, меню или старые внешние ссылки. Если они есть, пользователь будет попадать на ошибку.
Что выбрать: noindex или 404/410
| Сценарий | Что делать | Комментарий |
|---|---|---|
| Архивы открываются, но не нужны в поиске | noindex,follow | Самый мягкий и обычно достаточный вариант |
| Архивы не нужны вообще | 410 или 404 | Лучше убрать страницу полностью, а не только из индекса |
| Нужно сохранить доступ для людей, но убрать из поиска | noindex | Подходит для редких случаев, когда архив полезен как навигация |
Для большинства сайтов, где датированные архивы просто дублируют контент, я бы начинал с noindex,follow. Если через несколько недель такие страницы всё равно остаются в поиске или вам не нужен сам раздел, тогда уже имеет смысл переводить их в 410.
Как проверить, что всё сработало
После настройки не ограничивайтесь визуальной проверкой страницы в браузере. Нужно убедиться в двух вещах: на странице действительно стоит нужный robots-тег и архив не возвращает обычный индексируемый ответ.
Проверьте так:
- Откройте страницу датированного архива, например
/2024/05/. - Посмотрите исходный код страницы и найдите
robots. - Убедитесь, что там есть
noindex, если вы выбрали этот вариант. - Если ставили
410, проверьте код ответа через инструменты разработчика браузера,curl -Iили любой HTTP-проверщик.
Для быстрой проверки через командную строку можно использовать:
curl -I https://example.com/2024/05/В ответе вы увидите статус. Для 410 должен быть именно он. Для noindex статус обычно остаётся 200 OK, потому что страница доступна, но не должна индексироваться.
На что чаще всего спотыкаются
Самая частая ошибка — поставить noindex и считать задачу решённой, хотя архивы продолжают висеть в индексе неделями или месяцами. Это нормально: поисковик не удаляет такие страницы мгновенно. Ему нужно переобойти их и увидеть новый сигнал.
Ещё одна типичная проблема — архивы по дате остаются в XML-карте сайта. Если ваш SEO-плагин добавляет их в sitemap, поисковик будет снова и снова получать на них сигнал. В таком случае архивы нужно убрать и из карты сайта, если плагин это позволяет.
И наконец, не стоит закрывать архивы через robots.txt вместо noindex, если страницы уже в индексе. Запрет на обход не гарантирует их удаление из поиска, потому что поисковик может не увидеть саму директиву noindex на странице. Для уже проиндексированных архивов это слабое решение.
Если вам нужно именно убрать датированные архивы из поиска на WordPress, рабочая схема обычно такая: сначала отключить их индексацию через SEO-настройки или код, затем убрать лишние ссылки и карту сайта, а если раздел совсем не нужен — отдать 410. Это несложно, но важно сделать именно в таком порядке, чтобы не оставить в индексе старые дубли.