Как закрыть технические страницы WordPress от индексации через robots.txt и мета-теги

На WordPress часто индексируются не те страницы, которые нужны: результаты поиска по сайту, служебные архивы, страницы вложений, feed-адреса, параметры сортировки и внутренние URL плагинов. Если оставить их как есть, поисковик тратит краулинговый бюджет на мусор, а в индексе появляются слабые или дублирующие страницы.

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

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

Не нужно бездумно ставить noindex на весь сайт. Сначала разделите URL на две группы: полезные для поиска и служебные. В WordPress чаще всего закрывают:

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

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

Диагностика: где именно появляется лишняя индексация

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

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

  • поисковую выдачу по оператору site:ваш-домен;
  • отчёты об индексировании в Google Search Console и Яндекс Вебмастере;
  • логи сервера, если нужно понять, какие URL реально обходятся ботом;
  • исходный код проблемной страницы: есть ли meta robots, canonical и редиректы.

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

Что лучше: robots.txt, noindex или canonical

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

СпособКогда использоватьОграничение
robots.txtЧтобы не тратить обход на служебные URLНе гарантирует удаление уже проиндексированной страницы
noindexЧтобы убрать страницу из индексаСтраница должна быть доступна для обхода, иначе робот не увидит мета-тег
canonicalДля дублей и параметрических URL, когда есть основная версияНе подходит для полностью бесполезных страниц без альтернативы

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

1. Закройте внутренний поиск и служебные параметры через robots.txt

Если у вас есть URL поиска, страницы с параметрами сортировки или фильтров, начните с запрета обхода. В WordPress файл robots.txt можно редактировать на уровне сервера или через SEO-плагин, если он умеет управлять этим файлом.

User-agent: *
Disallow: /?s=
Disallow: /search/
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Disallow: /*?orderby=
Disallow: /*?filter=
Disallow: /*?replytocom=

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

2. Добавьте noindex для страниц, которые должны исчезнуть из индекса

Если страница уже доступна и вы хотите, чтобы поисковик исключил её из выдачи, используйте noindex, follow. Для WordPress это можно сделать кодом, если SEO-плагин не покрывает нужный тип страниц.

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

Такой подход уместен для внутренних поисков, вложений и feed-страниц, если вы не хотите видеть их в поиске. Для архивов автора или дат лучше сначала оценить, есть ли на них полезный контент и входящий трафик.

3. Для дублей используйте canonical, а не запрет обхода

Если у страницы есть основная версия и несколько технических вариантов с параметрами, canonical часто полезнее, чем жёсткий запрет. Например, сортировка, фильтр или UTM не должны создавать отдельную индексируемую страницу.

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

4. Уберите из индекса вложения, если они пустые

Медиафайлы в WordPress часто создают отдельные attachment-страницы, которые почти всегда бесполезны для поиска. Если тема или плагин не перенаправляет их на сам файл или родительскую запись, лучше закрыть такие страницы от индексации.

<?php
add_action('template_redirect', function () {
    if (is_attachment()) {
        $parent = wp_get_post_parent_id(get_queried_object_id());
        if ($parent) {
            wp_safe_redirect(get_permalink($parent), 301);
            exit;
        }

        wp_safe_redirect(home_url('/'), 301);
        exit;
    }
});

Этот вариант практичнее, чем просто оставлять attachment-страницу пустой и надеяться на noindex. Если у вложения нет нормального родителя, редирект на главную — не идеал, но лучше, чем индексируемая пустая страница.

Чек-лист перед публикацией правок

  • Проверьте, не закрываете ли вы важные посадочные страницы.
  • Убедитесь, что robots.txt не блокирует CSS, JS и admin-ajax.php.
  • Для уже проиндексированных URL добавьте noindex, а не только Disallow.
  • Проверьте canonical на страницах с параметрами.
  • Сделайте 301-редирект для пустых attachment-страниц, если они не нужны.
  • Сохраните список URL, которые вы закрывали, чтобы потом сравнить с отчётами в Search Console.

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

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

  1. Откройте проблемный URL в браузере и убедитесь, что он отдаёт нужный код ответа: 200, 301 или 404 в зависимости от сценария.
  2. Посмотрите исходный код страницы и найдите meta name="robots" и canonical.
  3. Проверьте, не блокируется ли URL в robots.txt раньше, чем робот сможет увидеть noindex.
  4. В Google Search Console отправьте страницу на повторную проверку, если она уже была в индексе.
  5. Через несколько дней проверьте, уменьшилось ли число служебных URL в отчётах об индексировании.

Если страница закрыта через robots.txt, но всё ещё видна в поиске, это ожидаемо. В таком случае либо дождитесь переобхода, либо временно снимите блокировку и дайте роботу увидеть noindex.

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

Закрыли страницу в robots.txt и ждёте удаления из индекса

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

Поставили noindex, но одновременно закрыли URL в robots.txt

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

Сломали важные ресурсы сайта

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

Удалили attachment-страницы без редиректа

Если вложение уже получало трафик или ссылки, лучше сделать 301 на родительскую запись. Просто удалить URL — значит потерять накопленные сигналы и получить цепочку ошибок.

Что учесть по безопасности и производительности

Служебные URL не только мешают SEO, но и создают лишнюю нагрузку. Особенно это заметно на сайтах с активным поиском, фильтрами и большим количеством медиафайлов.

  • не оставляйте открытыми бесконечные комбинации параметров;
  • не генерируйте отдельные страницы под каждый технический фильтр, если они не нужны в поиске;
  • проверяйте, не создаёт ли плагин SEO или кэширования конфликт между canonical, noindex и редиректами;
  • не закрывайте в robots.txt то, что нужно для корректной отрисовки страницы;
  • после изменений очистите кэш страницы и CDN, если он используется.

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

Главный критерий здесь простой: служебная страница не должна конкурировать с полезной. Если она нужна только для работы сайта, её надо либо убрать из индекса, либо перенаправить на основную версию, либо вообще не отдавать поисковику как отдельную сущность.

Создание эффективного импорта данных из CSV в WordPress с помощью WPData
30.03.2026
Автоматизация импорта и обновления данных из внешних источников в WordPress
15.12.2025
Как создать собственный тип таблицы в базе данных WordPress для хранения кастомных данных
13.01.2026
WooCommerce: решение проблемы с неотображением атрибутов товара в корзине
06.05.2026
Как создать эффективный автообновляемый отчет с QR-кодом в WordPress
02.04.2026