wpedu.ru wordpress WP Education

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

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

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

Что именно нужно закрывать и почему

Не каждый «лишний» URL надо удалять. Часть страниц должна остаться доступной для пользователей, но не должна попадать в поиск. Для WordPress это чаще всего:

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

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

Диагностика: какие URL уже попали в индекс

Самый простой способ — посмотреть отчёты в Google Search Console. В разделе индексации обычно видно, какие страницы обнаружены, но не проиндексированы, какие исключены, а какие уже участвуют в поиске. Для WordPress полезно отдельно проверить:

  • поиск по сайту: запрос site:example.com inurl:?s=;
  • архивы авторов: site:example.com/author/;
  • пагинацию: site:example.com/page/;
  • служебные URL с параметрами: site:example.com inurl:?.

Если у вас уже есть SEO-плагин, проверьте, не выставляет ли он noindex автоматически. Иногда проблема не в отсутствии настройки, а в конфликте между темой и плагином: тема выводит canonical на один URL, а плагин — на другой.

Что смотреть в коде страницы

Откройте проблемный URL и проверьте исходный код. Ищите:

  • <meta name="robots" content="noindex,follow"> или похожий вариант;
  • <link rel="canonical" ...>;
  • нет ли у страницы случайного index,follow при явном мусорном URL;
  • не закрыт ли нужный раздел по ошибке.

Если у вас включён кэш, после правки не забудьте очистить его, иначе будете смотреть старую версию страницы.

Пошаговое решение: закрываем поиск, авторов и мусорные архивы

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

ПодходКогда подходитМинус
SEO-плагинНужно быстро и без кодаМеньше гибкости, зависит от интерфейса плагина
Код в теме или mu-pluginНужна точная логика и контрольТребует аккуратности и тестирования
КомбинацияЧасть правил в плагине, часть в кодеРиск конфликтов, если не зафиксировать источник правил

Вариант 1: закрыть поиск и архивы через код

Если вам нужно быстро и прозрачно выставить noindex для поиска и архивов авторов, можно добавить фильтр в functions.php дочерней темы или, что лучше, в небольшой mu-plugin.

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

    if ( is_author() ) {
        $robots['noindex'] = true;
        $robots['follow']   = true;
    }

    return $robots;
} );

Здесь логика простая: страницы поиска закрываем полностью, архивы авторов — без индексации, но с переходом по ссылкам. Это важно, если архив автора нужен пользователю, но не должен ранжироваться отдельно.

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

Вариант 2: убрать индексацию через SEO-плагин

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

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

Как убрать дубли и мусорные страницы без потери нужных разделов

Иногда проблема не в поиске и не в авторах, а в том, что WordPress создаёт несколько адресов для одного и того же контента. Типичный пример — страницы с параметрами сортировки, фильтрами или UTM, которые поисковик воспринимает как отдельные URL.

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

Пример: canonical для страницы с параметрами

<?php
add_filter( 'wpseo_canonical', function( $canonical ) {
    if ( is_search() ) {
        return home_url( '/' );
    }

    return $canonical;
} );

Этот пример относится к Yoast SEO. Если у вас другой SEO-плагин, используйте его фильтры или настройку canonical в интерфейсе. Смысл в том, чтобы не плодить отдельные адреса для одного и того же набора материалов.

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

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

  • Откройте проблемный URL в браузере и проверьте meta robots.
  • Очистите кэш сайта, серверный кэш и CDN, если он есть.
  • В Google Search Console отправьте URL на повторную проверку.
  • Проверьте, не изменился ли canonical на нужный адрес.
  • Убедитесь, что внутренние ссылки больше не ведут на мусорные страницы.

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

Быстрая техническая проверка через консоль

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

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

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

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

1. Закрыли страницу в robots.txt вместо meta robots

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

2. Поставили noindex на весь архив автора, хотя он полезен

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

3. Не очистили кэш

После изменения robots или canonical старый HTML может продолжать отдаваться из кэша. Проверяйте не только страницу в админке, но и фактический ответ сервера.

4. Дублируют логику в плагине и в теме

Если один слой ставит noindex, а другой — canonical на другой URL, поведение становится непредсказуемым. Выберите один источник правды: либо SEO-плагин, либо код.

5. Закрыли URL, но оставили на него внутренние ссылки

Поисковик всё равно будет тратить обход на такие адреса. Проверьте меню, хлебные крошки, блоки похожих материалов и виджеты.

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

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

  • Не правьте functions.php напрямую на рабочем сайте без бэкапа.
  • Если логика нужна надолго, вынесите её в mu-plugin.
  • Проверяйте изменения на staging-копии, особенно если тема переопределяет шаблоны архивов.
  • Следите, чтобы закрытые страницы не попадали в XML-карту сайта.

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

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

  • Проверил, какие URL реально мусорные, а какие нужны пользователям.
  • Выбрал один способ управления: плагин или код.
  • Добавил noindex только туда, где это оправдано.
  • Проверил canonical на проблемных страницах.
  • Очистил кэш и CDN.
  • Отправил URL на повторную проверку в Search Console.
  • Убедился, что закрытые URL не остались в sitemap и внутренних ссылках.

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

×
Прокачай свой сайт WordPress!

WordPress

-20% на премиум темы и плагины

Создай сайт своей мечты ⋙