Если в поиске всплывают архивы, внутренние страницы поиска, служебные URL или технические разделы WordPress, их обычно не нужно «удалять из индекса» одним и тем же способом. Для одних страниц подходит meta robots, для других — robots.txt, а иногда лучше не закрывать ничего, а просто убрать ссылку и дать поисковику понять, что страница не должна ранжироваться.
Ключевая ошибка здесь одна: robots.txt не удаляет страницу из индекса, если она уже известна поисковику. Он запрещает обход, но не гарантирует исключение из выдачи. А meta robots работает на уровне самой страницы и позволяет явно указать, что её не нужно индексировать.
Что именно закрывать через robots.txt, а что — через meta robots
Выбор зависит от того, хотите ли вы запретить обход страницы или запретить её индексирование. Это не одно и то же.
| Инструмент | Что делает | Когда использовать |
|---|---|---|
robots.txt | Запрещает поисковому роботу заходить на URL | Для служебных разделов, которые не должны обходиться вообще: части админки, внутренние скрипты, технические каталоги |
meta robots | Передаёт директиву прямо странице: индексировать или нет | Для страниц, которые доступны по URL, но не должны попадать в поиск: результаты внутреннего поиска, архивы, страницы фильтров, пагинация в отдельных сценариях |
Если страница уже в индексе и вы хотите убрать её из поиска, одного robots.txt обычно недостаточно. Поисковик может сохранить URL в выдаче без сниппета, если увидит внешние ссылки или старые сигналы. В таких случаях нужен noindex через meta robots или HTTP-заголовок X-Robots-Tag.
Какие страницы WordPress обычно не должны индексироваться
В типичном WordPress-сайте к служебным относятся страницы, которые не несут самостоятельной ценности для поиска:
- внутренний поиск сайта, например URL с параметром
?s=; - страницы авторов на небольших сайтах, где они дублируют архивы записей;
- архивы дат, если они не нужны как отдельные посадочные страницы;
- страницы тегов и некоторых таксономий, если они создают тонкие или дублирующие архивы;
- служебные страницы входа и регистрации;
- страницы корзины, оформления заказа и личного кабинета, если они есть в проекте;
- технические URL с параметрами сортировки, фильтрации или служебными переходами.
Но не стоит закрывать всё подряд. Например, архив рубрики может быть полноценной страницей, которая привлекает трафик и помогает структуре сайта. Если рубрика полезна пользователю и содержит уникальный контент, её лучше оставить доступной для индексации.
Как закрыть служебные URL в robots.txt
robots.txt лежит в корне сайта и управляет обходом роботов. В WordPress его можно редактировать вручную, через панель хостинга или плагин, если он умеет править файл. Перед изменениями сделайте копию текущего содержимого: одна лишняя директива может случайно закрыть важные разделы.
Пример базового файла для типового сайта:
User-agent: * Disallow: /wp-admin/ Allow: /wp-admin/admin-ajax.php Disallow: /?s= Disallow: /search/ Disallow: /wp-json/
Здесь есть важный нюанс: Disallow: /?s= может не покрыть все варианты внутреннего поиска, если сайт использует нестандартные URL. Иногда поиск открывается по пути вроде /search/..., а иногда через параметры. Сначала проверьте, как именно выглядят URL на вашем сайте.
Если вы закрываете каталог или раздел, убедитесь, что там нет страниц, которые уже приносят трафик. После запрета обхода поисковик может дольше переосмысливать статус URL, а при наличии внешних ссылок страница всё равно может оставаться в выдаче как адрес без содержимого.
Чего не стоит делать в robots.txt
Не закрывайте через robots.txt страницы, которые нужно именно исключить из индекса, но при этом поисковик должен увидеть директиву noindex. Если робот не может зайти на страницу, он не увидит метатег robots внутри HTML.
Ещё одна частая ошибка — закрывать весь сайт одной строкой вроде Disallow: / на рабочем домене. Это допустимо только для тестовой копии, и то временно. На боевом сайте такая настройка быстро ломает индексацию всего проекта.
Как запретить индексацию через meta robots
meta robots — это HTML-тег в <head> страницы. Он сообщает поисковику, что делать с конкретным URL. Для запрета индексации обычно используют:
<meta name="robots" content="noindex,follow">
Здесь noindex запрещает добавлять страницу в индекс, а follow позволяет поисковику переходить по ссылкам на странице. Это нормальный вариант для большинства служебных страниц, если вы не хотите терять внутреннюю перелинковку.
В WordPress такой тег можно добавить несколькими способами:
- через SEO-плагин, если он умеет управлять индексированием архивов, таксономий и отдельных типов записей;
- через настройки темы или дочерней темы, если вы сами выводите метатеги;
- через код в
functions.phpили в небольшом плагине, если нужна точечная логика.
Если вы не хотите править код, удобнее использовать SEO-плагин. Но важно проверить, не конфликтует ли он с настройками темы: иногда тема уже выводит собственные метатеги, и в итоге на странице появляется несколько директив сразу.
Пример точечной установки noindex для внутреннего поиска
Если нужно закрыть страницы внутреннего поиска WordPress, можно добавить условие, которое выводит noindex,follow только на результатах поиска. Такой вариант подходит, когда тема не делает это сама.
<?php
add_action('wp_head', function () {
if (is_search()) {
echo '<meta name="robots" content="noindex,follow">' . "\n";
}
});
Этот код нужно размещать в дочерней теме или в собственном мини-плагине, а не в основной теме, если вы не хотите потерять правку после обновления. Перед добавлением сделайте резервную копию файла.
Похожим способом можно закрыть и другие типы страниц, но лучше не лепить универсальные условия без проверки. Например, архивы авторов, рубрик или тегов могут быть полезны, а могут быть мусорными — решение зависит от структуры сайта и качества контента на этих страницах.
Как проверить, что запрет работает
После настройки не ограничивайтесь визуальной проверкой страницы в браузере. Нужно убедиться, что поисковик видит именно ту директиву, которую вы задали.
- Откройте страницу в браузере и посмотрите исходный код: в
<head>должен быть нужныйmeta robots. - Проверьте
robots.txtпо адресу/robots.txtи убедитесь, что там нет лишних запретов. - Если страница уже была в индексе, отправьте её на повторную проверку в Google Search Console или Яндекс Вебмастер.
- Проверьте, не закрыта ли страница одновременно и в
robots.txt, и черезnoindex, если вам важно, чтобы робот увидел директиву на самой странице.
Если URL уже известен поисковику, удаление может занять время. Быстрее всего изменения замечаются на страницах, которые регулярно обходятся роботами и не заблокированы в robots.txt.
Типичные ошибки, из-за которых страницы всё равно остаются в поиске
На практике чаще всего мешают три вещи.
Первая: пытаются убрать страницу через robots.txt, хотя нужен noindex. В результате URL остаётся в выдаче, особенно если на него есть ссылки.
Вторая: ставят noindex, но одновременно закрывают страницу в robots.txt. Тогда робот может не увидеть метатег и не понять, что страницу нужно исключить из индекса.
Третья: закрывают не тот URL. В WordPress одна и та же сущность может открываться с разными адресами: с параметрами, со слэшем и без, через архив таксономии или через поиск по сайту. Проверяйте именно тот адрес, который реально индексируется.
Если задача — убрать из поиска уже проиндексированные страницы, иногда дополнительно помогает возврат правильного HTTP-кода для несуществующих или удалённых URL, но это уже отдельный сценарий. Для обычных служебных страниц чаще достаточно корректного noindex и аккуратного robots.txt.
Практическая схема без лишнего риска
Если нужен рабочий порядок действий, ориентируйтесь на него:
- Определите, что именно вы хотите сделать: запретить обход или запретить индексирование.
- Для страниц, которые должны остаться доступными, но не ранжироваться, используйте
meta robots noindex,follow. - Для технических разделов, которые не должны обходиться роботами, добавьте правила в
robots.txt. - Не закрывайте в
robots.txtто, что нужно вывести из индекса черезnoindex. - После изменений проверьте исходный код страницы и статус в панели вебмастера.
Если у вас небольшой сайт на WordPress, обычно достаточно точечно закрыть внутренний поиск, служебные архивы и технические URL. Если сайт большой и структура сложная, лучше сначала составить список страниц, которые действительно должны остаться в индексе, а уже потом закрывать всё остальное. Так меньше шанс случайно убрать из поиска полезные разделы.