В WordPress по умолчанию для каждого пользователя создается архив авторских записей с URL вида https://site.ru/author/username. Иногда возникает необходимость изменить этот префикс /author/ или полностью удалить страницу архива автора, чтобы закрыть доступ к списку записей конкретного пользователя. В этой статье разберем, как решать обе задачи — изменить URL авторских архивов и отключить их, используя код и плагины.
Почему может понадобиться изменить или удалить URL авторских архивов
Авторские архивы — это важный элемент WordPress, но бывают ситуации, когда они мешают:
- Требования безопасности — скрыть имена пользователей от внешних посетителей.
- SEO-оптимизация — изменить структуру URL для лучшей индексации.
- Уникальность дизайна — убрать лишние страницы, которые не используются.
- Сократить дублирующий контент — если архивы создают проблемы с SEO.
Изменение URL или удаление архивов решает эти задачи.
Изменение префикса URL авторских архивов
Чтобы поменять стандартный префикс author на свой, например, writer или profile, можно использовать фильтр author_rewrite_rules и функцию для обновления правил перезаписи.
Пример кода для изменения префикса author
function wpwp_change_author_slug() {
add_rewrite_rule('^writer/([^/]+)/?$', 'index.php?author_name=$matches[1]', 'top');
}
add_action('init', 'wpwp_change_author_slug');
function wpwp_filter_author_link($link, $author_id, $author_nicename) {
return home_url('/writer/' . $author_nicename . '/');
}
add_filter('author_link', 'wpwp_filter_author_link', 10, 3);
В этом примере мы меняем префикс author на writer. Обязательно после добавления кода зайдите в админку WordPress в раздел Настройки — Постоянные ссылки и нажмите «Сохранить изменения», чтобы обновить правила перезаписи.
Полное отключение авторских архивов в WordPress
Если вам нужно полностью запретить доступ к страницам архивов авторов, можно сделать редирект с них на главную страницу или 404 ошибку. Вот несколько способов.
1. Отключение через functions.php
function wpwp_disable_author_archives() {
if (is_author()) {
wp_redirect(home_url());
exit;
}
}
add_action('template_redirect', 'wpwp_disable_author_archives');
Этот код перенаправит всех посетителей с авторских страниц на главную.
2. Отдавать 404 для авторских архивов
function wpwp_author_archives_404() {
if (is_author()) {
global $wp_query;
$wp_query->set_404();
status_header(404);
nocache_headers();
include(get_query_template('404'));
exit;
}
}
add_action('template_redirect', 'wpwp_author_archives_404');
Так страницы будут отдавать ошибку 404, что полезно для SEO при удалении архивов.
Использование плагинов для управления URL и архивами авторов
Если вам не хочется ковыряться в коде, можно использовать плагины. Например:
- WP No Author Archives — простой плагин для отключения архивов авторов.
- Permalink Manager Lite — позволяет гибко менять структуру URL, включая авторские ссылки.
Для примера, при использовании WP No Author Archives достаточно активировать плагин, и архивы авторов перестанут быть доступными.
Советы по SEO и безопасности при работе с авторскими архивами
Если вы удаляете или меняете URL авторов, важно позаботиться о SEO:
- Добавьте 301 редиректы с устаревших URL, чтобы не потерять трафик.
- Используйте robots.txt или мета-теги
noindexдля архивов, если не хотите их индексировать. - Проверяйте пользовательские роли и права: иногда лучше ограничить доступ к страницам авторов.
Для управления редиректами советуем плагин Redirection.
Выводы и лучшие практики
Изменение или удаление URL авторских архивов — частая задача для улучшения безопасности и SEO WordPress-сайта. Используйте кодовые решения для гибкости и плагиновые — для простоты. Обязательно обновляйте правила ссылок и настраивайте редиректы, чтобы избежать ошибок и потери трафика.
Если нужна комплексная оптимизация, рассмотрите плагины из WPShop — они помогут поддерживать чистоту структуры и безопасность сайта.