Если на сайте один автор или архивы по датам не несут пользы, они часто превращаются в лишние страницы в индексе. В выдаче это выглядит как набор пустых или почти пустых архивов, а в отчётах по сканированию — как лишний шум. Решение здесь не сводится к одному переключателю: сначала нужно понять, что именно открыто для роботов, а потом уже закрывать архивы корректно.
Когда архивы авторов и дат становятся проблемой
Типичный сценарий простой: на сайте есть рубрики, записи и ещё несколько служебных архивов. Архив автора ведёт на одну и ту же подборку постов, что и главная лента автора, а архивы по датам часто дублируют ту же структуру без уникальной ценности. Если таких страниц много, поисковик тратит краулинговый бюджет на второстепенные URL.
Проблема особенно заметна, если:
- на сайте один автор или почти все материалы публикуются от имени редакции;
- архивы дат пустые или содержат слишком мало записей;
- в индексе уже есть страницы вида
/author/...и/2024/..., но они не дают трафика; - в теме или плагинах включены хлебные крошки и архивные ссылки, которые дополнительно подталкивают робота к этим URL.
Диагностика: что именно индексируется сейчас
Перед изменениями проверьте, как WordPress отдаёт эти страницы. Важно не гадать, а посмотреть фактический статус ответа, мета-теги и каноникал. Для этого достаточно открыть несколько URL и проверить исходный код страницы.
Что смотреть в первую очередь
- HTTP-статус: архив должен отдавать
200 OK, если вы хотите оставить его доступным, или404/410, если удаляете его полностью. meta robots: есть лиnoindexдля архивов авторов и дат.rel=canonical: не указывает ли он на сам архив, если вы хотите убрать его из индекса.- Внутренние ссылки: нет ли лишних ссылок на архивы в сайдбаре, хлебных крошках и блоках автора.
Если у вас есть доступ к консоли, можно быстро проверить заголовки ответа:
curl -I https://example.com/author/admin/И отдельно посмотреть HTML-мета-теги в исходнике страницы. Если там уже есть noindex, но URL всё равно попадает в индекс, значит, проблема обычно в том, что робот ещё не переобходил страницу или на сайте есть конфликт между плагином и темой.
Как отключить архивы авторов и дат через код
Если нужен контролируемый вариант без лишних плагинов, проще всего добавить фильтры в functions.php дочерней темы или в собственный мини-плагин. Этот способ удобен, когда вы хотите закрыть только конкретные архивы, не трогая остальную индексацию.
Вариант 1: оставить страницу доступной, но поставить noindex
Подходит, если архив нужен пользователям, но не нужен в поиске. Например, на новостном сайте архив по дате может быть полезен для навигации, но не должен конкурировать с основными разделами.
add_filter('wp_robots', function (array $robots) {
if (is_author() || is_date()) {
$robots['noindex'] = true;
$robots['nofollow'] = true;
}
return $robots;
});Этот вариант работает на уровне robots-мета и не ломает навигацию. Но если архивы совсем не нужны, лучше идти дальше и убирать их из выдачи более жёстко.
Вариант 2: отдавать 404 для архивов авторов и дат
Если на сайте один автор и архив автора не несёт смысла, можно принудительно отключить такие страницы. Это уже не просто сигнал для робота, а явное сообщение, что страницы нет.
add_action('template_redirect', function () {
if (is_author() || is_date()) {
global $wp_query;
$wp_query->set_404();
status_header(404);
nocache_headers();
include get_query_template('404');
exit;
}
});Такой подход стоит применять аккуратно. Если на архивы ведут внешние ссылки или они используются в интерфейсе сайта, сначала проверьте, не сломаете ли вы пользовательский сценарий.
Что выбрать: плагин, код или настройку темы
Если задача не разовая, а вы ведёте несколько сайтов, удобнее иметь повторяемый способ. Для одиночного сайта часто хватает кода. Для проекта с редакционной командой проще использовать SEO-плагин или набор настроек в админке, если он уже установлен.
| Подход | Когда подходит | Плюсы | Минусы |
|---|---|---|---|
| Код в теме/плагине | Нужен точечный контроль | Без лишних зависимостей, легко проверить | Нужно следить за обновлениями и местом размещения кода |
| SEO-плагин | Есть много служебных страниц | Удобно управлять из админки | Может конфликтовать с темой или другими SEO-настройками |
| Полное удаление архивов | Архивы не нужны вообще | Чистая логика, меньше мусора | Нужно проверить внутренние ссылки и 404-страницы |
Если у вас уже стоит плагин для технической чистки сайта, например Clearfy Pro, проверьте, не дублирует ли он ваши ручные настройки. В таких случаях лучше оставить один источник правды: либо код, либо настройки плагина.
Пошаговая схема внедрения
- Определите, какие архивы реально нужны пользователям: авторы, даты, рубрики, теги.
- Проверьте, есть ли у архивов трафик и внешние ссылки.
- Выберите режим:
noindexили полное отключение с404. - Добавьте код в дочернюю тему или мини-плагин.
- Очистите кэш страницы и серверный кэш, если он есть.
- Переобойдите URL в Search Console или через аналогичный инструмент.
Если архивы дат нужно убрать только частично, можно оставить их для старых материалов, но закрыть от индексации. Тогда пользователи сохранят навигацию, а поисковик перестанет воспринимать эти страницы как отдельные посадочные.
Как проверить, что решение сработало
После внедрения не ограничивайтесь визуальной проверкой в браузере. Нужно убедиться, что сервер отдаёт нужный статус, а в исходнике страницы появился правильный robots-мета-тег.
- Откройте архив автора и проверьте, что в исходном коде есть
noindexили что страница отдаёт404. - Проверьте, не осталось ли ссылки на архивы в меню, хлебных крошках и блоке автора.
- Очистите кэш плагина, CDN и браузера.
- Посмотрите в Search Console, как меняется статус URL после переобхода.
- Убедитесь, что важные страницы сайта не получили случайный
noindex.
Если вы выбрали вариант с 404, проверьте, что шаблон ошибки не возвращает код 200 по факту. Это частая ошибка: страница визуально выглядит как 404, но для робота остаётся обычной HTML-страницей.
Частые ошибки и как их исправить
Поставили noindex, но URL всё ещё в индексе
Это нормально на короткой дистанции. Поисковику нужно время, чтобы переобойти страницу и обновить статус. Если URL не исчезает долго, проверьте, не закрыт ли он ещё и в robots.txt — тогда робот может не увидеть новый noindex.
Закрыли архивы через robots.txt и потеряли контроль
Если вы запретили обход, поисковик может не увидеть мета-тег noindex на самой странице. Для удаления из индекса лучше сначала дать роботу увидеть страницу, а уже потом закрывать её от обхода, если это действительно нужно.
Сломали хлебные крошки или блок автора
Это происходит, когда архив удаляют полностью, а тема продолжает на него ссылаться. В таком случае либо меняйте шаблон вывода ссылок, либо оставляйте архив доступным с noindex.
Получили конфликт между SEO-плагином и ручным кодом
Если один инструмент ставит index, а другой — noindex, итог зависит от того, что именно выводится в шаблоне. Проверьте исходный код страницы и оставьте только один механизм управления.
Практические советы по безопасности и производительности
Не вставляйте такой код в случайные сниппеты без контроля версий. Лучше хранить его в дочерней теме или отдельном маленьком плагине, чтобы после обновления темы настройки не пропали. Если сайт работает под кэшем, после изменения логики обязательно сбрасывайте не только плагин-кэш, но и серверный кэш, если он используется.
Если вы массово меняете статус архивов на большом сайте, делайте это поэтапно. Сначала один тип архивов, потом второй. Так проще отследить, что именно вызвало изменения в индексации и не сломало внутреннюю перелинковку.
Для сайтов, где техническая чистка и управление индексированием нужны регулярно, имеет смысл вынести такие настройки в один инструмент, чтобы не размазывать логику по теме и нескольким плагинам. Но даже в этом случае проверка исходного кода и статуса ответа остаётся обязательной: именно она показывает, что поисковик увидит на самом деле.