Изменение URL в WordPress без потери индексации и позиций

Если вы решили изменить структуру URL на сайте WordPress, например, сменить ЧПУ (человекопонятные урлы) или перенести страницы на другую адресную схему, важно сохранить индексацию и SEO-позиции. Неправильное изменение URL может привести к потере трафика, снижению позиций в поисковых системах и проблемам с индексацией. В этой статье рассмотрим, как грамотно менять URL в WordPress, используя правильные редиректы и отправку обновленных ссылок через протокол IndexNow.

Почему важно правильно менять URL в WordPress: риски и задачи

Изменение URL без корректной настройки ведет к ошибкам 404, которые плохо влияют на ранжирование. Поисковые системы теряют связь с вашими страницами, а пользователи получают ошибку, что снижает доверие и удобство.

Основные задачи при смене URL:

  • Настроить 301 редиректы со старых адресов на новые;
  • Обновить внутренние ссылки в контенте и меню;
  • Отправить поисковым системам информацию о смене адресов для быстрой переиндексации.

В WordPress эти задачи можно автоматизировать и упростить с помощью плагинов и собственного кода.

Настройка 301 редиректов для новых URL в WordPress

Лучший способ сохранить SEO — настроить постоянные (301) редиректы. Они сообщают поисковику, что страница окончательно сменила адрес.

Для этого можно использовать плагины, например:

  • Redirection — популярный и бесплатный плагин для управления редиректами;
  • Rank Math SEO — SEO-плагин с возможностью создания редиректов;
  • Yoast SEO Premium — платный плагин с расширенными функциями редиректов.

Пример ручного добавления редиректа в .htaccess для сайта на Apache:

Redirect 301 /staryj-url/ /novyj-url/

Или в файле functions.php темы можно добавить редирект на PHP:

function indexnow_redirect_old_to_new() {
    if (strpos($_SERVER['REQUEST_URI'], '/staryj-url/') !== false) {
        wp_redirect(home_url('/novyj-url/'), 301);
        exit;
    }
}
add_action('template_redirect', 'indexnow_redirect_old_to_new');

Автоматизация редиректов при массовом изменении URL

Если меняется много URL, вручную создавать редиректы неудобно. Можно написать скрипт, который будет автоматически создавать правила на основе старой и новой структуры.

Например, если меняется префикс в URL для записей с /blog/ на /articles/, в functions.php можно добавить:

function indexnow_redirect_blog_to_articles() {
    $request_uri = $_SERVER['REQUEST_URI'];
    if (strpos($request_uri, '/blog/') === 0) {
        $new_url = str_replace('/blog/', '/articles/', $request_uri);
        wp_redirect(home_url($new_url), 301);
        exit;
    }
}
add_action('template_redirect', 'indexnow_redirect_blog_to_articles');

Обновление внутренних ссылок и меню после изменения URL

Важно не только настроить редиректы, но и обновить все ссылки внутри сайта, чтобы избежать лишних переходов через редиректы и ускорить работу сайта.

Для обновления ссылок в контенте можно использовать SQL-запросы к базе данных, например:

UPDATE wp_posts SET post_content = REPLACE(post_content, 'https://example.com/blog/', 'https://example.com/articles/');

Для меню и виджетов ссылки можно редактировать через админку или программно с помощью функции:

function indexnow_update_menu_links($old, $new) {
    $menus = wp_get_nav_menus();
    foreach ($menus as $menu) {
        $items = wp_get_nav_menu_items($menu->term_id);
        foreach ($items as $item) {
            if (strpos($item->url, $old) !== false) {
                $updated_url = str_replace($old, $new, $item->url);
                wp_update_nav_menu_item($menu->term_id, $item->ID, ['url' => $updated_url]);
            }
        }
    }
}
// indexnow_update_menu_links('https://example.com/blog/', 'https://example.com/articles/');

Отправка новых URL в IndexNow для быстрой переиндексации

После смены URL важно сообщить поисковым системам о новых адресах. Протокол IndexNow позволяет мгновенно уведомить поисковики о добавленных, изменённых или удалённых URL.

Для WordPress есть несколько плагинов, которые поддерживают IndexNow, например:

  • IndexNow for WordPress — официальный плагин от Microsoft;
  • Rank Math SEO — поддерживает IndexNow;
  • Wp IndexNow — лёгкий плагин для отправки URL.

Если хотите реализовать отправку IndexNow самостоятельно, пример функции на PHP:

function indexnow_send_url($url, $key) {
    $endpoint = 'https://api.indexnow.org/indexnow?url=' . urlencode($url) . '&key=' . $key . '&keyLocation=' . urlencode(home_url('/indexnow.key'));
    $ch = curl_init($endpoint);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    $response = curl_exec($ch);
    $http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    curl_close($ch);
    return ($http_code === 200);
}

// Пример вызова
//$success = indexnow_send_url('https://example.com/articles/novaya-stranica', 'ваш_ключ_indexnow');

Интеграция отправки IndexNow с редиректами

Рекомендуется отправлять новые URL сразу после изменения и настройки редиректа. Можно автоматизировать отправку в хуке, который обновляет URL или запускается после массовых изменений.

Пример подключения к хуку сохранения записи:

function indexnow_notify_on_url_change($post_ID, $post_after, $post_before) {
    if ($post_after->post_name !== $post_before->post_name) {
        $new_url = get_permalink($post_ID);
        $key = 'ваш_ключ_indexnow';
        indexnow_send_url($new_url, $key);
    }
}
add_action('post_updated', 'indexnow_notify_on_url_change', 10, 3);

Проверка и отладка изменений URL

После настройки редиректов и отправки URL важно проверить корректность:

  • Проверьте, что старые URL делают 301 редирект на новые;
  • Убедитесь, что в коде страницы нет ссылок на старые адреса;
  • Проверьте доступность новых URL и отсутствие ошибок 404;
  • Посмотрите логи сервера и плагинов на предмет ошибок;
  • Используйте инструменты вебмастера, чтобы проверить статус индексации.

Для отладки редиректов можно использовать расширения браузера или онлайн-сервисы типа httpstatus.io.

Резюме по безопасности и производительности

Изменение URL — критичная операция для сайта. Рекомендуется делать резервные копии базы данных и файлов перед изменениями. Автоматизируйте задачи, используйте проверенные плагины и тестируйте каждый шаг.

Оптимальная стратегия — сначала настроить редиректы, затем обновить ссылки, и уже после этого отправлять новые URL поисковикам через IndexNow. Это позволит минимизировать потери трафика и ускорить переиндексацию.

Добавь в закладки и поделись с друзьями:

⭐⭐⭐⭐⭐
Как добавить IndexNow в WordPress без плагинов: ручная интеграция и примеры кода
29.11.2025
Изменение URL в WordPress без потери индексации и позиций
08.12.2025
Как удалить из индекса WordPress старые изображения с помощью IndexNow
14.12.2025
IndexNow: решение проблем с отправкой массовых URL в WordPress
14.01.2026
Как удалить из индекса WordPress несуществующие страницы: практические решения
26.11.2025
×
-20%
-20%
-20%
С Днём Рождения, WPshop!

Скидка 20% на премиум темы
и плагины WordPress

Получи свой подарок