wpbook.ru wordpress WP Book

Как закрыть от индексации технические страницы WordPress без поломки сайта

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

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

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

Типичные кандидаты на noindex

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

Диагностика: что именно уже индексируется

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

Проверьте три вещи:

  1. есть ли URL в индексе через оператор site: и отчёты Search Console;
  2. какой мета-тег robots отдает страница;
  3. не блокируется ли страница раньше, чем поисковик увидит noindex.

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

Пошаговое решение: как закрыть технические страницы правильно

1. Добавьте noindex там, где это поддерживается плагином или темой

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

Пример для страниц поиска: добавить noindex,follow через wp_robots.

<?php
add_filter('wp_robots', function ($robots) {
    if (is_search()) {
        $robots['noindex'] = true;
        $robots['follow']  = true;
    }

    return $robots;
});

Такой вариант работает на современных версиях WordPress, где формируется массив robots-директив. Он не ломает шаблон и не требует вставлять мета-тег вручную в header.php.

2. Закройте страницы вложений и слабые архивы

Attachment pages часто создают пустые страницы, которые поисковик индексирует как отдельные документы. Если они вам не нужны, лучше либо редиректить их на файл/родительскую запись, либо закрыть от индексации. Для редиректа можно использовать шаблонный фильтр, если тема не делает этого сама.

<?php
add_action('template_redirect', function () {
    if (is_attachment()) {
        $parent = wp_get_post_parent_id(get_the_ID());

        if ($parent) {
            wp_safe_redirect(get_permalink($parent), 301);
            exit;
        }

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

Если редирект не подходит, оставьте страницу доступной, но добавьте noindex. Для поисковика это понятнее, чем блокировка в robots.txt.

3. Не блокируйте noindex-страницы в robots.txt раньше времени

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

Пример осторожного подхода:

  • сначала включить noindex на нужных шаблонах;
  • проверить, что в HTML действительно появился meta robots;
  • после переобхода при необходимости ограничить сканирование;
  • не закрывать CSS, JS и важные ресурсы, если они нужны для рендеринга.

4. Уберите дубли в таксономиях и архиве автора

Если на сайте много тегов, а рубрики дублируют друг друга, проще закрыть лишние архивы от индексации, чем пытаться «докормить» их контентом. Но не делайте это вслепую: если архив реально собирает трафик, его лучше доработать, а не прятать. Для небольших сайтов с однотипными тегами noindex часто оправдан.

Если нужен более удобный контроль над дублями и техническими настройками, можно посмотреть в сторону Clearfy Pro: https://wpshop.ru/plugins/clearfy?utm_source=wpbook.ru&utm_medium=article&utm_campaign=zakryt-ot-indeksacii-tekhnicheskie-stranicy-wordpress

Сравнение подходов: плагин, код или robots.txt

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

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

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

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

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

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

Закрыли страницу в robots.txt, но забыли про noindex

В результате URL остаётся в индексе, а робот не может увидеть директиву удаления. Исправление: временно откройте сканирование, дайте поисковику увидеть noindex, затем снова ограничьте доступ, если это действительно нужно.

Поставили noindex на весь архив, хотя он приносит трафик

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

Сделали редирект на главную для всех вложений

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

Использовали одинаковые правила для всех шаблонов

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

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

Если вы добавляете код вручную, не правьте functions.php активной темы без бэкапа. Лучше вынести логику в небольшой mu-plugin или в отдельный мини-плагин. Так настройка не исчезнет после обновления темы.

Для сайтов с большим количеством служебных страниц полезно:

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

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

В итоге рабочая схема выглядит так: определить тип страниц, закрыть их через noindex или редирект, не путать это с robots.txt, проверить HTML и статус в Search Console, затем уже чистить остатки. Такой порядок даёт предсказуемый результат и не ломает нормальные разделы сайта.

×
Сделай WordPress мощнее!

Скидка -20% на топовые премиум плагины

Выбрать плагин сейчас ⋙