Ситуация типовая: в поиске всплывают страницы, которые не должны индексироваться — результаты внутреннего поиска, архивы с параметрами, страницы авторов, служебные разделы, тестовые записи. На уровне WordPress это обычно решается не одним способом, а комбинацией: robots.txt для обхода и meta robots для точечного запрета индексации конкретных URL.
Если закрыть всё подряд через robots.txt, можно получить обратный эффект: страница перестанет обходиться, но уже известный URL ещё долго будет висеть в выдаче без контента. Если поставить только noindex, робот сможет зайти на страницу и увидеть директиву, но сам обход останется. Поэтому сначала важно понять, что именно вы хотите: убрать URL из индекса, сократить обход или и то и другое.
Когда проблема действительно в индексации
Перед правками проверьте, что страница не просто плохо ранжируется, а именно индексируется там, где не должна. Для этого откройте:
- отчёт по страницам в Google Search Console;
- поиск по оператору
site:example.com; - исходный код проблемной страницы — ищите
meta name="robots"и канонический URL; robots.txtсайта, если речь о массовом запрете обхода.
Часто проблема выглядит так:
- в индексе есть страницы с параметрами вроде
?replytocom=,?utm_или фильтрами; - отдельно индексируются страницы поиска по сайту;
- попадают в выдачу архивы авторов на небольшом сайте без уникального контента;
- в индексе остаются страницы тегов, которые дублируют рубрики.
Что лучше использовать: robots.txt, noindex или canonical
Для разных задач — разные инструменты. Ниже короткое сравнение.
| Подход | Что делает | Когда подходит | Ограничение |
|---|---|---|---|
robots.txt | Запрещает обход | Для служебных разделов, где не нужен crawl | Не гарантирует удаление URL из индекса |
meta robots noindex | Просит не индексировать страницу | Для точечных страниц, которые должны быть доступны роботу | Страница должна быть доступна для обхода |
rel=canonical | Указывает основную версию | Для дублей и страниц с параметрами | Не заменяет запрет индексации |
Если задача — убрать из выдачи отдельные страницы WordPress, чаще всего нужен именно noindex, а не только robots.txt.
Пошаговое решение: закрываем отдельные страницы от индексации
1. Добавляем meta robots для нужных шаблонов
Самый надёжный способ — подключить условную директиву noindex, follow для конкретных типов страниц. Например, для страниц поиска, архивов автора и служебных URL. Код ниже можно добавить в дочернюю тему или в небольшой mu-plugin.
<?php
add_action('wp_head', function () {
if (is_search() || is_author() || is_tag()) {
echo '<meta name="robots" content="noindex,follow" />' . "\n";
}
}, 1);Этот вариант простой, но его нужно применять аккуратно. Не ставьте noindex на всё подряд: если у вас есть полезные страницы тегов или авторские архивы с уникальным контентом, они могут потерять видимость.
2. Для дублей и параметров используем canonical
Если проблема не в служебной странице, а в дубле с параметрами, лучше оставить страницу доступной, но указать основную версию. В WordPress это часто уже делает SEO-плагин, но для кастомных шаблонов полезно проверить логику вручную.
<?php
add_filter('get_canonical_url', function ($canonical, $post) {
if (is_singular('post') && isset($_GET['ref'])) {
return get_permalink($post);
}
return $canonical;
}, 10, 2);Здесь идея простая: если пользователь пришёл на запись с лишним параметром, канонический URL должен указывать на чистую версию без параметров. Это не запрет индексации, но хороший способ убрать дубли.
3. Ограничиваем обход в robots.txt только там, где это оправдано
robots.txt полезен для разделов, которые не должны тратить crawl budget: внутренний поиск, технические директории, временные URL. В WordPress файл можно редактировать вручную в корне сайта или через серверную конфигурацию, если он генерируется не физически.
User-agent: *
Disallow: /?s=
Disallow: /search/
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.phpОбратите внимание: запрет /wp-admin/ стандартный, но admin-ajax.php обычно оставляют доступным, иначе часть фронтенд-функций может сломаться.
Диагностика после внедрения
После правок не ограничивайтесь визуальной проверкой. Нужно убедиться, что робот видит именно то, что вы задумали.
- Откройте исходный код страницы и проверьте наличие
<meta name="robots" content="noindex,follow" />. - Проверьте заголовки ответа, если директива задаётся через HTTP header.
- В Search Console отправьте URL на повторную проверку.
- Убедитесь, что канонический URL указывает на основную страницу без параметров.
- Посмотрите, не блокирует ли
robots.txtобход страницы, которой нуженnoindex.
Если страница закрыта в robots.txt, но вы хотите убрать её из индекса быстрее, это плохая комбинация: робот может не увидеть директиву noindex. В таком случае сначала дайте ему доступ, дождитесь переобхода и только потом при необходимости ограничивайте crawl.
Частые ошибки и как их исправить
Закрыли страницу в robots.txt и ждёте удаления из выдачи
Это распространённая ошибка. Disallow не равен noindex. Если URL уже в индексе, поисковик может продолжать показывать его без сниппета. Исправление: временно уберите запрет обхода, добавьте noindex, дождитесь переобхода.
Ставите noindex на все архивы без проверки
На небольших сайтах это иногда оправдано, но на контентных проектах архивы авторов, рубрик и тегов могут приносить трафик. Перед массовым закрытием проверьте, есть ли у архивов уникальные тексты, хлебные крошки, внутренние ссылки и поисковый спрос.
Оставляете дубли с параметрами без canonical
Если одна и та же запись доступна по нескольким адресам, поисковик может выбрать не ту версию. Исправление: нормализуйте ссылки, уберите лишние параметры из генерации URL и проверьте canonical на шаблоне.
Добавляете код в родительскую тему
После обновления темы правки исчезнут. Для таких задач лучше использовать дочернюю тему или mu-plugin. Это особенно важно, если вы закрываете индексацию не одной страницы, а целого набора шаблонов.
Чек-лист перед публикацией изменений
- Проверен список URL, которые действительно должны быть закрыты.
- Для нужных страниц добавлен
noindex,follow. - Для дублей настроен canonical.
robots.txtне блокирует страницы, которым нужен переобход.- Проверен исходный код и ответ сервера.
- Запрос на переиндексацию отправлен в Search Console.
Практические советы по безопасности и производительности
Если вы редактируете robots.txt или подключаете код вручную, храните изменения в системе контроля версий. Это помогает быстро откатить неудачную правку, особенно если сайт обслуживает несколько человек.
Для сайтов с большим количеством дублей полезно не только закрывать лишние страницы, но и уменьшать их появление: чистить параметры в ссылках, не плодить теги без смысла, не генерировать отдельные архивы под каждый служебный фильтр. Если нужен более системный подход к чистке дублей и техническому SEO, такие задачи часто закрывают SEO-плагины уровня Clearfy Pro, но даже с ними логику индексации лучше проверять вручную, а не полагаться на настройки вслепую.
Главный критерий простой: если URL должен существовать для пользователя, но не нужен в поиске, используйте noindex и canonical по ситуации. Если URL вообще не должен обходиться, ограничивайте его в robots.txt, но только после того, как убедились, что это не мешает удалению уже проиндексированной страницы.