Архивы авторов в WordPress часто создают лишние страницы в индексе: у небольшого сайта это просто шум, у контентного проекта — дубли и распыление веса. При этом полностью выключать архивы не всегда удобно: иногда нужен один публичный архив редакции или автора, а остальные страницы лучше закрыть от поисковиков.
Ниже — рабочий сценарий: как оставить только нужный архив автора, а остальные закрыть от индексации без лишних костылей и без удаления страниц из шаблона.
Когда архивы авторов становятся проблемой
Типичный симптом — в поиске появляются страницы вида /author/username/, которые почти не отличаются от рубрик, тегов или главной ленты. На сайте с одним автором это вообще отдельная служебная страница без самостоятельной ценности. На сайте с несколькими авторами проблема уже тоньше: один архив нужен для навигации и доверия, а остальные лучше не показывать в выдаче.
Проверить, что именно индексируется, можно вручную:
- откройте несколько архивов авторов в браузере;
- посмотрите исходный код страницы и мета-тег
robots; - проверьте, есть ли страницы авторов в
site:example.com author; - сравните заголовок и список записей на архиве с другими страницами сайта.
Что обычно видно в проблемном случае
- у автора нет уникального описания, только список записей;
- все архивы выглядят одинаково;
- в индексе остаются страницы авторов с пустым или слабым контентом;
- SEO-плагин ставит
noindexне на все архивы, а только на часть из них, и это не контролируется.
Какой способ выбрать: плагин, код или гибрид
| Подход | Когда подходит | Минусы |
|---|---|---|
| SEO-плагин | Если уже используется плагин с управлением meta robots | Не всегда удобно оставить только один архив открытым |
| Код в теме или mu-plugin | Если нужен точный контроль над конкретными авторами | Нужно аккуратно тестировать после обновлений |
| Гибрид | Если часть логики делает плагин, а часть — код | Легко запутаться, кто именно ставит noindex |
Если задача простая, лучше решить её кодом: так вы точно понимаете, какой архив открыт, а какой закрыт. Если сайт уже живёт на SEO-плагине, можно оставить управление индексацией там, но всё равно проверить, не конфликтует ли он с темой.
Пошаговое решение через код
Самый практичный вариант — добавить логику, которая оставляет один архив автора открытым, а остальные переводит в noindex,follow. Для этого удобно использовать фильтр wp_robots, который поддерживается в современных версиях WordPress.
Пример: архив пользователя с логином editor остаётся индексируемым, остальные — нет.
<?php
add_filter( 'wp_robots', function( array $robots ) {
if ( is_author() ) {
$author = get_queried_object();
if ( $author instanceof WP_User ) {
if ( 'editor' === $author->user_login ) {
unset( $robots['noindex'] );
$robots['index'] = true;
} else {
$robots['noindex'] = true;
$robots['follow'] = true;
unset( $robots['index'] );
}
}
}
return $robots;
} );Если вам не нужен ни один архив автора в индексе, код можно упростить и закрыть все архивы сразу:
<?php
add_filter( 'wp_robots', function( array $robots ) {
if ( is_author() ) {
$robots['noindex'] = true;
$robots['follow'] = true;
unset( $robots['index'] );
}
return $robots;
} );Такой код лучше размещать не в functions.php активной темы, а в небольшом mu-plugin. Тогда логика не пропадёт при смене темы.
Пример mu-plugin
<?php
/**
* Plugin Name: Author Archives Robots Control
*/
add_filter( 'wp_robots', function( array $robots ) {
if ( is_author() ) {
$author = get_queried_object();
if ( $author instanceof WP_User && 'editor' !== $author->user_login ) {
$robots['noindex'] = true;
$robots['follow'] = true;
unset( $robots['index'] );
}
}
return $robots;
} );Файл можно положить в wp-content/mu-plugins/author-archives-robots-control.php. Если папки mu-plugins нет, её нужно создать вручную.
Если архив нужно скрыть не только от индексации
Иногда noindex недостаточно: архив не нужен вообще, и его лучше перенаправить на страницу автора в “О нас”, на страницу команды или в главную. Но редирект нужен только если вы уверены, что архив не используется внутри сайта и на него нет внутренних ссылок, которые важны для навигации.
Пример редиректа всех архивов авторов, кроме одного:
<?php
add_action( 'template_redirect', function() {
if ( is_author() ) {
$author = get_queried_object();
if ( $author instanceof WP_User && 'editor' !== $author->user_login ) {
wp_safe_redirect( home_url( '/' ), 301 );
exit;
}
}
} );Этот вариант жёстче, чем noindex. Он подходит только если архивы действительно не нужны пользователям и не должны открываться даже для просмотра.
Как проверить, что решение сработало
После внедрения не ограничивайтесь просмотром страницы в браузере. Проверьте именно то, что видит поисковый робот.
- Откройте архив автора и посмотрите исходный код: должен быть
noindexдля закрытых архивов. - Проверьте HTTP-ответ, если у вас дополнительно настроены заголовки
X-Robots-Tag. - Убедитесь, что открытый архив действительно остаётся индексируемым, если вы его оставляли.
- Прогоните страницу через Google Search Console в проверке URL.
- Сравните canonical: он должен вести на сам архив или на выбранную целевую страницу, а не на случайный URL.
Если используете SEO-плагин, проверьте, не перезаписывает ли он мета-теги после вашего кода. Это частая причина, когда в исходнике видно одно, а в индексации — другое.
Частые ошибки и как их исправить
1. Код добавили в тему, а потом обновили шаблон
Логика исчезает после обновления. Для технических правил лучше использовать mu-plugin или отдельный мини-плагин.
2. Поставили noindex, но архив всё равно в поиске
Это нормально не сразу. Поисковику нужно переобойти страницу. Если архив давно в индексе, ускорить процесс можно через переобход в Search Console, но гарантировать мгновенное удаление нельзя.
3. Закрыли архив, но оставили внутренние ссылки на него
Сайт продолжает передавать вес на страницу, которая не должна ранжироваться. Если архив не нужен, лучше убрать ссылки из шаблона автора или заменить их на страницу профиля.
4. Использовали редирект вместо noindex без анализа
Редирект может сломать навигацию, хлебные крошки и старые ссылки из внешних источников. Если архив нужен как страница для пользователей, но не для поиска, чаще достаточно noindex,follow.
5. Не учли одного публичного автора
На новостных и экспертных сайтах один архив автора может быть полезен как страница доверия. В таком случае закрывать нужно не всё подряд, а только служебные или пустые архивы.
Практические советы по безопасности и производительности
Не стоит ставить условную логику индексации в несколько мест сразу: в SEO-плагине, в теме и в отдельном сниппете из статьи. Чем больше слоёв, тем сложнее понять, кто именно формирует robots-метки.
Если сайт большой, проверьте ещё и производительность архива: иногда проблема не в индексации, а в том, что страница автора тянет тяжёлые блоки, связанные записи и дополнительные запросы. В этом случае полезно:
- убрать лишние виджеты с шаблона автора;
- сократить количество запросов в блоке “похожие записи”;
- не выводить на архиве тяжёлые элементы, которые не помогают пользователю;
- проверить, не создаёт ли тема отдельный запрос для каждого блока профиля автора.
Если нужен более широкий контроль над дублями и служебными страницами, в экосистеме WPShop для этого есть Clearfy Pro: он помогает управлять SEO-настройками и чистить лишние элементы сайта. Но даже с плагином логику архивов авторов лучше проверить вручную, чтобы не получить конфликт между настройками и кодом. Ссылка: Clearfy Pro.
Если после внедрения архивы авторов всё ещё попадают в индекс, сначала ищите источник мета-тегов и редиректов, а уже потом меняйте шаблон. В WordPress такие проблемы часто возникают не из-за одной ошибки, а из-за наложения темы, SEO-плагина и кастомного кода.