Как закрыть от индексации старые версии страниц в WordPress

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

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

Когда проблема действительно есть

Сначала стоит убедиться, что речь именно о старых версиях страниц, а не о нормальных служебных URL. Типичный сценарий выглядит так:

  • у страницы был старый слаг, потом его поменяли, но старый адрес остался доступен;
  • материал переехал в другую рубрику, а старая копия открывается по прежнему пути;
  • после импорта контента появились дубли с одинаковым текстом, но разными URL;
  • в поиске всплывают тестовые или временные версии, которые уже не нужны;
  • в отчётах Google Search Console есть страницы со статусом «Проиндексировано, но не отправлено в sitemap» или «Просканировано, но не проиндексировано» для старых адресов.

Что проверить в первую очередь

Откройте старый URL вручную и посмотрите, что он отдаёт. Важны три вещи: код ответа, наличие канонического адреса и доступность страницы для робота. Если старый адрес отдаёт 200 OK и показывает тот же контент, что и новый, это уже дубль. Если он отдаёт 301 на актуальную страницу, проблема обычно решена без дополнительных закрытий. Если же страница должна исчезнуть совсем, а она продолжает открываться, нужно выбрать правильный способ удаления из индекса.

Какие варианты есть и чем они отличаются

Для WordPress обычно используют три подхода: редирект, noindex и удаление страницы с возвратом 410 Gone или 404 Not Found. У каждого варианта свой сценарий.

СпособКогда подходитПлюсМинус
301 редиректСтарый URL заменён новымПередаёт пользователя и сигналы на актуальную страницуНе подходит, если страницы больше не должно быть вообще
noindexСтраница должна открываться, но не попадать в индексГибко, можно оставить доступ для людейРобот должен ещё раз зайти на страницу, чтобы увидеть мета-тег
410 GoneСтраница удалена окончательноБыстрее подсказывает поисковику, что URL устарелНужно быть уверенным, что адрес действительно больше не нужен

Если старый URL имеет замену — ставьте редирект. Если замены нет, но страницу нужно оставить для внутреннего доступа, используйте noindex. Если адрес окончательно удалён и не должен возвращаться, лучше отдать 410.

Пошаговое решение для WordPress

1. Найдите старые URL

Соберите список адресов из Search Console, логов сервера, карты сайта и внутренних ссылок. Для небольшого сайта достаточно выгрузки из отчёта по страницам и ручной проверки. Для более сложной структуры полезно пройтись краулером, например Screaming Frog, и посмотреть, какие URL возвращают 200, хотя по логике должны быть закрыты.

2. Если есть новый адрес — ставьте 301

Это самый чистый вариант. В WordPress редирект можно сделать на уровне сервера или плагином. Если у вас уже есть понятная карта соответствий старых и новых URL, лучше не полагаться на ручные правки в контенте.

<?php
// Пример для functions.php или mu-plugin.
add_action('template_redirect', function () {
    if (is_page('old-page-slug')) {
        wp_redirect(home_url('/new-page-slug/'), 301);
        exit;
    }
});

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

3. Если страницу нужно оставить, добавьте noindex

Иногда старый адрес нужен для пользователей, но в выдаче он не должен участвовать. Тогда у страницы должен быть мета-тег noindex. В WordPress это можно сделать через SEO-плагин или кодом, если нужен точечный контроль.

<?php
add_filter('wp_robots', function ($robots) {
    if (is_page('old-page-slug')) {
        $robots['noindex'] = true;
        $robots['nofollow'] = true;
    }
    return $robots;
});

Важно: noindex не заменяет редирект. Если у страницы есть новая версия, поисковику лучше показать именно её через 301, а не оставлять две живые копии.

4. Если URL удалён окончательно — отдайте 410

Когда страница больше не нужна и не имеет замены, можно вернуть 410 Gone. Это честнее, чем оставлять пустую страницу или бесконечно редиректить на главную. Для поисковика это явный сигнал, что адрес удалён навсегда.

<?php
add_action('template_redirect', function () {
    if (is_page('deleted-page-slug')) {
        status_header(410);
        nocache_headers();
        echo 'Страница удалена';
        exit;
    }
});

Такой код нужно применять аккуратно и только к тем URL, которые действительно не должны существовать. Если есть сомнения, сначала используйте 301 или noindex.

