wpstuff.ru wordpress wpstuff.ru

Как исключить страницы из поиска в WordPress без noindex: код, настройки и проверка

Ситуация типовая: в поиске всплывают страницы внутреннего поиска, архивы с пустым контентом, служебные разделы, результаты фильтров или URL, которые не должны конкурировать с основными страницами. Самая частая ошибка — пытаться лечить это только через noindex или только через robots.txt. В WordPress этого обычно недостаточно: часть URL нужно закрывать от индексации, часть — вообще не отдавать в sitemap, а часть — убирать на уровне шаблона или хука.

Что именно нужно исключать из поиска, а что — только из индекса

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

СценарийЧто делатьКомментарий
Внутренний поискnoindex,follow + исключить из sitemapПользователь может открыть страницу, но поисковику она не нужна
Архивы без контентаОтключить архив или поставить noindexЗависит от структуры сайта и SEO-стратегии
Технические URLЗакрыть от индекса и убрать ссылкиЕсли страница не нужна пользователю, не оставляйте на неё внутренние ссылки
Фильтры и параметрыНормализовать URL, при необходимости canonicalИначе получите дубли и распыление веса

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

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

Проверка в поиске и по сайту

  • Введите в поиск site:example.com и посмотрите, какие служебные URL уже индексируются.
  • Откройте проблемную страницу и проверьте исходный код: есть ли <meta name="robots" content="noindex,follow">.
  • Посмотрите, есть ли ссылка на страницу в меню, футере, хлебных крошках или блоках похожих материалов.
  • Проверьте sitemap.xml: если URL там есть, поисковик будет получать на него дополнительный сигнал.

Что обычно ломает индексацию

Чаще всего проблема не в одном месте, а в комбинации факторов: страница доступна по нескольким адресам, в sitemap попадает лишний URL, а шаблон не ставит корректный robots-мета тег. В итоге поисковик видит страницу как полноценную и может оставить её в индексе даже при слабом контенте.

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

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

1. Добавить noindex для выбранных типов страниц

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

Этот вариант подходит, если вы хотите оставить страницы доступными для пользователей, но убрать их из индекса. Для некоторых сайтов is_tag() и is_author() лучше не включать автоматически: если архивы реально полезны и содержат уникальный контент, их можно оставить индексируемыми.

2. Убрать лишние URL из sitemap

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

add_filter('wp_sitemaps_post_types', function ($post_types) {
    // Пример: убрать страницы поиска из sitemap не получится напрямую, потому что это не post type.
    // Но можно отключить ненужные типы записей, если они не должны индексироваться.
    unset($post_types['attachment']);
    return $post_types;
});

Для страниц поиска и архивов чаще нужен не фильтр sitemap, а настройка SEO-плагина или отдельная логика в шаблоне. Если sitemap генерирует плагин, ищите в его настройках исключение таксономий, архивов и медиа-страниц.

3. Закрыть внутренний поиск от индекса и убрать его из выдачи сайта

Если на сайте есть страницы вида ?s=..., поисковики могут индексировать их как отдельные URL. Чтобы снизить риск, добавьте noindex и не создавайте на них лишних внутренних ссылок. Если у вас в теме есть блоки с результатами поиска, проверьте, не формируют ли они отдельные URL с параметрами.

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

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

Если проблема в дублях: canonical, а не только noindex

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

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

Когда canonical лучше, чем noindex

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

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

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

  1. Откройте проблемный URL в браузере и посмотрите исходный код страницы.
  2. Убедитесь, что на странице есть корректный noindex или canonical, если он нужен.
  3. Проверьте, исчез ли URL из sitemap.
  4. В Google Search Console отправьте страницу на повторную проверку, если она уже была в индексе.
  5. Сравните результат через site: и через отчёты по индексированию в панели вебмастера.

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

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

Ошибка 1. Закрыли URL в robots.txt, но оставили его в индексе

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

Ошибка 2. Поставили noindex, но оставили ссылку в меню

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

Ошибка 3. Скрыли архивы, но забыли про sitemap

Даже если на странице стоит noindex, её наличие в sitemap создаёт лишний сигнал. Это не катастрофа, но для чистой технической структуры лучше убрать такие URL из карты сайта.

Ошибка 4. Используют одинаковую логику для всех архивов

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

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

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

  • перед изменениями сохраните бэкап файлов и базы;
  • проверяйте правки на staging-сайте, если он есть;
  • не добавляйте тяжёлые проверки в wp_head без необходимости;
  • если используете SEO-плагин, не дублируйте его логику вручную;
  • после внедрения очистите кэш страницы и объектный кэш, если он включён.

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

Когда лучше не закрывать страницу полностью

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

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

×

AI-плагин

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

SEO и мета-теги

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

Изображения

Комментарии

Подробнее