На WordPress чаще всего нужно закрыть от индексации не весь сайт, а конкретные страницы: результаты поиска, архивы с дублями, служебные разделы, тестовые записи, страницы благодарности, внутренние фильтры. Ошибка здесь типовая: в robots.txt добавляют Disallow, считают задачу решённой и потом удивляются, что URL всё ещё виден в поиске. Для поисковиков это разные сигналы: запрет на обход и запрет на индексацию — не одно и то же.
Когда проблема действительно в индексации, а не в SEO-настройках темы
Сначала стоит понять, что именно происходит с URL. Если страница уже попала в индекс, простого запрета в robots.txt обычно недостаточно. Поисковик может оставить адрес в выдаче без сниппета, если увидел его раньше. Если же страница ещё не проиндексирована, правильная комбинация noindex и аккуратного внутреннего перелинкования решает задачу быстрее.
Диагностика проблемы
- Откройте URL в браузере и проверьте исходный код: есть ли
<meta name="robots" content="noindex,follow">. - Посмотрите заголовки ответа сервера: иногда закрытие сделано через
X-Robots-Tag, а не через HTML. - Проверьте, не создаёт ли SEO-плагин отдельные правила для архивов, тегов или страниц пагинации.
- Убедитесь, что страница не доступна по нескольким адресам: с
wwwи без, с параметрами, через категории и архивы автора. - Если URL уже в поиске, проверьте статус в Google Search Console или Яндекс Вебмастере, а не только наличие тега в коде.
Если проблема выглядит как дубль, а не как лишняя индексация, сначала уберите источник дубля: каноникал, пагинацию, лишние архивы, параметры URL. Иначе вы просто спрячете симптом.
Что выбрать: robots.txt, meta robots или X-Robots-Tag
Для WordPress есть три рабочих подхода. Они не взаимозаменяемы, и в реальной работе лучше понимать компромисс каждого варианта.
| Способ | Где применяется | Плюс | Минус |
|---|---|---|---|
robots.txt |
Запрет обхода | Быстро уменьшает нагрузку на обход | Не гарантирует удаление из индекса |
meta robots |
Конкретная HTML-страница | Явный сигнал noindex |
Нужно, чтобы страница всё ещё отдавалась роботу |
X-Robots-Tag |
Файлы и ответы сервера | Удобно для PDF, архивов, нестандартных ответов | Нужно настраивать на уровне сервера или PHP |
Если задача — закрыть отдельную страницу WordPress, чаще всего нужен именно meta robots. Если надо убрать из обхода большой технический раздел, можно добавить robots.txt. Если речь о файлах или нестандартных ответах, удобнее X-Robots-Tag.
Пошаговое решение для отдельных страниц WordPress
Ниже рабочая схема без выдуманных хуков и без привязки к конкретному SEO-плагину. Её можно использовать в дочерней теме или в небольшом must-use плагине.
Шаг 1. Добавьте noindex для выбранных страниц
Если нужно закрыть от индексации конкретные страницы по ID, можно вывести мета-тег через wp_head. Такой вариант подходит для страниц благодарности, тестовых лендингов, внутренних документов, страниц с дублирующимся контентом.
<?php
add_action( 'wp_head', function () {
if ( is_page( array( 123, 456, 789 ) ) ) {
echo "<meta name=\"robots\" content=\"noindex,follow\" />\n";
}
} );
Здесь важно оставить follow, если страница нужна пользователям, но не должна попадать в индекс. Это не магия, а просто более мягкий сигнал: ссылки можно обходить, саму страницу — не индексировать.
Шаг 2. Закройте архивы, которые создают дубли
Частая история — теги, авторы, даты или страницы поиска. Если они не несут самостоятельной ценности, их лучше закрыть точечно. Для этого можно использовать условные теги WordPress.
<?php
add_action( 'wp_head', function () {
if ( is_search() || is_author() || is_date() ) {
echo "<meta name=\"robots\" content=\"noindex,follow\" />\n";
}
} );
Но не закрывайте архивы вслепую. Если у автора есть полноценная экспертная страница с уникальным текстом и полезными материалами, её лучше оставить открытой и доработать контент.
Шаг 3. Добавьте запрет обхода в robots.txt только для технических разделов
robots.txt нужен не для удаления URL из индекса, а для ограничения обхода. В WordPress его можно отдать через фильтр robots_txt.
<?php
add_filter( 'robots_txt', function ( $output, $public ) {
$output .= "\nDisallow: /wp-json/";
$output .= "\nDisallow: /?s=";
$output .= "\nDisallow: /search/";
return $output;
}, 10, 2 );
Не добавляйте сюда всё подряд. Если закрыть важные страницы, поисковик может хуже понимать структуру сайта. Особенно осторожно с /wp-content/ и CSS/JS: блокировать их без причины не стоит.
Шаг 4. Для файлов и нестандартных ответов используйте X-Robots-Tag
Если у вас есть PDF, выгрузки или служебные файлы, которые не должны индексироваться, удобнее отдать заголовок ответа. В WordPress это можно сделать через send_headers, если условие можно определить на уровне запроса.
<?php
add_action( 'send_headers', function () {
if ( isset( $_GET['download'] ) ) {
header( 'X-Robots-Tag: noindex, nofollow', true );
}
} );
Этот способ полезен там, где HTML-мета-тег не сработает. Но не используйте его как замену нормальной логике доступа: если файл должен быть закрыт от пользователей, лучше ограничить сам доступ, а не только индексацию.
Проверка результата после внедрения
После правок не ограничивайтесь просмотром страницы в браузере. Нужно проверить именно то, что видит робот.
- Откройте исходный код страницы и убедитесь, что мета-тег
robotsпоявился только там, где нужно. - Проверьте ответ сервера через
curl -I https://example.com/..., если используетеX-Robots-Tag. - Посмотрите, не конфликтует ли новый тег с SEO-плагином: иногда он выводит свой
index,followпозже в шаблоне. - В Search Console запросите повторную проверку URL, если страница уже была в индексе.
- Сравните канонический адрес и фактический URL: иногда проблема не в индексации, а в дублирующем каноникале.
Если страница всё ещё отображается в поиске, это не всегда ошибка внедрения. Поисковику нужно время, чтобы переобойти URL и обновить статус. Но если в коде нет noindex, ждать бессмысленно.
Частые ошибки и как их исправить
Закрыли URL в robots.txt, но не поставили noindex
Это самая распространённая ошибка. Робот может не зайти на страницу, но адрес останется в индексе как известный URL. Исправление простое: верните доступ для обхода и добавьте meta robots noindex или X-Robots-Tag.
Случайно закрыли весь сайт
Такое бывает после переноса с тестового домена или при импорте настроек SEO-плагина. Проверьте, не стоит ли глобальный запрет на индексацию в настройках WordPress, в robots.txt и в шаблоне темы одновременно.
Использовали noindex на странице, которая должна собирать трафик
Иногда закрывают категории, архивы или полезные посадочные страницы по ошибке. Перед внедрением составьте список URL, которые действительно нужно скрыть. Не ориентируйтесь только на «похоже на дубль».
Забыли про дубли с параметрами
Если страница доступна с параметрами ?utm_, ?replytocom, фильтрами или сортировкой, одного тега на основной URL может быть мало. Нужно либо нормализовать адреса, либо настроить каноникал и обработку параметров.
Практические советы по безопасности и производительности
Закрытие индексации не должно ломать сайт. Несколько правил помогают избежать лишней нагрузки и ошибок:
- Не генерируйте
noindexна каждом запросе через тяжёлые проверки базы данных. - Если список закрытых страниц большой, храните его в одном месте и используйте быстрые условия, а не десятки разрозненных проверок.
- Не блокируйте CSS и JS в
robots.txtбез необходимости: это мешает поисковику корректно рендерить страницу. - Если правите код темы, делайте это в дочерней теме или в отдельном мини-плагине, чтобы обновление не затёрло изменения.
- Для массовой чистки дублей и технических страниц полезно сначала провести аудит, а уже потом закрывать URL.
Если нужно системно убрать дубли, служебные страницы и лишние архивы, иногда проще собрать это в одном месте через SEO-плагин или набор точечных правил. Но даже тогда полезно понимать, какой именно сигнал вы отдаёте поисковику: запрет обхода, запрет индексации или канонический адрес.
Когда лучше не править руками
Если сайт большой, с несколькими типами контента и сложной структурой архивов, ручные правки в шаблоне быстро становятся хрупкими. В таких случаях безопаснее вынести правила в отдельный плагин или использовать SEO-инструмент, где можно управлять индексированием архивов, таксономий и служебных страниц централизованно. Это особенно полезно, если над сайтом работает не один разработчик.
Для типовых задач по чистке дублей и технической оптимизации иногда удобнее использовать готовые инструменты вроде Clearfy Pro, если вам нужен именно набор настроек для удаления дублей и технической уборки без постоянных правок в теме. Но даже с плагином проверка через исходный код и Search Console остаётся обязательной.