Robots.txt задаёт правила обхода для поисковых роботов. Запрет обхода не гарантирует исключения URL из поиска и не защищает приватные данные. В разных CMS структура URL и служебные папки отличаются — поэтому примеры ниже нужно адаптировать и проверить на реальных страницах, CSS, JavaScript и изображениях сайта.
Базовая структура robots.txt
User-agent: *
Disallow: /служебные-папки/
Allow: /путь-к-которому-разрешаем-доступ/
Sitemap: https://example.com/sitemap.xmlДиректива Allow переопределяет Disallow для более конкретного пути. Sitemap указывает роботам на карту сайта.
WordPress
Стандартный пример
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Disallow: /wp-login.php
Disallow: /wp-register.php
Disallow: /?s=
Disallow: /search/
Disallow: /author/
Disallow: /feed/
Disallow: /trackback/
Allow: /wp-content/uploads/
Sitemap: https://example.com/sitemap_index.xmlПояснения
| Директива | Причина |
|---|---|
Disallow: /wp-admin/ | Ограничение обхода админки; авторизация настраивается отдельно |
Allow: /wp-admin/admin-ajax.php | AJAX-запросы для фронтенда |
Allow: /wp-content/uploads/ | Картинки в uploads разрешены |
Disallow: /?s= | Страницы поиска (дубли) |
Disallow: /author/ | Архивы авторов (по желанию) |
Не блокируйте целиком /wp-includes/, каталоги плагинов и кэш: там могут находиться публичные CSS и JavaScript. Шаблон Disallow: /*?* также закроет нужные URL с параметрами, включая пагинацию. Для неё оставляют доступные ссылки и собственный canonical каждой страницы.
Robots.txt не запрещает выполнение PHP в uploads: такую защиту настраивают на сервере. Регулярные выражения вида .*\.(php|phtml)$ здесь не работают; Google поддерживает только шаблоны * и $. См. официальную спецификацию.
Yoast SEO / Rank Math
Плагины генерируют sitemap. URL обычно:
https://example.com/sitemap_index.xml(Yoast)https://example.com/sitemap.xml(Rank Math)
1С-Битрикс
Стандартный пример
User-agent: *
Disallow: /bitrix/admin/
Disallow: /auth/
Disallow: /personal/
Disallow: /search/
Disallow: /?logout=
Disallow: /*?*utm_
Allow: /upload/
Sitemap: https://example.com/sitemap.xmlПояснения
| Директива | Причина |
|---|---|
Disallow: /bitrix/admin/ | Ограничение обхода админки |
Allow: /upload/ | Публичные загруженные изображения и файлы |
Disallow: /auth/ | Авторизация |
Disallow: /personal/ | Личный кабинет |
Disallow: /*?*utm_ | UTM-метки (дубли контента) |
Не закрывайте целиком /bitrix/, /local/ и /upload/: в них могут находиться публичные скрипты, стили и изображения товаров. Приватные файлы защищайте правами доступа на сервере, а не robots.txt.
Joomla
Стандартный пример
User-agent: *
Disallow: /administrator/
Disallow: /installation/
Disallow: /logs/
Disallow: /temp/
Disallow: /tmp/
Disallow: /?format=
Disallow: /search/
Allow: /images/
Allow: /media/
Sitemap: https://example.com/sitemap.xmlПояснения
| Директива | Причина |
|---|---|
Disallow: /administrator/ | Админка |
Disallow: /temp/, /tmp/ | Временные файлы |
Disallow: /installation/ | Установщик (удалить после установки) |
Disallow: /?format= | Альтернативные форматы (print, feed) |
Allow: /images/, /media/ | Изображения и медиа |
Не закрывайте публичные ресурсы шаблона и расширений. URL компонентов могут содержать нужные страницы, поэтому запрет всего /component/ нельзя считать универсальным правилом.
ModX / Evolution CMS
User-agent: *
Disallow: /assets/export/
Disallow: /assets/import/
Disallow: /core/
Disallow: /manager/
Sitemap: https://example.com/sitemap.xmlOpenCart
User-agent: *
Disallow: /admin/
Disallow: /system/
Disallow: /download/
Disallow: /index.php?route=checkout/
Disallow: /index.php?route=account/
Disallow: /*?sort=
Disallow: /*?order=
Disallow: /*?limit=
Allow: /image/
Sitemap: https://example.com/index.php?route=extension/feed/google_sitemapПроверка и генерация
После настройки проверьте robots.txt:
- Откройте
https://example.com/robots.txtв браузере - Убедитесь, что нет синтаксических ошибок
- Проверьте, что нужные страницы не закрыты случайно
Используйте Анализатор robots.txt reChecker для проверки директив и выявления конфликтов.
Специальные правила для роботов
Googlebot
User-agent: Googlebot
Disallow: /admin/
Allow: /admin/public/
User-agent: *
Disallow: /admin/Yandex
User-agent: Yandex
Disallow: /personal/
Disallow: /search/Поддержку дополнительных директив проверяйте по документации конкретного робота. Google не поддерживает Crawl-delay; эта директива не управляет HTTP-кэшем.
Итог
Каждая CMS имеет свои служебные URL: например, /wp-admin/, /bitrix/admin/ и /administrator/. Используйте примеры как основу, проверьте важные страницы и публичные ресурсы через анализатор robots.txt. Для исключения доступной страницы из индекса используйте noindex при разрешённом обходе; закрытые разделы защищайте авторизацией. Это различие объясняет руководство Google по robots.txt.