Иногда кажется, что файл robots.txt – это что-то загадочное, понятное лишь узким специалистам. На самом деле, разобраться в нём проще, чем может показаться на первый взгляд. Сегодня поговорим о ключевых директивах Disallow и Allow: что они означают, как работают и зачем их комбинировать. Постараюсь объяснить это без лишних терминов, чтобы вы могли легко применять полученные знания на практике.
Зачем нужен файл robots.txt
Файл robots.txt подсказывает поисковым роботам (например, Яндекса или Google), какие страницы на вашем сайте можно индексировать, а какие – нет. Когда бот приходит на сайт, он первым делом проверяет именно этот файл. Если вы правильно настроите директивы внутри него, поисковики будут обходить (или не обходить) нужные разделы, а сами вы сможете:
- Скрыть от индексации личные страницы, статистику, «черновые» материалы и другие не предназначенные для широкой публики файлы.
- Избежать дублирования страниц в поисковой выдаче.
- Оставить доступными для поиска важные страницы и разделы.
Ошибки в этом файле могут привести к серьёзным проблемам: поисковики закроют от индексации ключевые разделы, либо, наоборот, случайно откроют в выдаче конфиденциальную информацию. Так что настройке robots.txt стоит уделять особое внимание.

Директива Disallow
Что это и зачем нужна
Disallow – это директива, которая запрещает поисковым роботам индексировать указанные страницы или целые разделы. Допустим, у вас есть папка /admin с файлами администрирования. Вы не хотите, чтобы её содержимое «светилось» в поисковой выдаче. Тогда вы прописываете:
User-agent: Yandex
Disallow: /admin
Так робот Яндекса поймёт, что заходить в /admin не стоит. Аналогично можно закрыть статистику посещаемости, страницы с результатами поиска по сайту, временные папки или прочие внутренние документы.
Как задавать пути и примеры использования
Закрыть весь сайт:
User-agent: Yandex
Disallow: /
- Это крайняя мера, практически «полный стоп» для поисковиков: использовать стоит только в редких случаях (например, на этапе разработки).
Запретить доступ к разделу:
User-agent: Yandex
Disallow: /private-section
- Все страницы, путь которых начинается на /private-section, будут проигнорированы роботом.
Спрятать URL c параметрами (например, страница с результатами поиска):
User-agent: Yandex
Disallow: /search?
- Если ваш сайт генерирует страницы с GET-параметрами после вопросительного знака, вы можете исключить их целиком.
Часто встречаются ситуации, когда «запрещённые» ссылки есть, но в выдаче виднеется их копия без параметров. Чтобы глубже контролировать дублирование, специалисты также пользуются директивой Clean-param, но это уже дополнительная тема.
Директива Allow
Основной смысл и отличие от Disallow
Allow – команда разрешить индексировать, что бы там ни находилось. Если Disallow — это строгий охранник, который не пускает гостей на вечеринку, то Allow — это, наоборот, разрешение пройти и посмотреть, что внутри. Иногда в одном и том же блоке для конкретного поискового бота нужно запретить всё, кроме какого-то узкого раздела. Вот тут-то и выручает директива Allow.
Примеры разрешающих записей
Открыть весь сайт:
User-agent: Yandex
Allow: /
- Поисковик получает сигнал: «Все материалы доступны для индексации».
Разрешить доступ к файлу:
User-agent: Yandex
Allow: /document.pdf
Disallow: /
- Уведомляем робота, что весь сайт мы закрываем, но конкретному документу document.pdf разрешаем индексироваться.
Оставить для индекса отдельный раздел:
User-agent: Yandex
Allow: /images
Disallow: /
- Если вы хотите, чтобы картинки из папки /images были доступны поиску, а всё остальное – нет, делается именно так.
Как совмещать Disallow и Allow в одном файле
Часто возникает вопрос: «Что если одна и та же страница подходит под несколько директив?» Поисковик упорядочивает правила по длине (короткие пути идут первыми, длинные – после) и применяет их последовательно. При равной длине путей приоритет получает Allow.
Важная деталь о порядке записей
Многие думают, что решающую роль играет расположение директив в файле: мол, «строка выше — значит важнее». Однако для современных поисковиков важна длина пути в директории, а не фактическая позиция в документе. Сами поисковые боты, по сути, «пересортировывают» все ваши правила. И если какое-то правило оказалось в конце списка по длине пути, именно оно будет главенствующим для соответствующего URL.
Чтобы лучше это понять, рассмотрим пример:
User-agent: Yandex
Allow: /
Allow: /catalog/phones
Disallow: /catalog
Бот пересортирует так:
- Allow: / (короткий префикс «/»)
- Disallow: /catalog (длиннее на «catalog»)
- Allow: /catalog/phones (самый длинный префикс «catalog/phones»)
В итоге всё, что начинается с /catalog, закрыто, но /catalog/phones — открыто. Польза от такой механики в том, что вы можете точечно разрешить индексирование внутри общего «запрещённого» раздела.
Спецсимволы: * и $
При работе с Allow и Disallow часто используют два вспомогательных символа:
- * – значит «любой набор символов, включая пустой».
- $ – указывает на конец строки и отменяет «подстановку» символа * по умолчанию в конце правила.
С помощью * вы можете указать, что под определение подпадает целая группа страниц. Например, Disallow: /cgi-bin/*.aspx запретит все файлы с расширением .aspx внутри /cgi-bin.
Если же вы хотите закрыть только конкретный путь, а не «схожие» варианты, используйте $. Например:
Disallow: /example$
Запретит индексирование пути /example, но не затронет /example.html. А вот если вы напишете:
Disallow: /example
Робот закроет и /example, и /example.html, и любые варианты вида /example/something.

Частые ошибки и недоразумения
Перед составлением robots.txt важно учесть несколько моментов:
- Пустые директивы
- Disallow: без указания пути трактуется как Allow: /.
- Allow: без пути просто игнорируется ботом.
- Символ #
Всё, что следует за # в одной строке, считается комментарием и не влияет на работу директив. Будьте внимательны: случайно поставив Disallow: /#, можно «сломать» логику и закрыть вообще всё. - Пробелы в конце строки
Наличие случайного пробела в конце строки после пути может запутать бота, а то и вызвать неверную интерпретацию правила. Лучше избегать лишних пробелов. - Перестановка строк
Как мы уже обсуждали, поисковики не читают файл «сверху вниз» буквально. Они сортируют правила по длине. Поэтому расставьте их логично, не рассчитывая на силу конкретного порядка. - Дублированные записи
Если вы дублируете одну и ту же директиву с разными комментариями, это может ввести вас в заблуждение — в конце концов, будет применяться правило с более длинным (или более приоритетным) путём.
Практические советы
Перед тем как окончательно сформировать ваш robots.txt, советую провести небольшую «генеральную репетицию»:
- Составьте список того, что хотите открыть и закрыть для поисковиков.
Например: «Открыть статьи блога и изображения, запретить папку /internal-docs и статистику /stats». - Сгруппируйте пути: краткие, длинные, отдельные файлы, маски с *.
Так вы чётко увидите, какие директивы придётся использовать. - Пропишите директивы максимально конкретно:
Если есть подозрение, что URL может иметь параметры, учтите это. Если нужно закрыть только конкретное название файла, используйте $. - Проверьте конфликты. Если один раздел разрешён, но внутри него хочется «запретить» ещё что-то — помните о сортиовке правил по длине префиксов. Убедитесь, что бот действительно сделает то, что вы задумали.
- Проверьте на практике. Во многих сервисах веб-мастеров (например, Яндекс.Вебмастер) есть инструменты для проверки работы robots.txt. Загрузите туда файл и убедитесь, что страницы закрыты или открыты в соответствии с вашими планами.
Заключение
Директивы Disallow и Allow – это своеобразные «красный» и «зелёный» сигналы светофора для поисковых ботов. Правильное сочетание этих директив даёт вам полный контроль над тем, что именно попадёт в поисковую выдачу. Помните о спецсимволах, об особенностях сортировки правил и о том, что неверно заданный robots.txt может оставить ваш самый важный контент вне поля зрения поисковиков — или, наоборот, случайно открыть конфиденциальные данные.
Если всё настроить с умом, вы получите аккуратную, понятную структуру индексации, а пользователи в поиске увидят только те страницы, которые должны быть доступны. При кажущейся сложности, файл robots.txt — весьма удобный инструмент, который, при правильном использовании, избавит вас от лишних хлопот и сделает работу вашего сайта более эффективной.