В стандартной установке WordPress URL страницы профиля пользователя выглядит как https://example.com/author/username. Иногда возникает необходимость изменить этот адрес — например, сделать URL более коротким, удобным для пользователя или адаптированным под бренд сайта. В этой статье мы рассмотрим, как изменить URL пользовательского профиля без потери SEO и конфликтов с другими страницами.
Почему стоит изменить URL профиля пользователя в WordPress
По умолчанию WordPress использует префикс author в URL профиля автора. Это может быть неудобно по нескольким причинам:
- Длинный и неинтуитивный URL — особенно если хочется сделать адреса более лаконичными.
- Необходимость интеграции с кастомными структурами сайта, например, если ваш сайт — это портал с разделом «эксперты» или «авторы».
- SEO-оптимизация — изменение URL может помочь лучше адаптировать ссылки под ключевые слова или бренд.
Однако простое изменение без учета внутренней логики WordPress вызовет 404 ошибку или потерю SEO-показателей. Поэтому важно понять, как правильно переопределить маршруты.
Как изменить базовый префикс URL профиля пользователя: пример с 'profile'
Самый простой способ изменить префикс author на что-то другое — использовать фильтр author_rewrite_rules и функцию add_rewrite_rule(). Вот пример, который заменяет author на profile:
function wpreboot_change_author_base() {
global $wp_rewrite;
$wp_rewrite->author_base = 'profile';
}
add_action('init', 'wpreboot_change_author_base');После добавления этого кода в файл functions.php вашей темы или в плагин, нужно обновить правила перезаписи, зайдя в админку WordPress: Настройки > Постоянные ссылки и просто нажать «Сохранить изменения».
Теперь URL профиля пользователя будет выглядеть как https://example.com/profile/username.
Пояснения к коду
WordPress хранит базовые части URL в объекте $wp_rewrite. Изменяя свойство author_base, мы меняем префикс авторских страниц.
Как сделать URL профиля полностью кастомным, например, /experts/username
Если нужно заменить author на любое другое слово, например, experts, и при этом сохранить корректную работу ссылок, можно использовать следующий код:
function wpreboot_custom_author_slug() {
global $wp_rewrite;
$wp_rewrite->author_base = 'experts';
}
add_action('init', 'wpreboot_custom_author_slug');Как и в предыдущем случае, не забудьте обновить постоянные ссылки.
Если же нужно изменить не только базовый префикс, но и структуру URL (например, добавить дополнительные сегменты), придется работать с фильтром author_rewrite_rules напрямую:
function wpreboot_custom_author_rewrite_rules( $author_rewrite ) {
$author_rewrite = array();
$author_rewrite['experts/([^/]+)/?$'] = 'author_name=$matches[1]';
$author_rewrite['experts/([^/]+)/page/?([0-9]{1,})/?$'] = 'author_name=$matches[1]&paged=$matches[2]';
return $author_rewrite;
}
add_filter('author_rewrite_rules', 'wpreboot_custom_author_rewrite_rules');Этот код полностью переопределяет правила для авторских страниц и задаёт новый шаблон URL.
Как сохранить SEO и избежать ошибок после изменения URL профиля
Изменение URL профиля автора влияет на внутренние ссылки и поисковый трафик, поэтому важно настроить перенаправления 301 со старых адресов на новые.
Для этого можно воспользоваться плагином Clearfy Pro, который позволяет легко настроить редиректы и оптимизировать SEO.
Если хотите реализовать перенаправления программно, добавьте в functions.php следующий код:
function wpreboot_redirect_old_author_url() {
if (is_author() && strpos($_SERVER['REQUEST_URI'], '/author/') !== false) {
$author = get_query_var('author_name');
if ($author) {
wp_redirect(home_url('/profile/' . $author), 301);
exit;
}
}
}
add_action('template_redirect', 'wpreboot_redirect_old_author_url');Этот код проверит, если пользователь зашел по старому адресу /author/username, и перенаправит на новый /profile/username с кодом 301.
Дополнительные рекомендации по работе с пользовательскими URL
Совместимость с плагинами и темами
Изменение базовых URL авторов может повлиять на работу некоторых плагинов, которые жестко прописывают пути. Обязательно протестируйте сайт после внесенных изменений.
Если вы используете SEO-плагины (Yoast SEO, Rank Math), убедитесь, что они корректно индексируют новые URL.
Кэширование и обновление ссылок
После внесения изменений обязательно очистите кэш сайта и браузера, чтобы обновленные правила заработали.
Также проверьте внутренние ссылки на сайте — если где-то жестко прописаны старые URL, обновите их.
Использование плагина для упрощения
Если не хочется править код, можно воспользоваться плагинами для переопределения URL авторов. Например, WPRemark поддерживает расширенные возможности для управления URL и SEO.
Выводы
Изменение URL пользовательского профиля в WordPress — задача, требующая аккуратного подхода. Правильное переопределение базового префикса, настройка правил перезаписи и корректные 301 редиректы помогают сохранить SEO и избежать ошибок 404.
Используйте приведённые в статье примеры кода и рекомендации, чтобы быстро и безопасно провести изменения на вашем сайте. Не забывайте тестировать и обновлять кэш после внесения изменений.