На радаре Search Engine Land Сущности и AI в SEO: как объединить контент и SEO-команды

Техаудит и индексация

Проверить и настроить robots.txt

Критично

Зачем настраивать robots.txt

Robots.txt — это первый файл, который читает поисковый робот при заходе на сайт. Он определяет, какие разделы можно сканировать, а какие нет. Правильная настройка robots.txt решает две задачи: экономит краулинговый бюджет (робот не тратит время на служебные страницы) и защищает от попадания в индекс технических URL, которые размывают качество сайта в глазах поисковиков.

Неправильная настройка приводит к двум крайностям: либо робот тратит ресурсы на сканирование тысяч мусорных страниц, либо вообще не видит важный контент. Я встречал сайты, где в robots.txt стояла директива Disallow: /, оставшаяся после разработки. Сайт месяцами не индексировался, а владелец не понимал причину. Проверка robots.txt — базовый шаг, который занимает пять минут, но экономит недели ожидания.

Пошаговая инструкция

Шаг 1. Откройте текущий файл

Введите в браузере адрес https://ваш-сайт.ru/robots.txt. Файл должен открыться как обычный текстовый документ. Если вместо этого вы видите ошибку 404 — файла нет, и его нужно создать. Если отображается HTML-страница вместо текста — значит, robots.txt перехватывается CMS или сервером, и это нужно исправить.

Обратите внимание на код ответа сервера. Robots.txt должен отдаваться с кодом 200. Если файл возвращает 301-редирект или 500-ошибку — роботы могут интерпретировать это непредсказуемо. Проверьте код ответа через инструменты разработчика в браузере (F12 → Network) или любой HTTP-checker.

Шаг 2. Разберитесь в синтаксисе

Прежде чем редактировать файл, важно понимать, как работают директивы:

  • User-agent. Указывает, для какого робота действуют правила. User-agent: * — для всех роботов. User-agent: Yandex — только для Яндекса. User-agent: Googlebot — только для Google.
  • Disallow. Запрещает сканирование указанного пути. Disallow: /wp-admin/ закрывает всю папку. Disallow: /page.html закрывает конкретный файл. Пустой Disallow: (без пути) — разрешает всё.
  • Allow. Разрешает сканирование внутри запрещённого раздела. Используется для исключений: вы закрыли /wp-admin/, но хотите оставить доступ к /wp-admin/admin-ajax.php.
  • Sitemap. Указывает путь к карте сайта. Не зависит от блока User-agent — может стоять в любом месте файла.
  • Clean-param. Работает только для Яндекса. Сообщает роботу, что URL с указанными GET-параметрами не нужно обрабатывать как отдельные страницы.

Важно: Disallow и Noindex — это разные вещи. Disallow запрещает сканирование, но не запрещает индексацию. Если на страницу есть внешние ссылки, Google может добавить её в индекс даже при Disallow — просто без содержимого, с пометкой «Описание недоступно из-за файла robots.txt». Для полного исключения из индекса нужен мета-тег <meta name="robots" content="noindex" /> или HTTP-заголовок X-Robots-Tag: noindex.

Шаг 3. Сформируйте правильный robots.txt для WordPress

Ниже — рекомендуемый шаблон для типичного WordPress-сайта. Адаптируйте под свой проект:

