Архивы авторов в WordPress часто создают две проблемы сразу: дубли контента и лишние URL, которые не несут пользы ни пользователю, ни поисковику. На небольшом блоге это может быть незаметно, но на сайте с несколькими авторами архивы начинают индексироваться, тянуть на себя внутренний вес и плодить страницы с почти одинаковой структурой.
Если задача не в том, чтобы полностью скрыть авторов, а в том, чтобы убрать архивы и оставить одну нормальную страницу профиля или страницу «Об авторе», решение лучше делать аккуратно: сначала понять, где именно WordPress генерирует ссылки, потом отключить архив, затем поставить понятный редирект и проверить индексацию.
Когда архивы авторов действительно мешают
Проблема обычно проявляется не в коде, а в поисковой выдаче и отчётах краулера. Типичные признаки:
- в индексе есть страницы вида
/author/username/, хотя они не нужны; - на архиве автора выводится список записей без уникального текста;
- один и тот же автор имеет и архив, и страницу профиля, и блоки в статьях;
- в sitemap попадают URL, которые не должны индексироваться;
- внутренние ссылки ведут на архивы авторов, а не на полезные страницы.
Если у вас один автор и сайт не строится вокруг персональных страниц, архив почти всегда лишний. Если авторов несколько, но вы хотите показывать только биографию и список материалов на отдельной странице, архив тоже можно отключить, но уже с редиректом и проверкой ссылок.
Диагностика: что именно нужно отключать
Сначала проверьте, как сейчас устроен вывод автора в вашей теме и плагинах. Это важно, потому что WordPress может использовать архив автора в нескольких местах: в хлебных крошках, в блоке метаданных записи, в виджетах и в шаблоне author.php.
Что проверить вручную
- Откройте страницу автора по адресу
/author/username/. - Посмотрите исходный код: есть ли canonical, robots и ссылка на архив в разметке.
- Проверьте, не используется ли архив автора в хлебных крошках темы.
- Посмотрите, не создаёт ли SEO-плагин отдельные мета-теги для author archive.
- Проверьте sitemap: попадает ли туда архив автора.
Если архив уже закрыт от индексации, но продолжает открываться по прямой ссылке, это не решает задачу полностью. Страница всё равно существует, а поисковик может тратить на неё краулинговый бюджет. Лучше либо оставить её осознанно, либо убрать из публичного доступа и сделать редирект.
Пошаговое решение без лишних побочных эффектов
Ниже вариант для случая, когда архивы авторов не нужны вообще, а вместо них вы хотите вести пользователей на страницу «Об авторе» или на главную. Если у вас есть отдельная страница профиля автора, редирект лучше вести именно туда.
Шаг 1. Отключить архив автора на уровне шаблона
Самый надёжный способ — перехватить запрос и отдать 404 или редирект. Для большинства сайтов удобнее редирект, потому что старые ссылки не ломаются. Если вам нужно именно убрать страницу, можно вернуть 404, но тогда внешние и внутренние ссылки начнут вести в тупик.
<?php
add_action('template_redirect', function () {
if (is_author()) {
$author_id = get_queried_object_id();
// Если у автора есть отдельная страница профиля, подставьте её URL здесь.
$target = home_url('/about/');
if ($author_id) {
wp_safe_redirect($target, 301);
exit;
}
}
});Этот вариант сработает, если вам нужно перенаправлять все архивы авторов на одну страницу. Если у каждого автора должен быть свой адрес, лучше строить карту соответствий по ID или логину.
Шаг 2. Сделать редирект на страницу автора, если она есть
Если вы храните биографию автора в отдельной странице или в пользовательском поле, можно направлять архив на конкретный URL. Пример ниже показывает общий подход: для каждого автора можно задать метаполе author_profile_url.
<?php
add_action('template_redirect', function () {
if (!is_author()) {
return;
}
$author_id = get_queried_object_id();
if (!$author_id) {
return;
}
$profile_url = get_user_meta($author_id, 'author_profile_url', true);
if ($profile_url) {
wp_safe_redirect(esc_url_raw($profile_url), 301);
exit;
}
wp_safe_redirect(home_url('/about/'), 301);
exit;
});Такой вариант удобен, если редакция ведёт страницы авторов вручную. Важно не подставлять в редирект произвольные внешние URL без проверки: используйте wp_safe_redirect(), чтобы не открыть сайт для open redirect.
Шаг 3. Убрать ссылки на архив автора из темы
Если тема выводит ссылку на автора в карточке записи, её можно заменить на обычный текст или на ссылку на страницу профиля. Это снижает количество переходов на отключённый архив и делает поведение сайта предсказуемым.
<?php
$author_id = get_the_author_meta('ID');
$author_name = get_the_author();
$profile_url = get_user_meta($author_id, 'author_profile_url', true);
if ($profile_url) {
echo '<a href="' . esc_url($profile_url) . '" rel="author">' . esc_html($author_name) . '</a>';
} else {
echo esc_html($author_name);
}Если у вас нет отдельной страницы профиля, лучше вообще не ссылаться на архив автора, чем вести пользователя на страницу, которая тут же редиректит.
Сравнение подходов: плагин, код или SEO-настройка
| Подход | Что даёт | Минус | Когда выбирать |
|---|---|---|---|
| SEO-плагин | Можно закрыть архивы от индексации и иногда задать canonical | Страница остаётся доступной, ссылки в теме не меняются | Если нужно быстро закрыть индексацию без правки темы |
| Код в теме или mu-plugin | Полный контроль над редиректом и поведением архива | Нужна проверка после обновлений темы | Если архивы нужно убрать надёжно и надолго |
| Только robots.txt | Скрывает часть обхода | Не убирает URL из индекса и не решает дубли | Почти никогда как единственное решение |
Если у вас уже стоит SEO-плагин, сначала проверьте его настройки. Но для отключения самих архивов авторов одной галочки обычно недостаточно: лучше сочетать настройку индексации и серверный редирект.
Проверка результата после внедрения
После правки важно убедиться, что архивы действительно перестали работать как отдельные страницы, а не просто стали выглядеть «почти закрытыми».
- Откройте
/author/username/в браузере и проверьте, что срабатывает 301-редирект. - Проверьте заголовки ответа через
curl -I https://site.ru/author/username/. - Убедитесь, что в ответе нет 200 OK для старого архива.
- Проверьте sitemap: архив автора не должен оставаться в списке, если вы его отключили.
- Посмотрите внутренние ссылки в шаблоне записи: они не должны вести на отключённый URL.
Пример проверки через консоль:
curl -I https://example.com/author/username/Ожидаемое поведение — 301 Moved Permanently и заголовок Location с новым адресом. Если вы видите 200 OK, значит редирект не сработал или код подключён не там, где нужно.
Частые ошибки и как их исправить
Редирект сделан через JavaScript
Это плохой вариант для SEO и для надёжности. Поисковик может увидеть старую страницу, а пользователь — мигание контента. Делайте серверный редирект через template_redirect или на уровне веб-сервера.
Архив закрыт в robots.txt, но не отключён
Такой подход не убирает URL из индекса, если он уже известен поисковику. Для дублирующихся архивов этого недостаточно.
Редирект ведёт на главную без логики
Это допустимо только если у автора нет своей страницы и вы осознанно сводите все старые URL в одно место. Но если контент автора важен, лучше вести на профиль или страницу «Об авторе».
В теме остались ссылки на старый архив
Тогда пользователи продолжают попадать на редирект, а поисковик — переобходить лишний URL. После внедрения проверьте шаблоны записей, блоки автора и хлебные крошки.
Практические советы по безопасности и производительности
Если вы вносите код в functions.php, помните, что обновление темы может его затереть. Для такого изменения безопаснее использовать дочернюю тему или небольшой mu-plugin. Это особенно полезно, если отключение архивов авторов — часть общей технической чистки сайта.
Ещё один момент — не плодите лишние запросы к базе. Если вы храните URL профиля автора в метаполе, не делайте сложных выборок на каждой странице записи. Для обычного сайта одного get_user_meta() достаточно, а WordPress сам закэширует часть данных пользователя.
Если у вас много дублей и технических страниц, имеет смысл проверить не только archives авторов, но и другие источники мусора: теги, attachment-страницы, параметры URL и пустые архивы. В таких задачах удобно опираться на инструменты, которые закрывают именно технические дубли, а не просто прячут их от глаз. Например, для комплексной чистки сайта и SEO-настроек часто используют Clearfy Pro: https://wpshop.ru/plugins/clearfy?utm_source=wp-course.ru&utm_medium=article&utm_campaign=kak-otklyuchit-arkhivy-avtorov-v-wordpress-i-zamenit-ikh-na-odnu-stranitsu
Если после отключения архивов у вас остаются вопросы к индексации, проверьте ещё canonical, sitemap и внутреннюю перелинковку. Именно там чаще всего остаются следы старой структуры, даже когда сам архив уже редиректится.