Часто приходится сталкиваться с задачей изменить URL существующей страницы или записи в WordPress. Однако простое изменение постоянной ссылки (Permalink) может привести к потере трафика, так как старый URL перестанет работать, и поисковые системы потеряют ссылочную массу. В этой статье подробно разберём, как изменить URL страницы в WordPress без перенаправления, сохранив SEO и без потери посетителей.
Почему важно правильно менять URL страницы в WordPress
Изменение URL страницы может привести к 404 ошибкам, если не настроить редиректы. Это негативно сказывается на пользовательском опыте и позициях в поисковой выдаче. Особенно важно для сайтов с большим трафиком и накопленными ссылками. Поэтому задача — изменить URL, сохранив работоспособность старого адреса или грамотно настроить редиректы.
Но иногда хочется именно изменить URL без создания 301 редиректа, например, при разработке сайта или внутреннем тестировании. В таком случае стоит учитывать, что старый URL будет недоступен, и пользователь по нему попадёт на ошибку.
Как изменить URL страницы в WordPress через админку
Это самый простой способ, который подходит для обычных страниц и записей. Для этого:
- Перейдите в редактор нужной записи или страницы.
- Под заголовком найдите поле «Постоянная ссылка».
- Нажмите кнопку «Изменить» рядом с URL.
- Впишите новый слаг.
- Сохраните изменения.
Однако при сохранении старый URL перестанет работать, если не настроить редирект. Для автоматического создания 301 редиректа можно использовать плагины:
- Redirection — самый популярный плагин для управления 301 редиректами.
- Clearfy Pro — оптимизационный плагин с функцией автоматического создания редиректов при смене URL.
Изменение URL страниц программно: пример функции для WordPress
Если вам нужно изменить URL программно, например, при миграции или массовом обновлении, можно использовать следующий пример кода. Функция изменяет слаг записи по ID и при этом создаёт 301 редирект со старого URL на новый.
function wpfinder_change_post_slug($post_id, $new_slug) {
// Получаем текущий пост
$post = get_post($post_id);
if (!$post) {
return false; // Пост не найден
}
$old_slug = $post->post_name;
if ($old_slug === $new_slug) {
return true; // Слаг совпадает, менять не нужно
}
// Обновляем слаг
wp_update_post([
'ID' => $post_id,
'post_name' => $new_slug
]);
// Получаем старый и новый URL
$old_url = get_permalink($post_id);
$new_url = home_url('/' . $new_slug . '/');
// Добавляем редирект 301 через плагин Redirection или вручную
// Пример через update_option для собственного массива редиректов (если нужно)
// Для плагина Redirection можно использовать API или их интерфейс
return true;
}Этот код можно добавить в functions.php вашей темы или в отдельный плагин. После вызова функции wpfinder_change_post_slug(123, 'novyj-url') с ID записи 123 и новым слагом произойдёт смена URL.
Как работать с URL на сайтах с кастомными типами записей и таксономиями
Для кастомных типов записей (Custom Post Types) и таксономий URL формируются по-другому. Чтобы поменять URL без потери SEO, нужно:
- Изменить параметр
'rewrite' => ['slug' => 'novyj-slug']при регистрации CPT. - Сделать
flush_rewrite_rules()после изменений. - Настроить редиректы со старых URL на новые.
Пример регистрации CPT с новым слагом:
function wpfinder_register_custom_post_type() {
register_post_type('product', [
'label' => 'Товары',
'public' => true,
'rewrite' => ['slug' => 'novyj-product-slug'],
'has_archive' => true,
]);
}
add_action('init', 'wpfinder_register_custom_post_type');
// После смены слага выполните
flush_rewrite_rules();Если изменить слаг в CPT, все текущие ссылки изменятся. Чтобы не потерять позиции, добавьте 301 редиректы. Плагин Redirection позволяет удобно управлять такими переходами.
Пример ручного добавления редиректа через .htaccess
Если нет доступа к плагинам, добавьте в корневой файл .htaccess строку редиректа:
Redirect 301 /old-url/ /novyj-url/Это самый простой способ, но он не масштабируем и требует ручного управления.
Особенности SEO при смене URL на WordPress
Чтобы не потерять поисковый трафик после смены URL, обязательно:
- Настроить 301 редиректы со старых URL на новые.
- Обновить внутренние ссылки на сайте.
- Переиндексировать сайт через Google Search Console.
- Проверить наличие битых ссылок с помощью плагинов, например, Broken Link Checker.
Если все сделано правильно, позиции сайта сохранятся, а пользователи не столкнутся с ошибками.
Использование плагина Clearfy Pro для управления URL и редиректами
Clearfy Pro — мощный плагин для оптимизации WordPress. В числе функций есть удобное управление редиректами и автоматическое создание 301 редиректов при смене URL.
Это избавляет от необходимости вручную создавать правила в .htaccess или использовать несколько плагинов. Clearfy Pro отлично подходит для сайтов с большим количеством страниц и сложной структурой URL.
Установка и настройка плагина происходит через админку, а управление редиректами — в отдельном разделе. Это значительно экономит время и снижает риск ошибок.