Курс SEO продвижение → Что такое robots.txt

robots.txt — это маленький, но очень важный текстовый файл. Он лежит себе спокойно в корневом каталоге вашего сайта, типа как на входе в офис, и говорит поисковым роботам, куда им можно заходить, а куда — ни в коем случае. Представьте, что вы проводите экскурсию по своему сайту: robots.txt — это ваш экскурсовод, который шепчет на ушко каждому роботу: «Вот сюда можно, тут интересно. А сюда — лучше не надо, там пока бардак». Это, по сути, набор инструкций для поисковых роботов. Без него они будут шататься по вашему сайту, как по пустым коридорам, и могут зайти туда, куда им совсем не следовало бы. И это, ну, не очень здорово для вашего сайта.

Для чего нужен robots.txt

Так, а зачем вообще эта вся история с robots.txt? Ну, причин несколько, и все они довольно весомые для любого, кто заботится о своём сайте и его позициях в поисковой выдаче. Во-первых, это контроль индексации. Это когда вы решаете, какие страницы вашего сайта должны попасть в Google, Яндекс и других поисковиков, а какие — нет. Бывают такие страницы, которые лучше не показывать. Например, служебные страницы: админка, настройки, личные кабинеты пользователей — это же не для всех. Или дубли страниц. Если у вас есть страницы с одинаковым контентом, поисковики могут посчитать это плохим знаком. Robots.txt поможет этого избежать. ещё, есть такие штуки, как конфиденциальная информация. Вы же не хотите, чтобы ваши личные данные или данные клиентов уплыли в общий поиск? Вот и не хотите. Поэтому robots.txt — ваш щит.

Ещё одна важная вещь — это краулинговый бюджет. Поисковые роботы тратят определенное время на сканирование вашего сайта. Если они будут копаться там, где не надо, они могут «устать» и не успеть просканировать важные для вас страницы. Robots.txt помогает им сосредоточиться на самом главном. И, конечно, это снижение нагрузки на сервер. Когда роботы не сканируют лишнее, ваш сервер меньше напрягается. А когда серверу легче, и ваш сайт работает быстрее. А когда сайт работает быстрее, и пользователи довольны, и поисковики тоже.

Вот, например, какие страницы точно стоит закрыть от индексации:

  • Страницы авторизации и регистрации.
  • Личные кабинеты пользователей.
  • Результаты поиска по сайту.
  • Страницы корзины и оформления заказа (если они уже оформлены).
  • Страницы с тестовым контентом или временными данными.

Это, ну, только верхушка айсберга, но уже понятно, что штука эта полезная.

Как работает robots.txt

Как вообще поисковые роботы понимают, что им делать с вашим robots.txt? Всё довольно просто, ну, относительно. Когда поисковый робот (вроде Googlebot или YandexBot) собирается просканировать ваш сайт, он в первую очередь ищет файл robots.txt. Он запрашивает его с той же директории, где и сам сайт находится. Нашел — отлично, прочитал. Не нашел — ну, значит, полная свобода действий, что, как мы уже поняли, не всегда хорошо. После того, как робот прочитал файл, он начинает действовать в соответствии с указанными там инструкциями. Это всё делается с помощью специальных директив.

Вот основные директивы, которые вы встретите в robots.txt:

  • User-agent: Эта директива указывает, к какому конкретно роботу относятся последующие правила. Например, User-agent: * означает, что правила действуют для всех роботов. А User-agent: Googlebot — только для робота Google.
  • Disallow: Это самая главная директива. Она говорит роботу: «Сюда не заходи!». Если вы напишете Disallow: /, то робот не сможет зайти ни на одну страницу вашего сайта. Это, конечно, крайний случай, но полезно знать.
  • Allow: А это наоборот, «можно заходить». Иногда используется, чтобы разрешить доступ к определенным файлам или папкам внутри запрещенной директории.
  • Sitemap: Эта директива указывает поисковому роботу, где находится карта вашего сайта. Это помогает роботу быстрее находить все важные страницы.

Важно понимать, что разные поисковые системы могут по-разному интерпретировать некоторые правила. Google и Яндекс, хоть и стараются быть похожими, всё же имеют свои особенности. Поэтому, если вы хотите, чтобы ваш robots.txt работал идеально для всех, нужно учитывать эти нюансы. Например, Яндекс, в отличие от Google, может игнорировать директиву Allow в некоторых случаях. Ну, мелочи, но их нужно знать.

