На WordPress часто индексируются не те страницы, которые вы реально хотите видеть в поиске: результаты внутреннего поиска, URL с параметрами сортировки и фильтрации, служебные страницы с ?s=, ?replytocom, ?utm_ и похожими хвостами. На небольшом сайте это выглядит как мелочь, но в индексе быстро появляются дубли, а в отчетах Search Console — лишние URL, которые съедают краулинговый бюджет и мешают анализу.
Ниже разберем, что именно можно закрыть через robots.txt, что лучше делать через noindex, а где правильнее вообще не трогать robots, а исправить генерацию ссылок в теме или плагине.
Когда проблема действительно в индексации параметров
Сначала стоит убедиться, что речь не о нормальной странице, а о мусорном URL. Типичный сценарий: в поиске появляются адреса вида /page/2/?s=..., /?orderby=price, /?filter_color=red или /?replytocom=123. Такие страницы обычно не несут самостоятельной ценности и создают дубли контента.
Что проверить в первую очередь
- Откройте отчет Страницы в Google Search Console и посмотрите, какие URL попали в индекс.
- Проверьте, есть ли у этих адресов канонический URL и не ведут ли они на одну и ту же страницу с разными параметрами.
- Посмотрите исходный код: есть ли
<meta name="robots" content="noindex,follow">или корректныйrel="canonical". - Проверьте, не генерирует ли тема или плагин внутренние ссылки с параметрами.
Если URL уже в индексе, одного robots.txt обычно недостаточно. Поисковик может перестать обходить страницу, но не обязан быстро убрать ее из индекса. Для удаления дублей важнее noindex и каноникал, а robots нужен как дополнительный барьер для обхода.
Что закрывать через robots.txt, а что — нет
robots.txt подходит для запрета обхода, но не для гарантированного удаления из индекса. Поэтому его используют для технических разделов и повторяющихся URL, а не как единственный способ “спрятать” страницу.
| Подход | Когда применять | Плюс | Минус |
|---|---|---|---|
robots.txt | Служебные URL, параметры, которые не должны обходиться | Просто и быстро | Не гарантирует удаление из индекса |
noindex | Страницы, которые можно открыть, но не нужно индексировать | Работает именно на индексацию | Страница должна быть доступна для обхода |
| Канонический URL | Дубли с разными параметрами | Склеивает сигналы | Не всегда срабатывает, если страницы сильно отличаются |
Если нужно убрать из обхода внутренний поиск, архивы с параметрами и некоторые служебные URL, можно добавить правила в robots.txt. Но не закрывайте там важные страницы, которые должны быть переобходиться для обновления контента.
Пошагово: как настроить robots.txt для WordPress
В WordPress файл robots.txt может быть виртуальным. Его часто правят через SEO-плагин или на уровне сервера. Если у вас уже есть физический файл в корне сайта, убедитесь, что он не конфликтует с настройками плагина.
Базовый пример для внутреннего поиска и типовых параметров
User-agent: *
Disallow: /?s=
Disallow: /search/
Disallow: /*?replytocom=
Disallow: /*?orderby=
Disallow: /*?filter_
Disallow: /*?utm_
Sitemap: https://example.com/sitemap_index.xmlЭтот вариант не универсален, но показывает логику: закрываем только то, что является техническим шумом. Если на сайте есть фильтры с другими именами параметров, добавьте их отдельно. Например, для кастомных фильтров может быть ?brand= или ?color=.
Если нужен запрет только для отдельных разделов
Иногда лучше закрыть не весь параметр, а конкретный путь. Например, если поиск живет в отдельной директории или у вас есть служебный раздел с сортировками. Тогда правило будет точнее:
User-agent: *
Disallow: /search/
Disallow: /catalog/?orderby=
Disallow: /products/?filter_
Но здесь важно понимать ограничение: robots.txt не умеет полноценно “понимать” логику параметров. Если URL генерируются в разных местах, надежнее исправить источник ссылок и добавить noindex на шаблон страницы.
Когда нужен noindex вместо robots.txt
Если страница должна открываться пользователю, но не должна попадать в индекс, используйте noindex. Это типично для страниц поиска, пагинации в некоторых сценариях, сортировок и фильтров, которые не несут самостоятельной SEO-ценности.
Пример для шаблона поиска в теме
Если вы редактируете тему, можно добавить мета-тег на странице поиска через wp_head:
add_action('wp_head', function () {
if (is_search()) {
echo '<meta name="robots" content="noindex,follow">' . "\n";
}
});Такой вариант лучше, чем закрывать поиск в robots.txt, потому что поисковик увидит страницу, но не будет включать ее в индекс. При этом ссылки с нее могут передавать сигналы дальше, если это нужно.
Как не сломать каноникал
Если на странице поиска или параметрического URL уже есть canonical, проверьте, что он указывает на основную версию страницы, а не на сам параметризованный адрес. Иначе поисковик может игнорировать ваши попытки склеить дубли.
add_filter('wpseo_canonical', function ($canonical) {
if (is_search()) {
return home_url('/');
}
return $canonical;
});Этот пример относится к Yoast SEO. Если у вас другой SEO-плагин, логика та же: на поиске канонический URL должен быть либо главной страницей, либо другой релевантной страницей, если это оправдано структурой сайта.
Как убрать параметры из ссылок, а не только из индекса
Если проблема повторяется, значит источник дублей живет в теме, виджете, фильтре или плагине. В таком случае запрет в robots.txt лечит только симптом. Нужно найти место, где параметр добавляется в URL, и убрать его или заменить на более чистую реализацию.
Проверка источника дублей
- Поиск по теме:
?s=,orderby,filter_,replytocom. - Проверка шаблонов архива и поиска.
- Аудит плагинов фильтрации, сортировки и внутреннего поиска.
- Проверка меню, хлебных крошек и блоков с похожими ссылками.
Если параметр добавляет плагин, сначала ищите его настройки. Если параметр генерирует кастомный код, лучше исправить ссылку в PHP, чем потом бесконечно закрывать ее от индексации.
Проверка результата после внедрения
После изменений не стоит ждать “на глаз”. Нужна проверка по нескольким уровням: доступность URL, мета-теги, robots и индексация в Search Console.
Что проверить вручную
- Откройте проблемный URL в браузере и убедитесь, что страница доступна или закрыта так, как вы планировали.
- Посмотрите исходный код и проверьте наличие
noindex,followна нужных шаблонах. - Проверьте
robots.txtпо адресу/robots.txt, а не через кэшированную копию. - В Search Console отправьте URL на повторную проверку, если он уже был в индексе.
Если у вас есть доступ к серверу, можно быстро проверить ответ заголовков:
curl -I https://example.com/?s=testСмотрите, не отдает ли страница неожиданный редирект, 200 OK там, где должен быть noindex, или наоборот. Для индексации важен не только код ответа, но и то, как именно страница описана для поисковика.
Частые ошибки и как их исправить
Закрыли URL в robots.txt и ждете удаления из индекса
Это самая частая ошибка. Robots ограничивает обход, но не всегда быстро убирает URL из выдачи. Если страница уже в индексе, добавьте noindex или настройте каноникал, а robots оставьте как дополнительную меру.
Закрыли слишком много
Иногда в Disallow попадает целый раздел сайта, который должен индексироваться. После этого поисковик перестает переобходить важные страницы, а новые материалы хуже попадают в индекс. Перед публикацией проверьте, не перекрывает ли правило нужные URL.
Использовали noindex на странице, которая закрыта от обхода
Если страница закрыта в robots.txt, поисковик может не увидеть мета-тег noindex. В результате правило не сработает так, как вы ожидаете. Для удаления из индекса сначала дайте роботу доступ, затем применяйте noindex.
Не убрали источник параметров
Если фильтр или сортировка продолжает генерировать ссылки с параметрами, проблема вернется после следующего обхода. В таких случаях правьте не только индексацию, но и саму генерацию URL.
Практические советы по безопасности и производительности
Чем меньше мусорных URL ходит по сайту, тем проще логам, кэшу и аналитике. Но не стоит превращать robots.txt в свалку правил. Слишком агрессивные запреты усложняют поддержку и мешают диагностике.
- Не закрывайте в robots.txt URL, которые нужны для отладки и переобхода важных страниц.
- Если используете кэш-плагин, проверьте, не кэширует ли он страницы поиска и параметрические URL без необходимости.
- Для массовой чистки дублей и технических хвостов удобно использовать инструменты вроде Clearfy Pro, если вам нужен именно набор типовых SEO- и технических настроек без ручной правки каждого шаблона.
- После изменений проверьте sitemap: в него не должны попадать служебные URL и страницы поиска.
Если сайт большой, полезно вести список параметров, которые реально используются, и отдельно список тех, которые нужно игнорировать. Это экономит время при следующем аудите и помогает не ломать рабочие фильтры.
В итоге рабочая схема обычно такая: robots.txt — для ограничения обхода мусорных URL, noindex — для страниц, которые должны открываться, но не индексироваться, canonical — для склейки дублей, а исправление генерации ссылок — для устранения причины, а не следствия.