Как не закрыть лишнее

Самая частая ошибка — закрыть по шаблону слишком широкий набор страниц. Например, по условию is_page() можно случайно зацепить нужные материалы, если слаг совпадает частично или логика написана слишком общо. Вторая ошибка — ставить noindex на URL, который уже отдаёт редирект. Поисковик в таком случае часто видит только редирект, а мета-тег на старой странице не успевает сыграть роль.

Перед внедрением проверьте:

  • есть ли у старого URL новый адрес;
  • нужен ли он людям вообще;
  • не используется ли он в меню, внутренних ссылках или в письмах;
  • не попадает ли он в XML sitemap;
  • не дублируется ли контент на другом URL с тем же текстом.

Проверка результата после внедрения

После настройки не ограничивайтесь визуальной проверкой в браузере. Нужна техническая валидация.

  1. Откройте старый URL через curl -I и проверьте код ответа.
  2. Если стоит редирект, убедитесь, что он ведёт на правильную страницу без цепочки из нескольких переходов.
  3. Если стоит noindex, проверьте исходный код страницы и наличие мета-тега robots.
  4. Если используется 410, убедитесь, что сервер не подменяет ответ на шаблонную 404-страницу с кодом 200.
  5. В Search Console отправьте URL на повторную проверку и посмотрите, как робот видит страницу после обхода.
curl -I https://example.com/old-page-slug/

Для noindex полезно посмотреть именно HTML-ответ, а не только заголовки. Иногда SEO-плагин добавляет мета-тег только в стандартный шаблон, а кастомный шаблон страницы его не выводит.

Частые ошибки и как их исправить

Старый URL продолжает отдавать 200

Это значит, что страница физически доступна и поисковик может её индексировать. Решение: либо поставить 301 на новый адрес, либо закрыть через noindex, либо удалить с 410.

Редирект ведёт на главную

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

В sitemap остались старые URL

Если страница закрыта, но продолжает попадать в карту сайта, поисковик будет тратить на неё обходной бюджет. Проверьте настройки SEO-плагина и исключите удалённые адреса из генерации sitemap.

noindex не срабатывает сразу

Это нормально: робот должен повторно зайти на страницу и увидеть мета-тег. Если URL уже давно в индексе, ускорить процесс можно только после повторного обхода и обновления сигнала в Search Console.

Практика по безопасности и производительности

Если вы закрываете много старых URL, не делайте это через тяжёлые проверки на каждом запросе. Для точечных правил подойдут простые условия, но массовые редиректы лучше хранить вне PHP-логики темы. Иначе вы получите лишнюю нагрузку и сложную отладку после обновления шаблона.

Ещё один полезный момент: не смешивайте задачу индексации и задачу доступа. Если страницу нужно скрыть от поисковика, но оставить для авторизованных пользователей, не ломайте права доступа через шаблон. Лучше разделить логику: доступ — на уровне ролей и шаблона, индексация — через robots, редирект или статус ответа.

Если нужен более широкий контроль над дублями, служебными страницами и технической чисткой WordPress, удобно смотреть в сторону инструментов, которые умеют управлять мета-тегами, архивами и системными URL без ручного кода. Например, Clearfy Pro: https://wpshop.ru/plugins/clearfy?utm_source=wpdo.ru&utm_medium=article&utm_campaign=zakryt-noindex-ot-staryh-versij-stranic-v-wordpress.

Если коротко, рабочая схема такая: старый URL с заменой — 301, старый URL без замены, но для людей — noindex, удалённый навсегда адрес — 410. Остальное уже вопрос аккуратной настройки и проверки, а не магии SEO.

Как отключить XML-RPC в WordPress без поломки мобильных приложений и внешних сервисов
31.08.2026
Как закрыть от индексации страницы поисковых запросов в WordPress
03.09.2026
Как отключить XML sitemap в WordPress для отдельных типов записей
08.09.2026
Как отключить дубли архивов tag, author и date в WordPress без поломки индексации
28.08.2026
Как закрыть от индексации старые версии страниц в WordPress
11.09.2026
×

AI-плагин

WPGPT
Сам создает статьи для вашего сайта WordPress

SEO и мета-теги

Парсинг конкурентов

Изображения

Комментарии

Подробнее