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

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

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

Не все “неполезные” страницы одинаковы. Одни лучше отдавать с noindex, другие — закрывать через robots.txt, а третьи вообще не должны генерироваться. Если смешать эти подходы, легко получить ситуацию, когда страница исчезла из поиска, но продолжает плодить дубли внутри сайта.

Типичные технические URL в WordPress

  • страницы вложений, если они открываются как отдельные записи;
  • архивы автора и даты на небольших сайтах без редакционного смысла;
  • внутренний поиск вида ?s=;
  • страницы пагинации архивов, если они уже разобраны отдельно;
  • служебные страницы с параметрами фильтрации и сортировки;
  • черновые шаблоны и тестовые страницы, случайно опубликованные в публичный доступ.

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

Диагностика: как понять, что проблема именно в индексации

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

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

  1. Откройте проблемный URL в браузере и посмотрите, есть ли на странице реальный контент или только служебная оболочка.
  2. Проверьте исходный код на наличие meta name="robots" и заголовка X-Robots-Tag.
  3. Посмотрите, не отдаёт ли страница статус 200 OK там, где логичнее был бы 404 или 301.
  4. Сравните URL с параметрами и без них: иногда индексируется только вариант с query string.
  5. Проверьте, не попадает ли страница в XML-карту сайта.

Если есть доступ к Search Console, откройте отчёт по страницам и посмотрите, как поисковик классифицирует URL: “Просканировано, но не проиндексировано”, “Исключено тегом noindex”, “Дублированная страница” и т. п. Это помогает не лечить не ту причину.

Что выбрать: плагин, код или настройку сервера

Для WordPress обычно есть три рабочих пути. Выбор зависит от того, сколько у вас таких URL и насколько стабильно они появляются.

ПодходКогда подходитМинус
Плагин SEO/оптимизацииНужно быстро закрыть типовые архивы и служебные страницыЛегко задублировать правила и получить конфликт настроек
Код в теме или мини-плагинеНужна точечная логика для конкретных URL и параметровТребует аккуратного тестирования после обновлений
Настройка сервера / robots.txtНужно ограничить обход большого числа однотипных URLНе всегда убирает URL из индекса, если они уже известны поисковику

Если задача касается именно индексации, а не обхода, чаще нужен noindex, а не запрет в robots.txt. Запрет в robots может оставить URL в индексе без контента, если на него уже есть ссылки.

Пошаговое решение через код

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

<?php
add_action( 'wp_head', function () {
    if ( is_attachment() || is_search() ) {
        echo '<meta name="robots" content="noindex,follow" />' . "\n";
    }
}, 1 );

add_filter( 'wp_robots', function ( array $robots ) {
    if ( is_attachment() || is_search() ) {
        $robots['noindex'] = true;
        $robots['follow']   = true;
    }

    return $robots;
} );

Этот вариант хорош тем, что использует штатный фильтр WordPress wp_robots. Он не ломает разметку и обычно совместим с современными темами и плагинами, которые тоже работают через robots-мета.

Если нужно закрыть URL с параметром

Иногда проблема не в типе страницы, а в параметре, например ?sort=price или ?view=grid. В таком случае можно добавить условие по $_GET, но делать это стоит только для строго известных параметров.

<?php
add_filter( 'wp_robots', function ( array $robots ) {
    $allowed_params = array( 'sort', 'view' );

    foreach ( $allowed_params as $param ) {
        if ( isset( $_GET[ $param ] ) ) {
            $robots['noindex'] = true;
            $robots['follow']   = true;
            break;
        }
    }

    return $robots;
} );

Здесь важно не пытаться закрывать всё подряд по наличию любого параметра. UTM-метки, например, обычно не должны превращать страницу в noindex, иначе вы сами себе сломаете аналитику и индексацию нормальных URL.

Пошаговое решение через SEO-плагин

Если у вас уже стоит SEO-плагин, сначала проверьте его настройки. Часто нужная опция уже есть: для архивов автора, дат, вложений, пагинации и XML-карты сайта. В этом случае лучше использовать штатный интерфейс, чем добавлять ещё один слой кода.

Практический порядок такой:

  1. Отключите индексацию в настройках конкретного типа архивов, если плагин это умеет.
  2. Проверьте, не остаётся ли URL в XML-карте сайта.
  3. Убедитесь, что на странице появился noindex, а не только запрет в robots.
  4. Сравните поведение на обычной и мобильной версии, если шаблон отдаёт разную разметку.

Если вы используете набор инструментов вроде Clearfy Pro, удобно сначала посмотреть, нет ли там уже готовой опции для удаления дублей и чистки служебных страниц. Это не отменяет проверки результата, но экономит время на ручных фильтрах. Ссылка на продукт: Clearfy Pro.

Как проверить, что решение сработало

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

  • Откройте URL в браузере и посмотрите исходный код: должен быть noindex или соответствующий заголовок.
  • Проверьте ответ сервера через curl -I https://example.com/url/ и убедитесь, что статус не меняется неожиданно.
  • Если URL уже был в индексе, отправьте его на повторную проверку в Search Console.
  • Сравните XML-карту сайта до и после: технические URL не должны там оставаться.

Для быстрой проверки заголовков удобно использовать команду:

curl -I https://example.com/?s=test

Если в ответе нет X-Robots-Tag, это не всегда ошибка — многие сайты используют только meta robots. Но если вы рассчитывали на серверный заголовок, а его нет, значит правило не сработало или было перехвачено другим плагином.

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

Закрыли в robots.txt, но URL всё равно в индексе

Это нормальная ситуация для старых URL. Robots.txt ограничивает обход, но не гарантирует удаление из индекса. Если страница уже известна поисковику, добавьте noindex и дождитесь переобхода.

Поставили noindex на нужную страницу, а она пропала из карты сайта

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

Закрыли слишком много URL по шаблону

Опасная ошибка — закрывать всё, где есть параметр. В результате можно случайно закрыть страницы фильтрации, которые приносят трафик, или полезные посадочные страницы с UTM-метками и каноникалами.

Оставили дубли в теме и в плагине одновременно

Если тема выводит robots-мета вручную, а SEO-плагин делает то же самое, в HTML может появиться две инструкции. Поисковик обычно ориентируется на итоговую логику, но такой код трудно сопровождать. Оставьте один источник правды.

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

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

  • Не закрывайте важные страницы только через robots.txt, если они уже в индексе.
  • Не добавляйте универсальные правила на основе всех GET-параметров.
  • Проверяйте, не создаёт ли плагин новые служебные URL после обновления.
  • Если используете кэш-плагин, очищайте кэш после изменения robots-логики.
  • Для точечных правок держите код в мини-плагине, а не в основной теме, чтобы не потерять его при обновлении.

Если вам нужно регулярно чистить сайт от дублей, служебных страниц и лишних элементов разметки, удобнее собрать это в одном инструменте, а не держать набор разрозненных сниппетов. Но даже в этом случае проверка через исходный код и Search Console остаётся обязательной.

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

Добавь в закладки и поделись с друзьями:

⭐⭐⭐⭐⭐
Как убрать дубли страниц из-за параметров фильтра в WordPress
10.09.2026
Как закрыть от индексации технические страницы в WordPress
25.09.2026
Как удалить неиспользуемые типы записей в WordPress с помощью кода
03.10.2026
Как закрыть дубли страниц пагинации от индексации в WordPress
13.09.2026
Как закрыть от индексации страницы поисковых результатов в WordPress
16.09.2026
×

AI-плагин

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

SEO и мета-теги

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

Изображения

Комментарии

Подробнее