Структура и синтаксис файла

Чтобы ваш robots.txt работал как часы, нужно правильно его составить. Это не какая-то там суперсложная магия, а просто набор правил, которые нужно соблюдать. Главное — это понять, как эти правила пишутся. Синтаксис файла robots.txt достаточно прост, но есть свои тонкости, которые могут сыграть злую шутку, если их пропустить. Все директивы пишутся с новой строки. Каждая директива состоит из названия, двоеточия и значения. Например: User-agent: *. Всё просто.

Вот какие основные элементы вы будете использовать:

  • User-agent: Как мы уже говорили, указывает, для какого робота правило.
  • Disallow: Запрещает доступ.
  • Allow: Разрешает доступ.
  • Sitemap: Указывает путь к карте сайта.
  • Clean-param: Используется для удаления параметров из URL, которые не влияют на контент страницы (например, UTM-метки). Это помогает избежать дублирования страниц.
  • Host: Указывает основной домен сайта (например, Host: https://marketello.org/). Яндекс использует эту директиву, чтобы понять, какой домен считать основным.

Ещё есть всякие спецсимволы, которые расширяют возможности. Например, звездочка * — это как «любое количество символов». Так можно, например, запретить доступ ко всем файлам с расширением .jpg: Disallow: /*.jpg. А знак доллара $ может использоваться для обозначения конца строки.

Комментарии, кстати, тоже можно добавлять. Для этого используется символ решетки #. Всё, что идет после этого символа в строке, игнорируется роботами. Это удобно, чтобы оставлять себе пометки, почему вы сделали именно так. А ещё, помните, что регистр имеет значение. Disallow и disallow — это разные вещи для некоторых роботов. Лучше писать всё в нижнем регистре, чтобы не было сюрпризов. И помните, что пути указываются относительно корневого каталога вашего сайта.

Важные директивы и их примеры

Давайте разберем самые полезные директивы подробнее, с примерами, чтобы было понятнее, как всё это работает на практике. Знание этих директив — это как иметь набор ключей к своему сайту, чтобы управлять доступом роботов.

Начнем с User-agent. Если вы хотите, чтобы правила действовали для всех роботов, без исключения, пишете:


User-agent: *

Если же вы хотите настроить что-то специально для Google, то так:


User-agent: Googlebot

Или для Яндекса:


User-agent: Yandex

Теперь самая популярная директива — Disallow. Чтобы запретить доступ ко всему сайту (ну, это редко нужно, но как пример):


Disallow: /

Чтобы запретить доступ к конкретному каталогу, например, к админке:


Disallow: /admin/

А если нужно запретить доступ к конкретному файлу:


Disallow: /private/file.html

Иногда бывает, что вы хотите запретить доступ ко всей папке, но разрешить к одному файлу внутри нее. Тут на помощь приходит Allow:


User-agent: *
Disallow: /private/
Allow: /private/public.html

Это значит, что все в папке /private/ запрещено, кроме файла public.html. Круто, да?

Директива Sitemap помогает поисковикам найти вашу карту сайта. Это такая XML-ка, где перечислены все важные страницы. Указывается так:


Sitemap: https://marketello.org/sitemap.xml

Важно использовать полный URL. Это, ну, значительно ускоряет индексацию. Эти примеры — основа, но с помощью спецсимволов можно создавать очень гибкие правила. Например, запретить все файлы с определенным расширением:


Disallow: /*.pdf$

Это запретит доступ ко всем PDF-файлам на сайте. Гибкость — это наше всё.

Robots.txt и другие поисковые системы

Мир интернета не ограничивается только Google и Яндексом. Есть ещё Bing, DuckDuckGo и куча других поисковых систем. И каждая из них может немного по-своему трактовать правила, прописанные в вашем robots.txt. Это, ну, такая особенность работы поисковиков. Конечно, основные директивы — User-agent, Disallow, Allow — работают почти везде одинаково. Но есть и нюансы.

Например, Яндекс больше внимания уделяет директиве Host, чтобы определить основной домен. Google, в свою очередь, может быть более строгим в отношении синтаксиса. Bing, например, может вообще не поддерживать некоторые более сложные директивы, вроде Clean-param. Поэтому, когда вы создаёте robots.txt, важно помнить о международной аудитории вашего сайта. Если вы хотите, чтобы ваш сайт хорошо ранжировался везде, старайтесь придерживаться максимально универсальных и простых правил.

Вот несколько общих рекомендаций, чтобы ваш robots.txt был понятен всем:

  • Используйте User-agent: * для общих правил.
  • Будьте осторожны с продвинутыми директивами, если не уверены в их поддержке всеми поисковиками.
  • Всегда проверяйте, как ваш robots.txt выглядит в инструментах для вебмастеров разных поисковых систем.

Это, ну, такая небольшая работа, но она окупается. Чем лучше ваш robots.txt настроен, тем меньше проблем с индексацией у вас будет.

Ограничения и подводные камни

Robots.txt — это, конечно, очень полезная штука, но важно понимать, что это не волшебная палочка, а скорее рекомендация. Поисковые роботы, конечно, стараются следовать этим инструкциям, но они не всегда работают как строгий запрет. Самый главный подводный камень: страницы, которые вы запретили для индексации в robots.txt, могут всё равно попасть в поиск, если на них есть внешние ссылки. Представьте, что кто-то дал ссылку на страницу вашего сайта, которую вы решили скрыть. Поисковик увидит эту ссылку, поймет, что страница существует, и может её проиндексировать, даже если в robots.txt написано «нельзя».

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

Ещё одна частая ошибка — блокировка CSS и JavaScript файлов. Если вы запретите роботам доступ к файлам стилей (CSS) или скриптов (JS), то они не смогут корректно отобразить и обработать вашу страницу. Поисковик увидит страницу, но не сможет понять, как она выглядит и работает. И это, ну, очень плохо скажется на вашем SEO. Поэтому, если вы не уверены, зачем блокируете CSS/JS, лучше этого не делать. Обычно эти файлы должны быть доступны для сканирования. Такие ошибки могут привести к тому, что ваша страница будет выглядеть как набор текста, и поисковик просто не поймет, о чем она, а значит, и не сможет её нормально ранжировать.

Так что, robots.txt — это мощный инструмент, но использовать его нужно с умом и пониманием всех его ограничений.

Как создать и протестировать robots.txt

Ну что, готовы сделать свой первый robots.txt? Это не сложнее, чем написать обычный текстовый документ. Берёте любой текстовый редактор: Блокнот, Notepad++, Sublime Text, что вам удобнее. Пишете туда свои правила, используя директивы, о которых мы говорили. Главное — сохранить файл под названием robots.txt. Именно так, с маленькой буквы и без всяких там расширений типа .txt в конце имени файла (сам файл — это .txt, но имя должно быть именно robots.txt). Сохранять нужно в кодировке UTF-8, чтобы не было проблем с русскими буквами, если вдруг решите написать комментарии.

После того, как вы написали свой файл, его нужно загрузить в корневой каталог вашего сайта. Это значит, что он должен быть доступен по адресу https://ваш-сайт.ru/robots.txt. Обычно для загрузки используют FTP-клиент или файловый менеджер в панели управления хостингом.

Но просто создать и загрузить — это полдела. Важно ещё и протестировать, всё ли работает правильно. Для этого есть отличные инструменты от самих поисковых систем. Google Search Console и Яндекс.Вебмастер — ваши лучшие друзья в этом деле. В каждом из них есть раздел «Проверка robots.txt». Вы можете ввести туда URL страницы, и система покажет, доступна ли она для робота или нет, согласно вашим правилам. Это, ну, очень удобно, чтобы быстро найти и исправить ошибки.

Вот, например, шаги для тестирования в Google Search Console:

  1. Зайдите в Google Search Console.
  2. Выберите свой сайт.
  3. В меню слева найдите раздел «Сканирование» -> «robots.txt».
  4. Там вы увидите свой файл robots.txt и сможете проверить его на ошибки, а также протестировать отдельные URL.

В Яндекс.Вебмастере процесс похожий. Это, ну, такие простые действия, но они помогут избежать серьезных проблем с индексацией.

Частые ошибки и как их исправить

Часто, даже имея файл robots.txt, вебмастера допускают ошибки, которые могут негативно сказаться на SEO. Давайте разберем самые типичные проблемы и как их быстро решить. Ошибок, на самом деле, хватает, и они могут быть очень коварными. Например, банальное отсутствие файла robots.txt на сайте. Это, ну, как не поставить замок на дверь — каждый, кто захочет, может войти. Вроде бы и не ошибка, но упускается возможность управлять индексацией.

Вот таблица с самыми частыми проблемами:

Ошибка Описание Как исправить
Disallow: / без Allow Полностью блокирует доступ всех поисковых роботов к сайту. Страницы не будут индексироваться. Удалите эту строку или добавьте конкретные Allow директивы для важных разделов.
Неправильный синтаксис Опечатки в названиях директив, отсутствие двоеточий, лишние пробелы. Проверьте каждую строку на соответствие стандартам. Используйте онлайн-валидаторы.
Блокировка CSS/JS файлов Роботы не могут правильно отобразить страницу, что ухудшает её оценку поисковиками. Удалите директивы, блокирующие доступ к папкам с CSS и JS файлами.
Некорректные пути Указание несуществующих директорий или файлов. Проверьте актуальную структуру вашего сайта и исправьте пути.
Отсутствие Sitemap Роботам сложнее найти все страницы сайта. Добавьте директиву Sitemap: [URL вашей карты сайта].
Большой файл robots.txt Слишком много правил, которые трудно читать и обрабатывать. Оптимизируйте правила, объединяйте схожие, удаляйте лишнее.

Знание этих ошибок поможет вам избежать проблем и сделать ваш robots.txt максимально эффективным. Это, ну, инвестиция в будущее вашего сайта.

Robots.txt для популярных CMS

Если вы используете популярную CMS (систему управления контентом), вроде WordPress, 1С-Битрикс, Joomla или OpenCart, то вам повезло — для них часто уже есть готовые рекомендации или даже встроенные шаблоны robots.txt. Это, ну, очень упрощает жизнь. Стандартные настройки CMS часто включают в себя блокировку служебных страниц, которые не должны попадать в поисковую выдачу. Например, в WordPress часто блокируют доступ к файлам типа wp-admin или wp-login.php.

Вот несколько примеров, как может выглядеть robots.txt для популярных CMS:

  • WordPress: Обычно в файле присутствуют директивы, блокирующие доступ к папкам админки, файлам плагинов и тем, а также к некоторым служебным файлам.
  • 1С-Битрикс: Здесь часто блокируют доступ к папкам административной части, к страницам поиска, авторизации и другим служебным разделам.
  • Joomla: Также блокируются служебные разделы, например, administrator.

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

Когда robots.txt не нужен

А бывают ли случаи, когда этот файл robots.txt вообще не нужен? Да, бывают. Например, если у вас очень простой сайт, состоящий из одной-двух страниц, и вы хотите, чтобы всё на нем было открыто для индексации. Тогда, ну, можно и обойтись без него. Или, например, если ваш сайт — это какой-то внутренний инструмент, который вообще не должен попадать в публичный поиск. В таких случаях, возможно, вам вообще не нужен robots.txt, или он может быть пустым.

Но тут есть нюанс. Даже если вы хотите, чтобы все было открыто, отсутствие robots.txt может привести к тому, что роботы будут сканировать всё подряд, включая страницы, которые вы, возможно, позже захотите скрыть. Поэтому, даже пустой файл robots.txt (то есть, просто файл с парой строк User-agent: * и Disallow:) может быть полезен, чтобы показать поисковикам, что вы контролируете процесс. Это, ну, такой сигнал: «Я здесь, я всё вижу, я всё контролирую».

Если же ваш сайт уже защищен другим, более надежным способом — например, парольная защита на уровне сервера или авторизация для доступа к контенту — то robots.txt может быть лишним. Но даже в этом случае, лучше перестраховаться и иметь файл, который явно указывает, что всё должно быть доступно. В общем, robots.txt — это как страховка. Не всегда нужна, но когда нужна — очень спасает. Для простых сайтов, где всё открыто, можно, ну, не заморачиваться, но для более-менее крупных проектов — лучше иметь.

Твои коллеги будут рады, поделись в

Автор урока

Дмитрий Комаровский
Дмитрий Комаровский

Автоматизация процессов
в КраснодарБанки.ру

Marketello читают маркетологи из крутых компаний