Если в поиске всплывают страницы тегов, архивов автора, служебные URL плагинов или дубли с параметрами, проблема обычно не в одном robots.txt. В WordPress индексация управляется сразу несколькими слоями: настройками сайта, мета-тегами, правилами robots.txt, каноникалами и тем, как тема или плагин генерируют ссылки. Поэтому сначала нужно понять, что именно попало в индекс, а уже потом резать доступ.
Что именно нужно проверить в первую очередь
Перед правками откройте Search Console и посмотрите, какие типы страниц уже индексируются. Часто картина такая: в индексе есть /tag/, /author/, страницы поиска ?s=, архивы по датам, вложения медиафайлов и URL с UTM-параметрами. Для WordPress это типичный набор, и он не всегда нужен для SEO.
Диагностика проблемы без догадок
Проверьте три вещи:
- что реально отдает страница:
index,followилиnoindex; - есть ли у страницы корректный
rel="canonical"; - не блокируется ли URL в
robots.txtраньше, чем поисковик увидит мета-тегnoindex.
Важно: если вы закрыли URL в robots.txt, но он уже в индексе, поисковик может долго держать его в выдаче без возможности переобхода. Для удаления из индекса чаще нужен именно noindex, а не только запрет в robots.txt.
Какой подход выбрать: robots.txt, noindex или каноникал
У этих инструментов разная задача. Не стоит пытаться одним robots.txt решить все проблемы индексации.
| Инструмент | Когда использовать | Ограничение |
|---|---|---|
| robots.txt | Чтобы не тратить crawl budget на служебные URL и технические разделы | Не гарантирует удаление уже проиндексированных страниц |
| noindex | Чтобы убрать из индекса архивы, поиск, вложения, служебные страницы | Страница должна быть доступна для обхода |
| canonical | Чтобы объединить дубли и параметры в одну основную версию | Не подходит для полного скрытия страницы |
Если задача — убрать из поиска архивы автора, теги или страницы поиска, чаще всего нужен noindex. Если задача — не дать боту тратить время на внутренний поиск, корзины, фильтры и технические URL, помогает robots.txt. Если есть дубли контента, нужен canonical.
Пошаговая настройка robots.txt в WordPress
В WordPress robots.txt можно отдать виртуально через файл на сервере или через фильтр robots_txt. Для большинства сайтов удобнее управлять содержимым через код темы или мини-плагин, чтобы не зависеть от ручного файла.
Пример безопасного robots.txt для типового сайта
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Disallow: /wp-login.php
Disallow: /?s=
Disallow: /search/
Disallow: /tag/
Disallow: /author/
Disallow: /feed/
Sitemap: https://example.com/sitemap_index.xmlЭтот вариант не универсален. Например, если теги у вас реально используются как посадочные страницы и дают трафик, закрывать /tag/ не нужно. То же относится к архивам автора: на контентных проектах они иногда полезны, если авторские страницы оформлены нормально.
Как задать robots.txt через фильтр
Если не хотите редактировать файл вручную, добавьте код в functions.php дочерней темы или в небольшой плагин:
<?php
add_filter('robots_txt', function ($output, $public) {
$lines = [
'User-agent: *',
'Disallow: /wp-admin/',
'Allow: /wp-admin/admin-ajax.php',
'Disallow: /wp-login.php',
'Disallow: /?s=',
'Disallow: /search/',
'Sitemap: ' . home_url('/sitemap_index.xml'),
];
return implode("\n", $lines) . "\n";
}, 10, 2);Такой подход удобен, если сайт разворачивается на нескольких окружениях и sitemap меняется автоматически. Но не забывайте: robots.txt — это не замена мета-тегам индексации.
Как убрать архивы, поиск и вложения из индекса
Для WordPress это обычно делается на уровне мета-тегов. Если у вас стоит SEO-плагин, проверьте его настройки для архивов, таксономий и медиа. Если нужен контроль без плагина, можно добавить noindex точечно.
Пример для служебных страниц
<?php
add_action('wp_head', function () {
if (is_search() || is_author() || is_attachment() || is_date()) {
echo '<meta name="robots" content="noindex,follow" />' . "\n";
}
}, 1);Для вложений это особенно полезно: WordPress часто создает отдельные attachment-страницы, которые не несут ценности и только плодят дубли. Если они уже в индексе, дополнительно проверьте, не ведут ли на них внутренние ссылки из медиабиблиотеки или темы.
Как проверить, что настройка сработала
После внедрения не ограничивайтесь просмотром исходника. Нужна проверка на уровне ответа сервера и индексации.
- Откройте страницу в браузере и убедитесь, что в
<head>появилсяnoindex,followтам, где он нужен. - Проверьте robots.txt по адресу
/robots.txtи убедитесь, что он отдается без ошибок. - В Search Console используйте проверку URL и посмотрите, как Google видит страницу после обхода.
- Проверьте, не остались ли внутренние ссылки на закрытые страницы.
Если страница уже была в индексе, удаление может занять время. Это нормальная ситуация: поисковик должен заново обойти URL и увидеть новое правило.
Частые ошибки и как их исправить
Закрыли URL в robots.txt, но он все еще в поиске
Это ожидаемо. Robots.txt не удаляет страницу из индекса мгновенно. Если нужна именно деиндексация, добавьте noindex и не блокируйте страницу от обхода.
Запретили слишком много
Частая ошибка — закрыть /tag/, /category/ и /author/ без анализа. Если эти разделы дают трафик или помогают навигации, вы можете потерять полезные посадочные страницы. Сначала смотрите данные, потом режьте.
Использовали canonical вместо noindex
Canonical помогает при дублях, но не гарантирует исключение страницы из индекса. Для служебных архивов и поиска canonical обычно недостаточно.
Сломали sitemap
Если sitemap закрыт в robots.txt или отдает ошибку, поисковик хуже переобходит сайт. Sitemap должен быть доступен и содержать только те URL, которые вы реально хотите индексировать.
Практические советы по безопасности и производительности
Не держите критичные правила только в админке SEO-плагина, если у вас часто меняются окружения или тема. Лучше хранить базовую логику в коде и оставлять в интерфейсе только исключения. Для крупных сайтов полезно периодически проверять, не создают ли плагины новые архивы, параметры или страницы поиска.
Если на сайте много дублей и технического мусора, имеет смысл использовать инструменты для очистки SEO-обвязки и лишних архивов. В экосистеме WPShop для таких задач есть Clearfy Pro: он помогает убрать часть технического шума и упростить контроль над индексируемыми страницами. Но даже с плагином логику лучше понимать вручную — иначе легко закрыть не то, что нужно.
Когда стоит идти дальше robots.txt
Если после настройки индексация не меняется, проверьте:
- нет ли внешних ссылок на мусорные URL;
- не генерирует ли тема дубли через пагинацию и фильтры;
- не создают ли плагины отдельные публичные страницы для вложений, форм или поиска;
- не конфликтуют ли правила robots.txt с уже существующим SEO-плагином.
В сложных случаях сначала убирают дубли и служебные страницы из шаблонов, потом настраивают мета-теги, и только после этого правят robots.txt. Такой порядок дает предсказуемый результат и не ломает обход сайта поисковиком.