Если в индекс попадают страницы поиска, корзины, фильтров и бесконечные страницы пагинации, сайт быстро засоряется дублями и мусорными URL. Для WordPress это обычная ситуация: часть таких адресов создаётся самой темой, часть — плагинами, а часть появляется из-за параметров в URL. Закрывать всё подряд нельзя: одни страницы действительно нужно убрать из поиска, а другие лучше оставить, но без передачи веса и без лишних дублей.
Ниже — практический разбор, что именно закрывать, чем отличается noindex от nofollow, когда нужен robots.txt, и как не сломать полезные страницы каталога или блога.
Какие служебные страницы WordPress обычно не должны ранжироваться
Сначала стоит разделить URL по смыслу. Это помогает не делать лишних ограничений и не закрыть то, что ещё может приносить трафик.
- Страница поиска — результаты внутреннего поиска сайта, например
/?s=.... Обычно это тонкие страницы без самостоятельной ценности для поиска. - Корзина и оформление заказа — служебные страницы интернет-магазина. Они не должны попадать в индекс, потому что не предназначены для поиска.
- Страницы пагинации — вторая, третья и последующие страницы архивов, категорий и списков записей. Их не всегда нужно закрывать, но часто имеет смысл ограничить индексацию в зависимости от структуры сайта.
- Фильтры и сортировки — URL с параметрами вроде
?color=red,?sort=price,?filter=.... Именно они чаще всего создают взрыв количества дублей.
Главная ошибка — пытаться решить всё через robots.txt. Этот файл запрещает обход, но не гарантирует удаление URL из индекса, если поисковик уже знает адрес и нашёл на него ссылки. Для большинства служебных страниц нужен именно noindex, а не только запрет в robots.
Что лучше использовать: noindex, robots.txt или canonical
Эти инструменты решают разные задачи, и подменять один другим не стоит.
| Инструмент | Что делает | Когда применять |
|---|---|---|
noindex | Просит поисковик не включать страницу в индекс | Для поиска, корзины, служебных страниц, многих фильтров |
robots.txt | Запрещает обход URL | Для экономии краулингового бюджета, но не как единственный способ убрать URL из индекса |
canonical | Указывает основную версию страницы | Для дублей, сортировок, параметров, когда нужно сохранить страницу доступной, но объединить сигналы |
Если коротко: noindex — для исключения из поиска, canonical — для объединения дублей, robots.txt — для ограничения обхода. На практике часто используют связку: страница доступна, но отдана с noindex, follow, а дубли с параметрами дополнительно нормализуются через canonical.
Как закрыть от индексации поиск WordPress
Страница внутреннего поиска почти всегда должна быть noindex. В WordPress она обычно открывается по URL с параметром s, например /?s=текст. Если поисковик индексирует такие страницы, в выдаче появляются бесполезные адреса с очень слабым содержанием.
Самый надёжный вариант — добавить мета-тег robots со значением noindex, follow на страницы поиска. Тогда поисковик не будет включать их в индекс, но сможет переходить по ссылкам, найденным на странице.
Если у вас есть доступ к коду темы, можно добавить условие в functions.php дочерней темы или в небольшой функциональный плагин. Этот вариант подходит, если SEO-плагин не используется или не даёт нужной настройки.
add_action('wp_head', function () {
if (is_search()) {
echo '<meta name="robots" content="noindex, follow">' . "\n";
}
});Этот код выводит noindex только на страницах поиска. Если тема уже подключает SEO-плагин, проверьте, не дублируется ли мета-тег robots: два разных значения на одной странице создавать не стоит.
После изменения откройте страницу поиска в браузере и посмотрите исходный код. В <head> должен быть один понятный robots-тег с noindex. Затем проверьте URL в Google Search Console или Яндекс Вебмастере: поисковик не удаляет такие страницы мгновенно, но перестаёт считать их целевыми для индексации.
Корзина, оформление заказа и личный кабинет: что закрывать в первую очередь
Если на сайте есть интернет-магазин, корзина, checkout и личный кабинет не должны индексироваться. Эти страницы не несут самостоятельной поисковой ценности и часто содержат динамический или персональный контент.
Здесь лучше не ограничиваться только robots.txt. Для таких URL правильнее использовать noindex, follow и при необходимости дополнительно закрыть их от обхода в robots, если они создают лишнюю нагрузку или постоянно генерируются с параметрами.
В WooCommerce это обычно настраивается через SEO-плагин или фильтры темы. Если плагин умеет ставить noindex на служебные страницы магазина, этого достаточно. Если нет, можно добавить условие по шаблонам WooCommerce, но делать это стоит аккуратно: у разных тем и сборок страницы могут называться по-разному.
Практически важный момент: не закрывайте от индексации страницу товара только потому, что на ней есть кнопка «В корзину». Закрывать нужно именно служебные страницы, а не коммерческие карточки, которые должны ранжироваться.
Пагинация: когда закрывать, а когда оставить
С пагинацией в WordPress нельзя действовать по одному шаблону для всех сайтов. На блогах и в каталогах вторая и последующие страницы архивов иногда полезны для обхода, а иногда только создают шум.
Если у вас небольшой сайт и страницы пагинации не дают самостоятельного трафика, их часто переводят в noindex, follow. Это снижает риск раздувания индекса за счёт почти одинаковых страниц. Но если на сайте большой каталог или новостной архив, поисковики могут использовать пагинацию для обхода контента, и полное закрытие не всегда оправдано.
Здесь лучше смотреть на структуру сайта:
- если на страницах пагинации почти нет уникального контента, их можно закрыть от индексации;
- если через пагинацию доступны важные записи, не блокируйте обход без необходимости;
- если страницы пагинации уже в индексе, сначала проверьте, не создаёт ли тема лишние дубли с параметрами и сортировками.
Для WordPress чаще всего достаточно настроить SEO-плагин так, чтобы архивные страницы с номером страницы получали noindex. Но не стоит закрывать первую страницу архива, если она является основной точкой входа в раздел.
Фильтры и параметры URL: как не получить сотни дублей
Фильтры — самая проблемная часть. Один и тот же каталог может существовать в десятках вариантов: по цвету, размеру, цене, бренду, сортировке и их комбинациям. Для поисковика это часто разные URL с почти одинаковым содержанием.
Здесь есть три рабочих подхода:
- Оставить индексируемыми только важные посадочные страницы фильтров. Например, если фильтр «красные кроссовки» реально ищут пользователи и он даёт уникальный набор товаров, такую страницу можно сделать отдельной посадочной, а не техническим параметром.
- Ставить
noindex, followна технические комбинации. Это подходит для бесконечных сочетаний параметров, которые не нужны в поиске. - Использовать canonical на основную версию. Это полезно, когда фильтр не должен конкурировать с базовой категорией, но страницу нельзя просто закрыть.
Если фильтры генерируются через GET-параметры, не пытайтесь закрыть весь сайт через шаблонный запрет вида Disallow: /*? в robots.txt. Это слишком грубо: поисковик перестанет обходить и полезные страницы с параметрами, а уже известные URL могут остаться в индексе без нормальной переоценки.
Лучше сначала понять, какие параметры реально нужны. Часто достаточно оставить в индексе только чистые категории и несколько важных фильтров, а всё остальное перевести в noindex или нормализовать canonical-адресом.
Как проверить, что закрытие работает
После настройки не стоит полагаться на ощущение «вроде всё отключили». Проверка занимает несколько минут и сразу показывает, нет ли ошибки.
- Откройте нужный URL в браузере и посмотрите исходный код страницы. В
<head>должен быть robots-тег сnoindex, если вы его настраивали. - Проверьте, не блокируется ли страница полностью в
robots.txt, если вы рассчитывали именно наnoindex. Если робот не может обойти URL, он не увидит мета-тег. - Сравните канонический адрес: у фильтров и дублей он должен указывать на основную страницу, если это часть вашей стратегии.
- В Search Console или Яндекс Вебмастере отправьте страницу на повторную проверку и посмотрите, как поисковик её интерпретирует.
Если страница всё ещё появляется в индексе, обычно причина одна из трёх: на ней нет noindex, она заблокирована в robots до того, как поисковик увидел мета-тег, или на неё ведут внутренние ссылки с сайта, и поисковик продолжает считать её важной.
Что не стоит делать
Есть несколько типичных ошибок, из-за которых закрытие служебных страниц не работает или ломает индексацию полезных URL.
- Не закрывайте всё через
robots.txtи не ждите, что это автоматически уберёт URL из поиска. - Не ставьте
noindexна страницы, которые должны ранжироваться, только потому что они похожи на служебные. - Не блокируйте пагинацию и фильтры без анализа: иногда это ухудшает обход каталога, а не улучшает его.
- Не создавайте несколько разных robots-тегов на одной странице через тему и SEO-плагин одновременно.
- Не забывайте про внутренние ссылки: если служебный URL массово присутствует в меню, хлебных крошках или блоках фильтрации, поисковик будет находить его снова и снова.
Если нужен более простой способ управлять дублями и служебными URL в WordPress без ручного редактирования шаблонов, обычно удобнее использовать SEO-плагин с настройками для noindex, canonical и архивов. В экосистеме WPShop для этой задачи подходит Clearfy Pro: он помогает отключать лишние архивы, управлять дублями и настраивать служебные страницы без правки кода темы. Но если у вас уже есть SEO-плагин с нужными настройками, отдельный инструмент может и не понадобиться.
В итоге логика простая: поиск, корзина и checkout почти всегда должны быть noindex; пагинация зависит от структуры сайта; фильтры нужно разбирать по типам и не закрывать всё одним грубым правилом. Чем точнее вы разделите служебные и полезные URL, тем чище будет индекс и тем меньше времени уйдёт на борьбу с дублями.