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

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

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

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

Кроме того, иногда нам требуется полностью «вычистить» страницу из публичного доступа, но оставить ее в админке для дальнейшего использования. Здесь пригодятся нестандартные методы работы с пермалинками.

Как изменить URL страницы вручную через базу данных

Если стандартное изменение URL в админке WordPress (редактирование поля «Ярлык») не подходит, можно сделать это напрямую в базе данных.

Таблица wp_posts содержит поле post_name, которое отвечает за часть URL (slug) записи или страницы. Чтобы изменить URL, достаточно обновить это поле:

UPDATE wp_posts SET post_name = 'novyj-url' WHERE ID = 123;

Где 123 — ID вашей страницы или записи.

После этого очистите кэш сайта и перезапустите пермалинки в админке: Настройки > Постоянные ссылки > Сохранить изменения, чтобы WordPress обновил правила .htaccess.

Удаление URL страницы без редиректа через функции WordPress

Чтобы сделать страницу недоступной по URL без создания редиректа, можно использовать фильтр template_redirect и выбросить 404 ошибку для нужной страницы.

Добавьте в файл functions.php вашей темы или в отдельный плагин следующий код:

function wpdir_disable_page_url() {
    if (is_page('slug-stranicy-ili-id')) {
        global $wp_query;
        $wp_query->set_404();
        status_header(404);
        nocache_headers();
        include(get_query_template('404'));
        exit;
    }
}
add_action('template_redirect', 'wpdir_disable_page_url');

Замените slug-stranicy-ili-id на реальный slug или ID страницы, которую хотите скрыть.

Таким образом, по этому URL будет показываться стандартная страница 404, без перенаправления. Это полезно, если вы хотите убрать страницу из поиска, но сохранить её в админке.

Изменение URL страницы с помощью перезаписи правил (Rewrite Rules)

Если задача — изменить URL страницы на произвольный путь без изменения slug в базе, можно использовать перезапись правил WordPress.

Пример кода для изменения URL страницы с ID 123 на новый путь /novyj-put/:

function wpdir_custom_rewrite_rule() {
    add_rewrite_rule('^novyj-put/?$', 'index.php?page_id=123', 'top');
}
add_action('init', 'wpdir_custom_rewrite_rule');

После добавления кода нужно обновить правила пермалинков: зайдите в админку, в раздел Настройки > Постоянные ссылки и нажмите "Сохранить изменения" без изменения настроек.

Теперь по адресу site.ru/novyj-put/ будет открываться страница с ID 123. Старый URL останется доступен, если хочется — его можно отключить с помощью фильтра из предыдущего раздела.

Полное удаление старого URL

Для отключения старого URL можно использовать фильтр template_redirect и 404 ошибку, как показано выше.

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

Хотя задача стоит убрать редиректы, иногда удобнее использовать плагины, которые дают расширенный контроль над URL:

  • Clearfy Pro — плагин для оптимизации WordPress, в том числе позволяет гибко управлять урлами, отключать индексацию страниц и многое другое. Подробнее с utm метками: Clearfy Pro на WPSHOP.
  • WPRemark — плагин, который может помочь с фильтрацией URL и контролем доступа, полезен для создания закрытых страниц.

Советы по SEO при удалении или изменении URL страниц

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

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

Пример отправки 410 статуса в WordPress для страницы с ID 123:

function wpdir_send_410_status() {
    if (is_page(123)) {
        global $wp_query;
        $wp_query->set_404();
        status_header(410);
        nocache_headers();
        include(get_query_template('410'));
        exit;
    }
}
add_action('template_redirect', 'wpdir_send_410_status');

Создайте файл 410.php в вашей теме для кастомного отображения статуса 410.

Заключение по работе с URL страниц в WordPress

Изменение или удаление URL без редиректов требует аккуратности и понимания внутренней структуры WordPress. Мы рассмотрели несколько способов: прямое изменение в базе, использование фильтров для выдачи 404 или 410 ошибок, а также создание собственных правил перезаписи.

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

Как динамически изменить автозаголовки записей в WordPress
09.04.2026
Как создать автоматический импорт постов в WordPress из внешнего источника
03.03.2026
WooCommerce: Автоматическое удаление неактивных заказов по дате
19.05.2026
Как создать автоматический импорт постов в WordPress из внешнего источника
15.02.2026
Оптимизация базы данных WordPress: практические советы и примеры
17.11.2025