Как удалить или изменить slug записи WordPress без потери SEO

Slug — это часть URL, которая отвечает за уникальность и читаемость адреса записи или страницы в WordPress. Иногда возникает необходимость изменить slug записи: например, если он слишком длинный, содержит опечатку или не соответствует новой структуре сайта. Однако простое изменение slug может привести к потере позиций в поисковых системах из-за появления битых ссылок. В этой статье мы подробно разберём, как безопасно удалить или изменить slug записи в WordPress, сохранив SEO и удобство для пользователей.

Почему важно правильно изменить slug записи

Slug — это не просто текст в URL. Поисковые системы используют URL для индексации и ранжирования страниц. Если slug изменить без учёта SEO, старые ссылки перестанут работать, что приведёт к появлению ошибок 404 и снижению трафика.

Кроме того, пользователи могут попасть на несуществующую страницу, если ссылки были размещены на других сайтах или в социальных сетях. Поэтому главная задача — сделать так, чтобы старый URL переадресовывал на новый.

Также важно учитывать внутреннюю перелинковку сайта и ссылки в меню, чтобы все они обновились автоматически.

Как изменить slug записи через админку WordPress

Самый простой способ — открыть нужную запись или страницу в редакторе WordPress. Под заголовком есть поле с текущим URL, где можно изменить slug. После сохранения WordPress автоматически обновит URL.

Однако WordPress не создаёт редирект со старого URL на новый, что может привести к ошибкам 404. Чтобы исправить это, нужно настроить перенаправления.

Настройка редиректа через плагин Redirection

Один из самых популярных плагинов — Redirection. Он позволяет создавать 301 редиректы без правки кода.

После установки и активации:

  1. Перейдите в раздел «Инструменты» → «Redirection».
  2. В поле «Source URL» введите старый slug (например, /staryj-slug/).
  3. В поле «Target URL» введите новый slug (например, /novyj-slug/).
  4. Нажмите «Добавить редирект».

Эти действия сохранят SEO-позиции и не дадут пользователям столкнуться с ошибками.

Автоматизация редиректов при смене slug с помощью кода

Если вы хотите автоматизировать процесс и избежать ручного создания редиректов, можно добавить код, который будет создавать 301 редирект при изменении slug записи.

Ниже пример кода для файла functions.php вашей темы или в отдельном плагине:

add_action('post_updated', 'wpbe_redirect_on_slug_change', 10, 3);function wpbe_redirect_on_slug_change($post_ID, $post_after, $post_before) {
    if ($post_after->post_name !== $post_before->post_name) {
        global $wpdb;
        $old_slug = $post_before->post_name;
        $new_slug = $post_after->post_name;
        $old_url = home_url('/' . $old_slug . '/');
        $new_url = home_url('/' . $new_slug . '/');
        // Добавляем редирект в таблицу wp_redirection или свою логику
        // Пример с использованием плагина Redirection через его API
        if (class_exists('Red_Item')) {
            $redirection = new Red_Item();
            $redirection->url = '/' . $old_slug . '/';
            $redirection->action_data = $new_url;
            $redirection->action_type = 'url';
            $redirection->status_code = 301;
            $redirection->save();
        }
    }
}

Этот код отслеживает изменение slug и автоматически создаёт 301 редирект через API плагина Redirection. Это удобно для сайтов с частыми изменениями URL.

Удаление slug: когда и как это делать

Иногда возникает задача полностью убрать slug, например, для главной страницы или кастомного типа записей. В WordPress slug является обязательной частью URL, но можно настроить ЧПУ так, чтобы slug не отображался.

Удаление slug для страницы или записи

Полностью удалить slug из URL записи невозможно, так как это нарушит структуру ссылок. Однако можно настроить корневой URL для определённого типа записей. Например, для кастомного типа записей:

function wpbe_remove_slug_cpt($post_link, $post, $leavename) {
    if ('product' == $post->post_type && 'publish' == $post->post_status) {
        $post_link = home_url('/' . $post->post_name . '/');
    }
    return $post_link;
}
add_filter('post_type_link', 'wpbe_remove_slug_cpt', 10, 3);
<

Этот код убирает slug кастомного типа записей product из URL. Далее нужно добавить правила перезаписи:

function wpbe_parse_request_tricksy($query) {
    if (!$query->is_main_query()) return;
    if (2 != count($query->query) || !isset($query->query['page'])) return;
    if (!empty($query->query['name'])) {
        $query->set('post_type', array('post', 'product', 'page'));
    }
}
add_action('pre_get_posts', 'wpbe_parse_request_tricksy');
<

Это позволит WordPress корректно обрабатывать такие URL. Однако будьте осторожны: при совпадении имён страниц и записей возможны конфликты.

Практические рекомендации по изменению slug без потери SEO

  • Всегда делайте резервную копию сайта перед изменениями в URL.
  • Используйте 301 редиректы для перенаправления старых адресов на новые.
  • Обновите внутренние ссылки в меню, виджетах и контенте, чтобы они указывали на новый URL.
  • Проверьте работоспособность редиректов с помощью инструментов типа Screaming Frog или онлайн-сервисов.
  • При большом количестве изменений рассмотрите автоматизацию через код или специализированные плагины.

Заключение

Изменение или удаление slug записи в WordPress — задача, требующая аккуратности и понимания SEO-процессов. Следуя описанным методам, можно избежать потери трафика и обеспечить удобную навигацию для пользователей.

Для удобного управления редиректами рекомендуем использовать плагин Redirection. А если нужны дополнительные инструменты оптимизации сайта, обратите внимание на Clearfy Pro, который поможет убрать лишние элементы и ускорить WordPress.

Как автоматизировать управление пользователями WordPress по ролям
29.03.2026
Удаление неиспользуемых метаданных в WordPress для улучшения производительности
06.12.2025
Как удалить автосохранения и ревизии в WordPress для оптимизации базы данных
21.03.2026
Как установить ограничения на размер и тип файлов в WordPress
26.03.2026
Как добавить поддержку WebP в WordPress без плагинов
10.04.2026