Авторские страницы в WordPress — это архивы записей, сгруппированные по авторам. По умолчанию URL таких страниц выглядят как https://example.com/author/username. Иногда возникает задача полностью убрать часть /author/ из URL или заменить её на что-то другое для улучшения SEO или эстетики URL. В этой статье подробно рассмотрим, как именно удалить или изменить URL авторских страниц без использования плагинов.
Почему стоит менять или удалять /author/ из URL
Стандартный URL с /author/ может быть громоздким и не всегда удобным. В некоторых случаях, особенно на коммерческих сайтах или блоге с одним автором, такой адрес не нужен и даже может создавать дублированный контент. Переназначение URL улучшает SEO, упрощает структуру и повышает удобство пользователя.
При этом важно правильно настроить редиректы, чтобы не потерять трафик и не получить ошибки 404.
Как изменить или удалить /author/ в URL авторских страниц: технический разбор
Чтобы изменить базу авторских страниц, нужно применить фильтр author_rewrite_rules и функции WordPress для управления правилами перезаписи.
Пример функции, которая удаляет /author/ из URL и перенаправляет старые адреса на новые:
function wptricks_remove_author_base() {
global $wp_rewrite;
// Убираем /author/ из базового URL
$wp_rewrite->author_base = '';
}
add_action('init', 'wptricks_remove_author_base');
// Перенаправление с /author/username на /username
function wptricks_redirect_author_url() {
if (is_author()) {
$author = get_queried_object();
$author_url = home_url('/' . $author->user_nicename . '/');
if ($_SERVER['REQUEST_URI'] !== parse_url($author_url, PHP_URL_PATH)) {
wp_redirect($author_url, 301);
exit;
}
}
}
add_action('template_redirect', 'wptricks_redirect_author_url');
Эта функция меняет базу авторских ссылок на пустую строку и добавляет перенаправление с устаревшего URL.
Важные моменты и возможные конфликты
При удалении /author/ возникает риск конфликта URL с другими страницами, так как теперь адрес автора совпадает с корневыми страницами сайта.
Чтобы избежать конфликтов, можно сделать префикс кастомным, например, profile или team:
function wptricks_change_author_base_to_profile() {
global $wp_rewrite;
$wp_rewrite->author_base = 'profile';
}
add_action('init', 'wptricks_change_author_base_to_profile');
Так вы сохраните уникальность URL и избежите ошибок.
Как обновить правила перезаписи и сбросить кеш
После внесения изменений в базу авторов необходимо обновить правила перезаписи:
- Перейдите в админке WordPress в Настройки > Постоянные ссылки и нажмите «Сохранить изменения» без правок.
- Или вызовите функцию
flush_rewrite_rules()один раз после активации темы или плагина, чтобы обновить правила.
Пример использования flush_rewrite_rules() в теме:
function wptricks_flush_rewrite_on_theme_activation() {
wptricks_remove_author_base();
flush_rewrite_rules();
}
add_action('after_switch_theme', 'wptricks_flush_rewrite_on_theme_activation');
Как изменить URL авторских страниц с помощью плагина Clearfy Pro
Если вы хотите более простой способ без написания кода, можно применить плагин Clearfy Pro. В нём есть настройка для изменения базового префикса авторских страниц и автоматического управления редиректами.
Преимущества использования Clearfy Pro:
- Удобный интерфейс — настройка в пару кликов.
- Автоматическая очистка базы от неиспользуемых правил.
- Поддержка SEO-оптимизации с корректными редиректами.
Полезные советы по работе с авторскими страницами
1. Обязательно проверьте, что новые URL не конфликтуют с другими страницами или постами.
2. Используйте 301 редиректы со старых URL для сохранения поискового трафика.
3. Тестируйте изменения на тестовом сайте, чтобы не повлиять на работоспособность основного проекта.
Пример кастомного запроса для получения URL автора по его логину
function wptricks_get_author_url_by_login($login) {
$user = get_user_by('login', $login);
if (!$user) return false;
return get_author_posts_url($user->ID);
}
Этот код полезен для генерации ссылок на авторские страницы с учётом изменённой базы.