User-agent: *
Disallow: /wp-admin/
Disallow: /wp-login.php
Disallow: /wp-register.php
Disallow: /cart/
Disallow: /checkout/
Disallow: /search/
Disallow: /?s=
Disallow: /author/
Disallow: /tag/
Disallow: /*?replytocom=
Disallow: /wp-json/
Disallow: /?p=
Disallow: /xmlrpc.php
Allow: /wp-admin/admin-ajax.php
Allow: /wp-content/uploads/
Allow: /wp-content/themes/
Allow: /wp-content/plugins/

Sitemap: https://ваш-сайт.ru/sitemap_index.xml

Разберу каждую директиву подробно:

  • Disallow: /wp-admin/ — административная панель WordPress. Роботу там делать нечего, а сканирование этих URL тратит краулинговый бюджет.
  • Disallow: /wp-login.php и /wp-register.php — страницы авторизации и регистрации. Не несут поисковой ценности.
  • Disallow: /cart/ и /checkout/ — корзина и оформление заказа (для интернет-магазинов). Если на вашем сайте нет магазина — эти строки не нужны.
  • Disallow: /search/ и /?s= — результаты внутреннего поиска WordPress. Яндекс и Google считают их дублями и тонким контентом. На крупных сайтах внутренний поиск генерирует тысячи мусорных URL.
  • Disallow: /author/ — авторские архивы WordPress. На сайтах с одним автором они полностью дублируют основной блог. На многоавторских можно оставить открытыми, но только если на авторских страницах есть уникальный контент.
  • Disallow: /tag/ — архивы меток. В большинстве случаев метки создают дубли категорий. Если вы осознанно используете метки как полноценные таксономии — не закрывайте.
  • Disallow: /*?replytocom= — URL комментариев. WordPress генерирует отдельные URL для ответа на каждый комментарий — это мусорные дубли.
  • Disallow: /wp-json/ — REST API WordPress. Технический эндпоинт, не нужен в индексе.
  • Disallow: /?p= — короткие URL записей по ID. Дубли канонических URL.
  • Allow: /wp-admin/admin-ajax.php — этот файл нужен для корректной работы AJAX-функций некоторых тем и плагинов при рендеринге.
  • Allow: /wp-content/uploads/ — открывает доступ к изображениям и документам. Без этого картинки не попадут в поиск по изображениям Яндекса и Google.
  • Allow: /wp-content/themes/ и /plugins/ — открывает доступ к CSS и JS файлам. Google прямо предупреждает в Search Console, если CSS/JS заблокированы — роботу нужны эти файлы для рендеринга страницы.

Шаг 4. Добавьте правила для отдельных роботов

Если нужны особые правила для конкретного поискового робота, добавьте отдельные блоки после общего:

User-agent: Yandex
Disallow: /tag/
Clean-param: utm_source&utm_medium&utm_campaign&utm_term&utm_content
Clean-param: yclid
Clean-param: fbclid&gclid

User-agent: Googlebot
Disallow: /tag/

Директива Clean-param работает только для Яндекса и решает проблему дублей из рекламных ссылок. Вместо того чтобы закрывать каждый URL с UTM-меткой отдельно, вы сообщаете роботу: «Эти параметры не меняют содержимое страницы, обрабатывай URL без них.» Это снимает проблему тысяч дублей, которые генерируют рекламные кампании.

Шаг 5. Разместите файл на сервере

Файл robots.txt должен лежать строго в корневой директории сайта — там же, где находится wp-config.php. Путь вида /blog/robots.txt или /site/robots.txt не работает — роботы его не увидят.

Способы размещения:

  • Через файловый менеджер хостинга или FTP. Создайте текстовый файл с именем robots.txt, заполните директивами и загрузите в корень. Самый надёжный способ.
  • Через Yoast SEO. SEO → Инструменты → Редактор файлов. Удобно для быстрых правок, но создаёт зависимость от плагина — если его деактивировать, виртуальный robots.txt пропадёт.
  • Через SSH. Подключитесь к серверу и создайте файл командой nano /path/to/site/robots.txt. Для тех, кто работает с сервером напрямую.

После размещения обязательно проверьте файл в браузере: https://ваш-сайт.ru/robots.txt должен отображать текст директив, а не ошибку или редирект.

Шаг 6. Проверьте через инструменты поисковиков

Яндекс Вебмастер. Перейдите в «Инструменты» → «Анализ robots.txt». Вставьте содержимое файла и проверьте несколько URL:

  • Главную страницу — должна быть разрешена.
  • Любую статью блога — должна быть разрешена.
  • Страницу услуги — должна быть разрешена.
  • Страницу /wp-admin/ — должна быть запрещена.
  • URL с UTM-метками — должен быть обработан через Clean-param.
  • Изображение из /wp-content/uploads/ — должно быть разрешено.

Google Search Console. В GSC robots.txt проверяется косвенно: если в отчёте «Страницы» вы видите статус «Заблокировано файлом robots.txt» для важных URL — файл настроен неправильно. Также Google уведомит в Search Console, если заблокированы CSS/JS-ресурсы, необходимые для рендеринга.

Шаг 7. Настройте мониторинг изменений

Robots.txt может измениться без вашего ведома: при обновлении WordPress, установке нового плагина, переезде на другой хостинг. Некоторые плагины безопасности добавляют собственные директивы. SEO-плагины могут перезаписать файл при обновлении настроек.

Я рекомендую раз в месяц проверять содержимое robots.txt и сверять с эталоном. Простой способ — сохранить правильную версию файла в заметках и сравнивать при каждой проверке.

Типичные ошибки

  • Disallow: / — блокировка всего сайта. Чаще всего остаётся после переноса с тестового домена или разработки. Одна строка убирает сайт из поиска полностью. Всегда проверяйте robots.txt после запуска сайта.
  • Закрытие CSS и JS файлов. Директивы вроде Disallow: /wp-content/themes/ или Disallow: /wp-includes/ мешают роботам рендерить страницу. Google прямо предупреждает об этом в Search Console. Роботу нужны эти файлы, чтобы «увидеть» страницу так же, как видит её пользователь.
  • Отсутствие директивы Sitemap. Без неё робот найдёт страницы через ссылки, но медленнее. Указание карты сайта ускоряет обнаружение нового контента и даёт чёткий сигнал о структуре сайта.
  • Пустой файл вместо отсутствующего. Пустой robots.txt и отсутствие файла — разные вещи для некоторых краулеров. Лучше явно прописать User-agent: * и разрешённые/запрещённые разделы, чем оставлять пустоту.
  • Использование robots.txt вместо noindex. Robots.txt запрещает сканирование, но не индексацию. Страница может попасть в индекс даже при Disallow, если на неё ведут внешние ссылки. Для полного исключения из индекса нужен мета-тег noindex.
  • Несколько блоков User-agent: * в одном файле. Робот читает только первый подходящий блок. Если в файле два блока User-agent: * с разными директивами, второй будет проигнорирован.
  • Пробелы и опечатки в директивах. Disalow вместо Disallow, лишний пробел в пути — всё это приводит к тому, что правило не работает. Роботы строго интерпретируют синтаксис.
  • Закрытие /wp-content/uploads/. Без доступа к этой папке изображения не попадут в поиск по картинкам. А для некоторых ниш (интернет-магазины, портфолио) поиск по изображениям — значимый источник трафика.

Что проверить в итоге

  • Файл доступен по адресу https://ваш-сайт.ru/robots.txt и отдаётся с кодом 200.
  • Директива Sitemap указывает на актуальную карту сайта, и URL в ней открывается без ошибок.
  • Основные страницы сайта (главная, услуги, статьи блога) не заблокированы — проверьте через инструмент анализа в Яндекс Вебмастере.
  • Служебные разделы закрыты: /wp-admin/, /wp-login.php, /search/, /?s=, /cart/, /checkout/, /author/.
  • Изображения и медиафайлы в /wp-content/uploads/ доступны роботам.
  • CSS и JS файлы в /wp-content/themes/ и /wp-content/plugins/ доступны для рендеринга.
  • Для Яндекса настроена директива Clean-param для UTM-меток и рекламных параметров.
  • В Яндекс Вебмастере инструмент анализа robots.txt не показывает конфликтов для важных URL.
  • В Google Search Console нет предупреждений о заблокированных ресурсах.
  • Нет директивы Disallow: /, блокирующей весь сайт.

Нужна помощь с внедрением?

Проведу аудит вашего сайта и внедрю рекомендации. Результат — чистая техническая база и план роста.

Обсудить проект

Кто ведёт проект

Александр Тригуб — частный SEO-маркетолог. В поисковом маркетинге с 2010 года, предприниматель с 2001-го. В SEO пришёл из собственного бизнеса — знаю, как устроены продажи не из учебников, а из собственной выручки и расходов.

  • Специализация: медицина, B2B, e-commerce и локальные услуги — ниши, где каждый лид стоит дорого.
  • Подтверждённый опыт: 1092 заказа на Kwork (рейтинг 4.9 / 5) — подтверждённые отзывы, без учёта прямых клиентов. Проверить отзывы.
  • Формат: работаю напрямую, один специалист на проект — без менеджеров и субподрядных цепочек.
  • Отчётность: KPI по лидам и деньгам. Ежемесячный план/факт, а не PDF на 50 страниц.
15+лет в маркетинге
728отзывов
4.9рейтинг
1092заказов на Kwork