Архивы автора в WordPress часто попадают в индекс без пользы для сайта: особенно если у одного редактора мало материалов, а у другого — дублируется контент с рубриками и тегами. При этом закрывать все страницы автора целиком — не всегда правильное решение. Иногда нужно убрать только один архив, а остальные оставить открытыми для SEO и навигации.
Ниже — рабочие способы для точечной настройки: через SEO-плагин, через код и через проверку результата. Разберёмся, как понять, что именно индексируется, и как не сломать канонические URL, хлебные крошки и выдачу по брендовым запросам.
Когда это вообще нужно
Чаще всего проблема возникает в трёх сценариях:
- на сайте несколько авторов, но у части из них по 1–2 записи;
- архив автора дублирует рубрику или страницу блога;
- в индексе появляются служебные страницы авторов, которые не несут самостоятельной ценности.
Если архив автора полезен пользователю и содержит нормальное описание, список публикаций и уникальный текст, закрывать его не обязательно. Но если это пустая страница с заголовком и двумя постами, поисковику она обычно не нужна.
Диагностика: что именно нужно закрыть
Перед правкой проверьте, как сейчас устроены архивы авторов.
Что смотреть в первую очередь
- есть ли у автора отдельная страница вида
/author/username/; - отдаёт ли она статус
200 OK; - есть ли в
<head>мета-тегnoindex; - не прописан ли архив автора в
sitemap.xml; - не ведут ли на него внутренние ссылки из карточек постов, хлебных крошек или блока автора.
Проверить статус можно через браузерные инструменты, curl или любой HTTP-сканер. Например:
curl -I https://example.com/author/admin/Если в ответе есть X-Robots-Tag: noindex или в HTML присутствует <meta name="robots" content="noindex">, значит страница уже закрыта на уровне индексации. Но это ещё не означает, что она не участвует в sitemap или не доступна для обхода.
Как закрыть архив автора через SEO-плагин
Если у вас установлен плагин с управлением мета-robots, это самый безопасный вариант. В большинстве случаев архивы автора можно закрыть без кода, если плагин умеет задавать noindex для архивов авторов или для конкретного шаблона архива.
Плюс этого подхода в том, что он не зависит от темы и не требует правки functions.php. Минус — не все плагины позволяют закрыть только одного автора, а не весь тип архивов.
| Подход | Когда подходит | Компромисс |
|---|---|---|
| SEO-плагин | Нужно быстро закрыть архивы без кода | Обычно настройка действует на все архивы одного типа |
| Код в теме или mu-plugin | Нужно закрыть только конкретного автора | Требует аккуратной поддержки при обновлениях |
| Редирект на рубрику или страницу автора | Архив не нужен вообще | Меняет поведение URL и может повлиять на ссылки |
Если нужен именно точечный сценарий, код обычно надёжнее.
Точечное закрытие через код
Ниже пример для случая, когда нужно закрыть архив только одного автора, например пользователя с логином guest-editor. Код лучше положить в mu-plugins или в дочернюю тему, чтобы не потерять его при обновлении.
<?php
add_filter('wp_robots', function ($robots) {
if (is_author('guest-editor')) {
$robots['noindex'] = true;
$robots['nofollow'] = true;
}
return $robots;
});Этот вариант добавляет директивы robots только на архив нужного автора. Если у вас уже есть SEO-плагин, который тоже управляет robots, проверьте итоговый HTML: иногда плагины могут перезаписывать друг друга.
Если нужен не только noindex, но и запрет обхода
В большинстве случаев достаточно noindex. Но если архив совсем не должен участвовать в обходе, можно дополнительно отдать заголовок X-Robots-Tag на уровне сервера или через PHP. Для WordPress это делается осторожно, чтобы не задеть другие страницы.
<?php
add_action('send_headers', function () {
if (is_author('guest-editor')) {
header('X-Robots-Tag: noindex, nofollow', true);
}
});Этот способ полезен, если вы хотите продублировать директиву в заголовке ответа. Но не стоит использовать его без необходимости: для большинства задач достаточно одного механизма.
Если архив автора нужно не закрыть, а убрать совсем
Иногда архив автора не нужен вообще: например, на сайте один основной автор, а все материалы публикуются от имени редакции. Тогда вместо noindex можно сделать 301-редирект на страницу «О нас» или на главную рубрику.
<?php
add_action('template_redirect', function () {
if (is_author('guest-editor')) {
wp_redirect(home_url('/about/'), 301);
exit;
}
});Редирект — это уже не про индексацию, а про замену URL. Используйте его только если архив действительно не должен существовать как отдельная страница. Если оставить редирект на все архивы авторов без анализа, можно потерять полезные посадочные страницы.
Проверка результата после внедрения
После изменения не ограничивайтесь просмотром страницы в браузере. Нужно проверить три вещи: HTML, заголовки ответа и индексацию в поиске.
- Откройте архив автора и убедитесь, что в
<head>естьnoindex. - Проверьте ответ сервера через
curl -Iили DevTools. - Посмотрите, не осталась ли страница в sitemap.
- Проверьте, не ведут ли на неё внутренние ссылки из шаблона автора.
- Если страница уже была в индексе, отправьте её на переобход через инструменты вебмастера.
Пример проверки HTML можно сделать так:
curl -s https://example.com/author/guest-editor/ | grep -i robotsЕсли страница закрыта правильно, вы увидите либо noindex в мета-теге, либо соответствующий заголовок ответа. Если ничего нет — значит, фильтр не сработал или его перезаписал другой плагин.
Частые ошибки и как их исправить
Закрыли не того автора
Ошибка возникает, когда в условии используют is_author() без проверки конкретного логина, ID или слага. В результате закрываются все архивы авторов. Исправление простое: указывайте точный параметр, который реально есть на сайте.
Поставили noindex, но оставили автора в sitemap
Поисковик всё равно будет видеть URL в карте сайта и периодически его обходить. Если архив закрыт намеренно, уберите его из sitemap на уровне SEO-плагина или фильтра генерации карты.
Сделали редирект вместо noindex без анализа
Редирект полезен только тогда, когда архив не нужен как страница. Если на него есть внешние ссылки или он уже ранжируется, резкая замена может просадить трафик. В таких случаях сначала лучше поставить noindex, а уже потом решать, нужен ли 301.
Проверили только кэшированную версию
Если на сайте агрессивный кеш, старый HTML может продолжать отдавать прежние мета-теги. После правки очистите кеш страницы, объектный кеш и, если используется CDN, его слой тоже.
Чек-лист перед публикацией изменений
- Определён конкретный автор или группа авторов, которых нужно закрыть.
- Проверено, что архив не нужен для навигации и SEO.
- Добавлен
noindexили редирект, но не оба механизма без причины. - Проверен HTML ответа и заголовки.
- Удалены или скорректированы ссылки в sitemap.
- Очищен кеш сайта и CDN.
- Страница отправлена на переобход, если она уже была в индексе.
Безопасность и производительность
Если правите это кодом, не вносите изменения прямо в родительскую тему. Для точечных SEO-настроек лучше использовать дочернюю тему или mu-plugin. Так вы не потеряете правки при обновлении и не будете зависеть от шаблона.
Ещё один практичный момент: не плодите несколько решений для одной и той же страницы. Если архив закрывает SEO-плагин, а в теме дополнительно навешан фильтр на robots, потом сложно понять, кто именно ломает результат. Лучше оставить один источник правды.
Если на сайте много технических дублей и служебных страниц, имеет смысл сначала навести порядок в базовой SEO-настройке. В таких задачах иногда удобнее использовать набор инструментов вроде Clearfy Pro, если нужен контроль над дублями, служебными страницами и частью технической очистки. Но даже с плагином всё равно полезно понимать, что именно он меняет в HTML и заголовках.
Главный критерий простой: после правки архив автора должен вести себя предсказуемо. Если он закрыт — это видно в HTML, заголовках и sitemap. Если он заменён редиректом — это видно по коду ответа и целевому URL. Всё остальное уже вопрос удобства реализации.