В WordPress по умолчанию URL страницы автора имеет вид https://вашсайт.ru/author/username/. Иногда возникает необходимость изменить эту структуру, например, сделать URL более читаемым или соответствующим тематике сайта, без влияния на постоянные ссылки (постоянные ссылки) записей. В этой статье мы подробно разберем, как это сделать, используя как готовые плагины, так и собственные функции с примерами кода.
Почему важно менять URL автора без изменения ссылок постов
Изменение URL автора может понадобиться для SEO, улучшения навигации или просто для брендирования сайта. Но важно, что при этом нельзя затрагивать URL постов, так как это может привести к ошибкам 404 и потере трафика. WordPress хранит структуру URL для записей отдельно, и изменения в URL автора не должны влиять на них.
Если вы просто измените базовый префикс автора, не учитывая систему пермалинков, это может привести к конфликтам и ошибкам. Поэтому мы рассмотрим правильные методы.
Способы изменения URL автора
1. Использование плагинов для изменения URL автора
Самый простой способ — использовать готовые плагины. Рассмотрим несколько популярных:
- WP Author Slug — плагин, который позволяет менять базовый префикс URL автора на любой другой. Например, с
authorнаprofileилиteam. Он автоматически обновляет правила перезаписи, не затрагивая записи. - Edit Author Slug — позволяет не только изменить базовый префикс, но и индивидуально менять слаг каждого автора. Это удобно для SEO и кастомизации.
- Permalink Manager Lite — более универсальный плагин для управления постоянными ссылками, включая пользователей.
Пример использования плагина WP Author Slug:
- Установите и активируйте плагин через админку WordPress.
- Перейдите в настройки плагина и измените базовый префикс
authorна желаемый, например,profile. - Сохраните изменения, и URL авторов изменятся на
https://вашсайт.ru/profile/username/.
Плагин автоматически обновит правила перезаписи, и ссылки на записи останутся без изменений.
2. Изменение URL автора с помощью кода (фильтр rewrite_rules)
Если вы хотите обойтись без плагинов, можно добавить код в файл functions.php вашей темы или в собственный плагин. Основная задача — изменить базу автора через фильтр author_rewrite_rules и обновить правила перезаписи.
Пример кода для изменения префикса автора на profile:
function wpmagazin_change_author_base() {
global $wp_rewrite;
$wp_rewrite->author_base = 'profile';
}
add_action('init', 'wpmagazin_change_author_base');Этот код меняет префикс author на profile. После добавления кода нужно обновить правила перезаписи, зайдя в Настройки > Постоянные ссылки и просто нажав кнопку «Сохранить изменения».
Важно: этот метод не меняет индивидуальные слаги авторов, только базовый префикс. Если нужно изменить слаг конкретного автора, смотрите следующий раздел.
3. Изменение индивидуального слага автора
Чтобы изменить слаг отдельного пользователя, можно воспользоваться фильтром author_link и перехватить генерацию URL авторов. Например:
function wpmagazin_custom_author_slug($link, $author_id, $author_nicename) {
if ($author_id == 5) { // ID автора, для которого меняем ссылку
$custom_slug = 'editor';
$link = home_url('/profile/' . $custom_slug . '/');
}
return $link;
}
add_filter('author_link', 'wpmagazin_custom_author_slug', 10, 3);Этот код для автора с ID 5 изменит URL на https://вашсайт.ru/profile/editor/. Чтобы обработать маршрутизацию и сделать ссылку рабочей, нужно добавить дополнительные правила перезаписи:
function wpmagazin_add_rewrite_rules() {
add_rewrite_rule('^profile/editor/?$', 'index.php?author=5', 'top');
}
add_action('init', 'wpmagazin_add_rewrite_rules');<После добавления этого кода снова сохраните настройки постоянных ссылок.
Проверка и отладка после изменений URL автора
После внесения изменений важно проверить:
- Работают ли ссылки авторов с новым префиксом.
- Не появились ли ошибки 404 на страницах записей.
- Правильно ли отображаются архивы автора и пагинация.
Если возникают ошибки, проверьте правильность правил перезаписи и очистите кэш сайта, а также серверный кэш, если он используется.
Советы по SEO при изменении URL автора
Если сайт уже индексируется поисковыми системами, и вы меняете URL авторов, обязательно настройте 301 редиректы со старых URL на новые, чтобы не потерять позиции.
Пример редиректа через файл .htaccess:
Redirect 301 /author/ https://вашсайт.ru/profile/Или используйте SEO-плагины с функцией редиректов, например, Redirection.
Заключение
Изменение URL автора в WordPress — задача несложная, если знать, как правильно работать с правилами перезаписи и фильтрами. Выбор между плагинами и собственным кодом зависит от задач и опыта. Плагины упрощают задачу, а код дает максимальную гибкость и контроль.
Используйте предложенные методы, чтобы сделать URL авторов вашего сайта удобнее и привлекательнее, не нарушая работу сайта и не теряя SEO-позиции.