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

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

Почему изменение URL в WordPress может негативно повлиять на SEO

Изменение постоянных ссылок (Permalinks) в WordPress — это фундаментальный момент. Если вы меняете структуру URL без настройки правильных редиректов, поисковые системы увидят эти страницы как новые, а старые URL перестанут работать (404 ошибка). В результате вы потеряете накопленный трафик, позиции и доверие поисковиков.

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

Поэтому задача — не просто изменить URL, а сделать это с минимальным ущербом для SEO.

Как изменить структуру постоянных ссылок в WordPress

Стандартный способ — перейти в админке WordPress в меню Настройки > Постоянные ссылки и выбрать нужный формат URL. Например, чтобы убрать дату из адреса, переключитесь с формата /2024/06/12/post-name/ на /post-name/.

Однако после этого старые URL перестанут работать, если не настроить перенаправления.

Правильные редиректы для сохранения SEO

Чтобы настроить перенаправления с устаревших URL на новые, можно использовать несколько способов:

  • Редиректы через .htaccess (для Apache серверов)
  • Плагины для редиректов, например, Clearfy Pro или WPRemark
  • Использование функций WordPress и хука template_redirect для программных редиректов

Рассмотрим самый универсальный вариант — программный редирект в functions.php темы или в отдельном плагине.

Пример кода для редиректа старых URL с датой на новые без даты

Если вы меняете структуру с /year/month/day/post-name/ на /post-name/, этот код поможет сделать 301 редирект:

function wpvip_redirect_old_urls() {
    if (is_singular('post')) {
        $current_url = \'https://\' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
        $pattern = '/\/(\d{4})\/(\d{2})\/(\d{2})\/(.+)\/$/';
        if (preg_match($pattern, $_SERVER['REQUEST_URI'], $matches)) {
            $new_url = home_url('/' . $matches[4] . '/');
            if ($new_url !== $current_url) {
                wp_redirect($new_url, 301);
                exit;
            }
        }
    }
}
add_action('template_redirect', 'wpvip_redirect_old_urls');

Этот код проверяет URL, и если в нем есть дата, делает редирект на адрес без даты. 301 редирект сообщает поисковым системам, что страница перемещена навсегда, что сохраняет SEO вес.

Плагины для управления URL и редиректами

Clearfy Pro

Clearfy Pro — универсальный инструмент для оптимизации WordPress. В нем есть удобный модуль для массового управления редиректами и чистки URL, что позволяет легко настроить перенаправления при изменении структуры ссылок.

Redirection

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

Как безопасно удалить часть URL — пример удаления категории из адреса

В WordPress по умолчанию URL записей могут содержать категорию, например: /category/post-name/. Иногда нужно убрать категорию из URL, чтобы сделать адрес короче и чище.

Это можно сделать, изменив структуру постоянных ссылок на /post-name/, но необходимо настроить редиректы с старых адресов.

Пример кода для удаления категории из URL с редиректом

function wpvip_remove_category_from_permalink($post_link, $post) {
    if ('post' === $post->post_type) {
        $post_link = str_replace('/' . get_the_category($post->ID)[0]->slug . '/', '/', $post_link);
    }
    return $post_link;
}
add_filter('post_link', 'wpvip_remove_category_from_permalink', 10, 2);

function wpvip_redirect_old_category_urls() {
    if (is_singular('post')) {
        $request_uri = $_SERVER['REQUEST_URI'];
        if (preg_match('/\/category\/([^\/]+)\/(.+)/', $request_uri, $matches)) {
            $new_url = home_url('/' . $matches[2]);
            wp_redirect($new_url, 301);
            exit;
        }
    }
}
add_action('template_redirect', 'wpvip_redirect_old_category_urls');

Этот код убирает категорию из URL при выводе и делает редирект со старого адреса с категорией на новый без нее.

Проверка корректности и мониторинг после изменения URL

После внесения изменений обязательно:

  • Проверьте все редиректы — они должны работать с кодом 301.
  • Используйте Google Search Console и Яндекс.Вебмастер для отслеживания ошибок 404 и индексации.
  • Обновите внутренние ссылки на сайте, чтобы избежать лишних редиректов.
  • Проверьте карты сайта (sitemap.xml), чтобы они содержали новые URL.

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

Выводы и рекомендации

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

Для удобства и безопасности рекомендую применять плагины, такие как Clearfy Pro или WPRemark, которые существенно упрощают управление редиректами и оптимизацию ссылок.

Как создать Multisite-сеть в WordPress: подробные настройки и примеры
05.02.2026
WooCommerce: почему не отправляется письмо подтверждения заказа и как это исправить
05.05.2026
Как использовать WPVIP для автоматизации управления пользователями в WordPress
17.02.2026
Как использовать WPRemark для управления отзывами на WordPress
10.02.2026
Как сделать группировку постов в WordPress по таксономии с примерами кода
09.01.2026