В стандартной установке WordPress URL страницы автора выглядит примерно так: https://example.com/author/username. Иногда возникает необходимость изменить этот URL, например, убрать слово author или заменить на другое, чтобы улучшить SEO или сделать ссылки более понятными для пользователей.
Почему стоит изменить URL автора в WordPress
Изменение URL страницы автора может быть полезно по нескольким причинам:
- SEO-оптимизация: Более короткий и понятный URL может повысить кликабельность в поисковой выдаче.
- Безопасность: Скрытие стандартных путей уменьшает риск автоматических атак на страницы автора.
- Удобство пользователя: Кастомные URL смотрятся аккуратнее и понятнее.
Однако для изменения URL автора не всегда нужен плагин — это можно сделать с помощью небольших изменений в коде темы или в отдельном плагине.
Изменение URL автора через фильтр author_rewrite_rules
WordPress использует rewrite rules для создания красивых URL. Чтобы изменить базу для URL автора, можно воспользоваться фильтром author_rewrite_rules и функцией add_rewrite_rule().
Добавим новый базовый слаг, например, profile вместо author. Для этого в файл functions.php вашей темы или в свой плагин добавьте следующий код:
function wpsystem_change_author_base() {
global $wp_rewrite;
$wp_rewrite->author_base = 'profile';
}
add_action('init', 'wpsystem_change_author_base');Этот код заменит author на profile в URL автора. После добавления кода необходимо обновить правила перезаписи, зайдя в админке в Настройки → Постоянные ссылки и просто нажав кнопку "Сохранить изменения" без изменения настроек.
Пояснения и возможные варианты
Вы можете задать любое слово вместо profile, например, team или user, в зависимости от тематики сайта. Главное — обновить правила перезаписи.
Если вы хотите полностью убрать сегмент, оставив только имя пользователя, это возможно, но не рекомендуется из-за возможных конфликтов с другими URL на сайте.
Изменение ссылки на автора в шаблонах WordPress
После изменения базы URL автора полезно поменять ссылки в шаблонах, чтобы они корректно указывали на новые адреса. Для этого можно использовать фильтр author_link:
function wpsystem_custom_author_link($link, $author_id, $author_nicename) {
return home_url('/profile/' . $author_nicename . '/');
}
add_filter('author_link', 'wpsystem_custom_author_link', 10, 3);Этот фильтр гарантирует, что функция get_author_posts_url() и другие вызовы, генерирующие ссылку на автора, будут возвращать правильный URL с новой базой.
Пример более сложной переадресации с проверкой
Если вы хотите сделать перенаправление со старых URL на новые (например, чтобы не потерять SEO-трафик), можно добавить следующий код:
function wpsystem_redirect_old_author_url() {
if (is_author()) {
global $wp_rewrite;
$author_base = 'profile';
$request = $_SERVER['REQUEST_URI'];
if (strpos($request, '/author/') !== false) {
$new_url = str_replace('/author/', '/' . $author_base . '/', $request);
wp_redirect(home_url($new_url), 301);
exit;
}
}
}
add_action('template_redirect', 'wpsystem_redirect_old_author_url');Этот код проверяет, если пользователь зашел по URL с /author/, то делает 301 редирект на новый URL с базой profile. Это удобно для плавного перехода.
Дополнительные советы и рекомендации
1. Перед изменениями сделайте резервную копию сайта и базы данных.
2. Если у вас много авторов или сложная структура, тестируйте изменения на тестовом стенде.
3. Следите за кэшированием: если используете плагины кэширования, очистите кэш после изменений.
4. Проверьте работу ссылок с помощью инструментов Google Search Console и других SEO-сервисов.
Использование плагинов для расширенного управления URL автора
Если вам нужны более продвинутые возможности, можно рассмотреть плагины, например, Clearfy Pro. Этот плагин позволяет управлять множеством SEO-настроек, включая изменение URL и скрытие базовых элементов WordPress без написания кода.
Однако, если задача только в смене базы URL автора, то кодовый способ более легкий и гибкий.
Выводы
Изменение URL автора в WordPress без плагинов — это задача, которая решается с помощью правильной работы с rewrite rules и фильтрами. Это позволит сделать адреса страниц авторов более удобными и SEO-дружелюбными без лишних нагрузок на сайт.