Урок 04

Disallow и Allow: правила и синтаксис

Основы

Disallow — запретить обход. Allow — разрешить обход.

Применяются к:

  • Всему сайту (/).
  • Папкам (/admin/).
  • Файлам (/secret.html).
  • Шаблонам (/*?sort=).

Правило: без явного Allow действует Disallow.

Базовый синтаксис

User-agent: *
Disallow: /admin/
Disallow: /private/
Allow: /

Что происходит:

  • Всё разрешено.
  • Кроме /admin/ и /private/.

Разрешить всё

User-agent: *
Disallow:

Пустой Disallow — всё разрешено.

Правило: это по умолчанию, если нет других правил.

Запретить всё

User-agent: *
Disallow: /

Что делает: полностью закрывает сайт от обхода.

⚠️ Опасно:

  • Не использовать в проде.
  • Может остаться после тестов.
  • Проверять сразу.

Папки

Disallow: /admin/

Слэш в конце — закрыть всю папку.

Disallow: /admin

Без слэша — тоже закроет папку, но не рекомендуется — может закрыть лишнее (например, /administrator/).

Правило: всегда слэш в конце для папок.

Файлы

Disallow: /secret.pdf
Disallow: /README.md

Точный путь — конкретный файл.

Спецсимволы

* — любая последовательность символов:

Disallow: /*.pdf$
Disallow: /*?utm_
Disallow: /*?session

$ — конец URL:

Disallow: /*.php$

Что означает: закрыть URL, оканчивающиеся на .php.

? — любой один символ:

Disallow: /file?.html

⚠️ Не все роботы поддерживают ?.

Комбинации

Пример:

User-agent: *
Disallow: /catalog/
Allow: /catalog/iphone/
Disallow: /catalog/iphone/old/

Что происходит:

  • Весь каталог закрыт.
  • Но /catalog/iphone/ открыт.
  • Внутри — /old/ закрыт.

Правило: самый длинный путь — приоритет.

Приоритет правил

Порядок определения победителя:

  1. Длина совпадающего пути. Чем длиннее — тем приоритетнее.
  2. Если длины равны — побеждает Allow (по стандарту Яндекса и Google).
  3. Порядок в файле — не важен.

Пример:

Disallow: /a/
Allow: /a/b/
Disallow: /a/b/c/

Для URL /a/b/c/page: самое длинное — /a/b/c/ → закрыто.

Множественные User-agent

Один блок — один или несколько ботов:

User-agent: Googlebot
User-agent: YandexBot
Disallow: /admin/

Что делает: правило для обоих ботов.

Правило: разделять ботов, если правила разные.

Специфика Google

Google поддерживает:

  • * — wildcard.
  • $ — конец URL.
  • Allow — приоритет.
  • Игнорирует Crawl-delay.
  • Не поддерживает ?.
  • Не поддерживает Clean-param.

Проверка: GSC → Проверка robots.txt.

Специфика Яндекс

Яндекс поддерживает:

  • * — wildcard.
  • $ — конец URL.
  • Allow — приоритет.
  • Crawl-delay — учитывает.
  • Clean-param — только Яндекс.
  • Host — устарел, но знает.

Проверка: Вебмастер → Диагностика.

Типичные правила для сайтов

Интернет-магазин:

User-agent: *
Disallow: /admin/
Disallow: /cart/
Disallow: /checkout/
Disallow: /account/
Disallow: /search/
Disallow: /*?sort=
Disallow: /*?filter=
Disallow: /*?utm_
Allow: /catalog/
Allow: /product/
Sitemap: https://example.com/sitemap.xml

Блог:

User-agent: *
Disallow: /admin/
Disallow: /wp-admin/
Disallow: /search/
Disallow: /*?s=
Disallow: /tag/
Allow: /blog/
Sitemap: https://example.com/sitemap.xml

SaaS:

User-agent: *
Disallow: /admin/
Disallow: /app/
Disallow: /api/
Disallow: /settings/
Disallow: /billing/
Allow: /
Sitemap: https://example.com/sitemap.xml

Что закрывать всегда

Служебное:

  • Админка — /admin/, /wp-admin/.
  • Корзина — /cart/.
  • Чекаут — /checkout/.
  • Личный кабинет — /account/, /profile/.
  • API — /api/.
  • Авторизация — /login/, /register/.

Мусорное:

  • Поиск — /search/, ?s=.
  • Параметры — ?sort=, ?filter=, ?utm_.
  • Пагинация — ?page=.
  • Сессионные — ?sessionid=, ?PHPSESSID=.

Правило: закрывать служебное и мусор, не контент.

Что НЕ закрывать

Обязательно открыто:

  • CSS / JS — для рендера.
  • Картинки — для индекса.
  • Каталог — для SEO.
  • Блог — для трафика.
  • Товары / услуги — деньги.

⚠️ Ошибка закрытия CSS/JS → Google не рендерит → плохие сниппеты.

Проверка в реальном времени

GSC → Проверка robots.txt:

  1. Открой GSC.
  2. Настройки → Проверка robots.txt.
  3. Введи URL.
  4. Проверь, блокируется ли.

Вебмастер → Инструмент проверки URL.

Screaming Frog:

  • Config → Robots.txt.
  • Crawl — увидит блокировки.

Логи и анализ

Что смотреть:

  • Что закрыто — какие URL не обходятся.
  • Что робот ищет — какие обходит.
  • Ошибки — если правило некорректное.

Инструменты:

  • Log File Analyser (Screaming Frog).
  • Вебмастер → Статистика обхода.
  • GSC → Статистика сканирования.

Практика

1. Открой свой robots.txt.

2. Проверь, закрыто ли:

  • CSS / JS.
  • Каталог.
  • Блог.
  • Админка.

3. Исправь лишнее:

  • Открой важное.
  • Закрой служебное.

4. Проверь в GSC для 5 URL.

5. Проверь в Вебмастере для 5 URL.

6. Смотри логи за неделю.

7. Отключи закрытие AI-ботов или оставь осознанно.

Частые ошибки

1. Закрыть CSS:

Disallow: /css/

Решение: открыть.

2. Disallow без слэша:

Disallow: /admin

Решение: Disallow: /admin/.

3. Много *:

Случайно закрыть нужное

Решение: проверять.

4. Порядок в файле:

Надеяться, что порядок решает

Решение: длина пути.

5. Закрыть каталог:

Нет трафика

Решение: открыть.

6. Не закрыть ?sort=:

Тысячи дублей

Решение: закрыть.

7. Crawl-delay для Google:

Игнорирует

Решение: только для Яндекса.

8. Не проверять после деплоя:

Сломать индекс

Решение: GSC / Вебмастер.

Итог

  • Disallow — запрет, Allow — разрешение.
  • Слэш в конце для папок.
  • * и $ — wildcards.
  • Длина пути решает.
  • Allow > Disallow при равной длине.
  • Порядок в файле не важен.
  • Закрывать служебное и мусор.
  • Открывать CSS, JS, каталог.
  • Проверять через GSC / Вебмастер.
  • Логи — правда о поведении.

Дальше — Noindex и nofollow.