Архивы авторов в WordPress часто создаются автоматически, но на небольших и средних сайтах они нередко дублируют контент: у одного автора одна-две записи, на странице архива нет уникального текста, а в выдаче появляется ещё один слабый URL. В такой ситуации обычно нужно не удалять архивы полностью, а закрыть их от индексации и при необходимости оставить доступными для пользователей.
Ниже — рабочие способы для темы, плагина или mu-plugin, без выдуманных хуков и без лишней магии.
Когда архивы авторов лучше закрыть от индексации
Сценарий типичный: сайт ведёт один человек или несколько авторов, но у каждого мало материалов. Поисковик видит страницу /author/имя/, а на ней — список записей без уникальной ценности. Если таких страниц много, они начинают конкурировать с рубриками, тегами и самими статьями.
Закрывать архивы авторов имеет смысл, если:
- на сайте один автор и архив не несёт отдельной пользы;
- на странице архива нет уникального описания автора;
- архивы создают дубли по заголовкам и сниппетам;
- в индексе уже есть страницы, которые не должны ранжироваться;
- нужно сократить число тонких страниц в индексе.
Оставлять архивы открытыми можно, если у каждого автора есть нормальная биография, фото, ссылки, редакционная роль и архив реально помогает навигации. Но это уже отдельная задача: страницу автора нужно наполнять как полноценный профиль, а не как пустой список записей.
Диагностика: что именно мешает сейчас
Перед правкой проверьте, как архивы авторов выглядят в текущем состоянии. Это занимает несколько минут и помогает не закрыть лишнее.
Что смотреть вручную
- Есть ли на странице автора уникальный текст, а не только список постов.
- Сколько записей у каждого автора.
- Есть ли в коде страницы мета-тег
robotsсnoindex. - Не закрыт ли архив уже на уровне SEO-плагина, чтобы не дублировать настройки.
- Не используется ли архив автора как важная навигационная страница в теме.
Если у вас установлен SEO-плагин, сначала проверьте его настройки. Часто проблема уже решена там, а в коде остаются лишние правки, которые потом мешают поддержке.
Как отключить индексацию через код
Самый надёжный вариант — добавить noindex для архивов авторов на уровне темы или небольшого плагина. Так вы не зависите от конкретного SEO-плагина и можете контролировать поведение напрямую.
Ниже пример для functions.php дочерней темы или для собственного плагина:
add_filter('wp_robots', function (array $robots) {
if (is_author()) {
$robots['noindex'] = true;
$robots['nofollow'] = true;
}
return $robots;
});Этот вариант добавляет директивы для страниц авторов через стандартный фильтр WordPress. Если у вас уже есть другие правила robots, они сохранятся, а к архиву автора просто добавится запрет на индексацию.
Если нужно не только закрыть от индексации, но и убрать архивы авторов из карты сайта, это делается отдельно. Сам по себе noindex не гарантирует исчезновение URL из sitemap, если его туда добавляет SEO-плагин.
Когда лучше использовать SEO-плагин
Если сайт уже работает через Yoast SEO, Rank Math или похожий инструмент, проще закрыть архивы авторов в интерфейсе плагина. Это удобнее для редактора и меньше риск, что настройка потеряется при обновлении темы.
| Способ | Плюсы | Минусы |
|---|---|---|
| SEO-плагин | Удобно менять без кода, видно в админке | Зависит от конкретного плагина и его настроек |
| Код в теме / плагине | Контроль на уровне сайта, не зависит от UI | Нужно следить за местом хранения и тестировать после обновлений |
| Удаление архива полностью | Убирает страницу как сущность | Может сломать ссылки и навигацию, если архив уже используется |
Пошаговое решение без SEO-плагина
Если вы хотите сделать это вручную, действуйте так:
- Добавьте фильтр
wp_robotsв дочернюю тему или собственный плагин. - Очистите кэш сайта и CDN, если они есть.
- Откройте страницу архива автора и проверьте исходный код.
- Убедитесь, что директива
noindexпоявилась именно на странице автора. - Проверьте, не генерирует ли SEO-плагин собственный тег robots поверх вашего.
Если тема выводит мета-теги вручную, не дублируйте robots в шаблоне и в фильтре одновременно. Иначе можно получить конфликтующие директивы.
add_action('wp_head', function () {
if (is_author()) {
echo "\n" . '<meta name="robots" content="noindex, nofollow" />' . "\n";
}
}, 1);Этот способ рабочий, но менее предпочтительный, чем wp_robots, потому что он завязан на вывод в wp_head. Если в проекте уже есть централизованная логика robots, лучше не смешивать подходы.
Как проверить, что решение сработало
Проверка должна быть не на глаз, а по факту.
- Откройте архив автора в браузере и посмотрите исходный код страницы.
- Найдите строку с
meta name="robots"или вывод через заголовки, если используете соответствующую схему. - Убедитесь, что есть
noindex. - Проверьте, не осталось ли архивов авторов в XML-карте сайта.
- Если сайт уже в Search Console, отправьте страницу на повторную проверку после обновления.
Для быстрой ручной проверки можно использовать просмотр исходника и поиск по слову robots. Если у вас включён кэш, не забывайте очищать не только страницу, но и серверный кэш, иначе вы увидите старую версию.
Частые ошибки и как их исправить
Добавили noindex, но архив всё равно в индексе
Это нормально на коротком промежутке: поисковику нужно время на переобход. Если страница давно в индексе, одного изменения недостаточно — нужно дождаться повторного обхода и убедиться, что URL не возвращает старые сигналы через sitemap, внутренние ссылки и каноникал.
Закрыли архив, но он остался в карте сайта
Тогда поисковик продолжает получать сигнал, что страница важна. Уберите архив автора из sitemap через настройки SEO-плагина или его фильтры. Вручную править XML-файл не стоит, если он генерируется автоматически.
Поставили noindex и nofollow без проверки
nofollow для архивов авторов не всегда нужен. Если страница используется как навигационная, можно оставить noindex без nofollow. Не стоит ставить директивы «на всякий случай» — это часто только усложняет диагностику.
Сделали правку в родительской теме
После обновления темы изменение пропадёт. Для таких задач используйте дочернюю тему или небольшой mu-plugin. Это особенно важно, если сайт обслуживается не одним разработчиком.
Что делать, если архив автора нужен пользователям, но не поиску
В этом случае не удаляйте страницу и не ломайте URL. Оставьте архив доступным, но закройте его от индексации и добавьте на страницу полезный контент: краткую биографию, специализацию, ссылки на соцсети, список лучших материалов автора. Тогда страница останется частью навигации, но не будет конкурировать в поиске с основными материалами.
Если у вас много однотипных архивов, похожую логику можно применить и к другим служебным страницам: пустым тегам, внутреннему поиску, страницам пагинации с низкой ценностью. Но каждую такую настройку нужно проверять отдельно, а не переносить шаблоном на весь сайт.
Практика по безопасности и производительности
Не храните такие правки в случайных сниппетах из админки, если на сайте нет контроля версий. Лучше вынести их в маленький плагин или mu-plugin и отслеживать изменения в Git. Это снижает риск, что настройка исчезнет после обновления темы или ручного редактирования.
Если на сайте стоит кэш-плагин, после изменения robots обязательно сбрасывайте кэш страниц и, при наличии, объектный кэш. Иначе вы будете проверять старую версию HTML и решите, что код не работает.
Для сайтов с большим количеством служебных страниц полезно периодически смотреть, какие URL реально попадают в индекс. Это помогает не только с архивами авторов, но и с дублями рубрик, тегов и пагинации. Если нужен более широкий аудит дублей и служебных страниц, в экосистеме WPShop есть Clearfy Pro: https://wpshop.ru/plugins/clearfy.
Главное здесь простое: сначала понять, зачем архив автора нужен на сайте, потом выбрать способ закрытия, и только после этого проверять результат в исходнике, sitemap и поисковой панели. Тогда настройка не превратится в ещё один источник дублей.