Как изменить URL адрес постов в WordPress без пересмотра ссылок

Изменение структуры URL постов в WordPress — задача, с которой сталкиваются многие разработчики и владельцы сайтов. Часто хочется сделать адреса более читабельными, добавить дату или убрать категорию, при этом не потерять трафик и не получить массу битых ссылок. В этой статье разберём, как правильно изменить URL постов без пересмотра ссылок, сохраняя SEO и пользовательский опыт.

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

Когда вы меняете структуру постоянных ссылок (Permalinks) в WordPress, старые URL перестают работать, если не настроен редирект. Это ведёт к ошибкам 404, потере позиций в поисковиках и ухудшению пользовательского опыта. Поэтому изменение необходимо проводить аккуратно и с настройкой перенаправлений.

WordPress по умолчанию позволяет изменять структуру URL в разделе Настройки > Постоянные ссылки. Но после изменения нужно обязательно позаботиться о корректных редиректах.

Как изменить структуру URL и настроить редиректы

Шаг 1: Выбираем новую структуру URL

Например, вы хотите убрать дату из URL, чтобы адреса стали короче и проще. Было:

https://example.com/2024/06/19/post-name/

Стало:

https://example.com/post-name/

Для этого в настройках постоянных ссылок выбираем «Произвольно» и ставим /postname/.

Шаг 2: Обеспечиваем 301 редиректы с старых URL на новые

Чтобы поисковики и пользователи не потеряли доступ к старым страницам, нужно настроить 301 редиректы. Это можно сделать несколькими способами:

  • С помощью плагинов (например, Redirection)
  • Через файл .htaccess (если сервер Apache)
  • Через functions.php и хуки WordPress — более гибкий способ

Пример кода для автоматического 301 редиректа в functions.php

Добавим в functions.php вашей темы следующий код, который перенаправит старые URL с датой на новые без даты:

function wptemy_redirect_old_date_urls() {
    if (is_singular('post')) {
        global $post;
        $current_url = home_url(add_query_arg(array(), $_SERVER['REQUEST_URI']));
        $correct_url = get_permalink($post->ID);
        if ($current_url !== $correct_url) {
            wp_redirect($correct_url, 301);
            exit;
        }
    }
}
add_action('template_redirect', 'wptemy_redirect_old_date_urls');

Этот код проверяет, если пользователь зашёл по старому URL с датой, и автоматически перенаправляет на новый корректный URL без даты.

Использование плагина Redirection для управления URL

Плагин Redirection — это удобный инструмент для управления 301 редиректами без знания кода. Вот как им пользоваться:

  1. Установите и активируйте плагин через админку WordPress.
  2. Перейдите в меню Инструменты > Redirection.
  3. Добавьте новое правило редиректа: в поле «Источник» укажите регулярное выражение, соответствующее старой структуре URL, например: ^/\d{4}/\d{2}/\d{2}/(.+)$.
  4. В поле «Цель» впишите /$1 — чтобы сохранить часть URL без даты.
  5. Сохраните правило и протестируйте переходы.

Плагин также ведёт логи 404 ошибок и показывает статистику редиректов, что помогает контролировать процесс.

Проверка и настройка для SEO

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

  • Проверить, что все старые URL корректно перенаправляются с кодом 301.
  • Обновить файл sitemap.xml, если вы используете SEO-плагины (Yoast SEO, Rank Math и др.).
  • Отправить обновлённую карту сайта в Google Search Console.
  • Проверить внутренние ссылки на сайте и при необходимости обновить их.

Если вы используете кэширование или CDN, очистите кеш, чтобы изменения стали видны сразу.

Дополнительные советы для безопасного изменения URL

При работе с URL адресами постов учитывайте следующие моменты:

  • Не меняйте структуру URL слишком часто — это негативно влияет на SEO.
  • Если у вас большой сайт, тестируйте изменения на тестовом сервере.
  • Используйте плагины для управления редиректами, чтобы не засорять файл .htaccess.
  • Регулярно проверяйте логи ошибок и редиректов.

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

Как удалить редирект в WordPress: практические методы и примеры кода
18.11.2025
Как использовать хук pre_get_posts для фильтрации постов в WordPress
29.12.2025
Как создать собственную таблицу в WordPress и работать с ней через плагин
30.11.2025
Как отключить AJAX пагинацию в WordPress без плагинов
21.12.2025
Как удалить meta robots noindex для отдельных страниц WordPress
05.01.2026