Для чего нужен файл robots.txt? Как его настроить и проверить
Файл robots.txt — это текстовый документ в корневом каталоге сайта с информацией для поисковых роботов о том, какие URL (на которых расположены страницы, файлы, папки, прочее) стоит сканировать, а какие — нет. Наличие этого файла не является обязательным условием для работы ресурса, но в то же время правильное его заполнение лежит в основе SEO.
Решение об использовании robots.txt было принято еще в 1994 году в рамках «Стандарта исключений для роботов». Согласно справке Google, файл предназначен не для запрета показа веб-страниц в результатах поиска, а для ограничения количества запросов роботов к сайту и снижения нагрузки на сервер.
В целом содержимое robots.txt стоит отнести к разряду рекомендаций поисковым ботам, задающих правила сканирования страниц сайта. Чтобы увидеть содержимое robots.txt на любом сайте, нужно добавить к имени домена в браузере /robots.txt.
Для чего используют robots.txt?
К основным функциям документа можно отнести закрытие от сканирования страниц и файлов ресурса в целях рационального расхода краулингового бюджета. Чаще всего закрывают информацию, которая не несет ценности для пользователя и не влияет на позиции сайта в поиске.
Примечание. Краулинговый бюджет — количество страниц сайта, которое может просканировать поисковый робот. Для его экономии стоит направлять робота только к самому важному содержимому ресурса, закрывая доступ к малополезной информации. |
Какие страницы и файлы закрывают с помощью robots.txt
1. Страницы с персональными данными.
Это могут быть имена и телефоны, которые посетители указывают при регистрации, страницы личного кабинета, номера платежных карт. В целях безопасности доступ к этой информации стоит дополнительно защищать паролем.
2. Вспомогательные страницы, которые появляются только при определенных действиях пользователя.
К ним можно отнести сообщения об успешно оформленном заказе, клиентские формы, страницы авторизации или восстановления пароля.
3. Админпанель и системные файлы.
Внутренние и служебные файлы, с которыми взаимодействует администратор сайта или вебмастер.
4. Страницы поиска и сортировки.
На страницы, которые отображаются по запросу, указанному в окне поиска на сайте, как правило, ставят запрет сканирования. Это же относится к результатам сортировки товаров по цене, рейтингу и другим критериям. Исключением могут быть сайты-агрегаторы.
5. Страницы фильтров.
Результаты, которые отображаются после применения фильтров (размер, цвет, производитель и т.д.), являются отдельными страницами и могут быть расценены как дубли контента. SEO-специалисты, как правило, ограничивают их сканирование, за исключением ситуаций, когда они приносят трафик по брендовым и другим целевым запросам.
6. Файлы определенного формата.
К ним могут относиться фото, видео, PDF-документы, JS-скрипты. С помощью robots.txt можно ограничивать сканирование файлов как по отдельности, так и по определенному расширению.
Как создать и где разместить robots.txt?
Инструменты для настройки robots txt
Поскольку документ имеет расширение .txt, для его создания подойдет любой текстовый редактор с поддержкой кодировки UTF-8. Самый простой вариант — Блокнот (Windows) или TextEdit (Mac).
Также можно использовать генератор robots.txt. Некоторые сайты предоставляют бесплатные инструменты создания на основании заданных вами условий.
Название и размер документа
Имя файла robots.txt должно выглядеть именно так, без использования заглавных букв. Допустимый размер документа согласно рекомендациям Google — 500 КиБ. При превышении лимита робот может обработать документ частично, воспринять как полный запрет сканирования или, наоборот, пройтись по всему содержимому ресурса.
Где разместить файл
Документ находится в корневом каталоге на хостинге и доступ к нему возможен через FTP. Перед внесением изменений рекомендуется сначала скачать robots.txt в исходном виде.
Синтаксис и директивы robots.txt
Теперь разберем синтаксис robots.txt, состоящий из директив (правил), параметров (страниц, файлов, каталогов) и специальных символов, а также функции, которые они выполняют.
Общие требования к содержимому файла
1. Каждая директива должна начинаться с новой строки и формироваться по принципу: одна строка = одна директива + один параметр.
Ошибка | User-agent: * Disallow: /folder-1/ Disallow: /folder-2/ |
Правильно | User-agent: *
Disallow: /folder-1/ Disallow: /folder-2/ |
2. Названия файлов с использованием кириллицы и других алфавитов, отличных от латинского, следует преобразовать с помощью конвертера Punycode.
Ошибка | User-agent: Disallow: /папка-с-контактами/ |
Правильно | Disallow: /xn—–6kcaca0dkdbximhb9avc/ |
3. В синтаксисе параметров необходимо придерживаться соответствующего регистра. Если имя папки начинается с большой буквы, название с маленькой буквы дезориентирует робота. И наоборот.
Ошибка | User-agent: Disallow: /folder/ |
Правильно | Disallow: /Folder/ |
4. Недопустимо использование пробела в начале строки, кавычек для директив или точек с запятой после них.
Ошибка | User-agent: Disallow: /folder-1/;
Disallow: /“folder-2”/ |
Правильно | Disallow: /folder-1/
Disallow: /folder-2/ |
5. Если robots.txt пустой или недоступен, он может быть воспринят как разрешение на сканирование всего сайта. Для успешной обработки файла роботом ожидаемый ответ сервера — 200 ОК.
Символы файла robots.txt
Рассмотрим основные символы файла и их значения.
Слэш (/) — его добавляют после команды, перед названием файла или директории (папки, раздела). Если нужно закрыть всю директорию, после ее названия также ставят «/».
Disallow: /search/
Disallow: /standards.pdf
Звездочка (*) — маска, которая определяет условие, действующее «для всех».
User-Agent: * — правила будут действовать для всех роботов.
Disallow: /*videos/ — запрещает обход всех ссылок сайта, содержащих /videos/.
Знак доллара ($) — ограничение знака звездочки * в отношении URL-адресов ресурса. Например, содержимое сайта или отдельного файла закрыто, но ссылки, содержащие указанное название, остаются доступными.
Disallow: /*folder-1/$
Решетка или хэш (#) — любой текст после этого символа считается комментарием и не учитывается роботом.
#эту информацию робот не увидит.
Директивы файла robots.txt
Отличия директив для разных поисковых систем
Ниже представлена наглядная таблица с директивами, актуальными для разных поисковых систем, в том числе менее популярных Bing и Yahoo. Эта информация тоже может пригодиться.
ДИРЕКТИВЫ | BING | YAHOO! | |
User-agent | + | + | + |
Disallow | + | + | + |
Allow | + | + | + |
Sitemap | + | + | + |
Crawl-delay | – | + | + |
Еще одна особенность — файл robots.txt может содержать одинаковые инструкции для поисковых систем, но роботы могут по-разному их воспринимать.
Директивы для Google
- User-agent
Является обязательной директивой, определяющей поискового бота, для которого действуют указанные ниже правила. Если ботов несколько, каждая группа правил начинается с этой команды.
Пример
User-agent: * — инструкции предназначены для всех существующих роботов.
User-agent: Googlebot — обращение к роботу Google.
- Disallow
Ключевая команда, обозначающая запрет сканирования. Названия файлов и папок, к которым нужно ограничить доступ, указывают после символа «/».
Пример 1. Указание разных параметров после Disallow.
disallow: /ссылка на страницу — закрытие доступа к конкретному URL-адресу.
disallow: /имя папки/ — закрытие доступа к папке.
disallow: /картинка/ — закрытие доступа к изображению.
disallow: / — отсутствие каких-либо указаний после «/» говорит о том, что сайт полностью закрыт от сканирования. Это может пригодиться на этапе разработки.
Пример 2. Запрет сканирования всех pdf-файлов сайта.
User-agent: Googlebot
Disallow: /*.pdf
- Allow
В файле robots Allow выполняет противоположную Disallow задачу, разрешая доступ к содержимому сайта. Обе команды обычно используют в связке, когда нужно открыть путь только к определенной части информации, например, к одной фотографии в скрытой директории медиафайлов.
Пример. Использование Allow для сканирования одного изображения в закрытом альбоме.
Указываем директорию Allow, URL изображения и в другой строке Disallow c названием папки, где лежит файл.
Allow: /album/picture1.jpg
Disallow: /album/
- Sitemap
Команда sitemap в robots.txt указывает на путь к карте сайта. Если карта имеет стандартное название, лежит в корневом каталоге и доступна, как и robots.txt, по ссылке «имя сайта»/sitemap.xml, директиву можно не добавлять.
Пример
Sitemap: https://website.com/sitemap2020.xml
Когда используют метатег robots
Если контент сайта нужно скрыть из результатов поиска, файла robots.txt будет недостаточно. Запрет индексирования страниц роботом реализуют с помощью метатега robots, который добавляют в заголовок <head> html-кода страницы. Директива noindex сообщает, что текст страницы индексировать нельзя. Еще один способ ограничить попадание страницы в индекс — указать ее URL в теге X-Robots-Tag файла конфигурации ресурса.
Пример для закрытия на уровне страницы
<head> <meta name=“robots” content=“noindex”> </head>
Какими бывают поисковые роботы?
Поисковой робот — это специальная программа, которая сканирует страницы ресурса и заносит их в базу данных поисковой системы. В Google есть несколько ботов, которые отвечают за разные типы контента.
Виды роботов Google
- Googlebot: бот для сканирования сайтов для ПК и мобильный устройств
- Googlebot Image: отвечает за показ изображений сайта в разделе «Картинки»
- Googlebot Video: отвечает за сканирование и отображение видео
- Googlebot News: отбирает самые полезные и качественные статьи для раздела «Новости»
- AdSense: оценивает сайт как рекламную платформу с точки зрения релевантности объявлениям
Полный список роботов Google (агентов пользователей) перечислен в официальной Справке.
Для других поисковых систем систем актуальны такие роботы: Bingbot в Bing, Slurp в Yahoo, Baiduspider в Baidu — но на этом список не заканчивается. На сайте по ссылке перечислено 302 бота.
Кроме поисковых роботов сайт могут сканировать краулеры аналитических ресурсов, например, Ahrefs или Screaming Frog. Их программное обеспечение работает по тому же принципу, что и поисковик — парсинг URL для занесения в собственную базу.
Боты, от которых сайт следует закрыть:
- вредоносные парсеры (спам-боты, собирающие адреса электронной почты клиентов, вирусы, DoS- и DDoS-атаки и другие);
- боты других компаний, мониторящих информацию с целью дальнейшего использования в своих целях (цены, контент, SEO-методы и т.д.).
Если вы примите решения закрыть сайт от указанных выше роботов, лучше использовать не robots.txt, а файл .htaccess. Второй способ надежнее, так как он ограничивает доступ не в качестве рекомендации, а на уровне сервера.
SetEnvIfNoCase User-Agent "имя бота-1" search_bot SetEnvIfNoCase User-Agent "имя бота-2" search_bot
Команду нужно указывать внизу файла .htaccess. Запрет сканирования для каждого робота должен быть указан в отдельной строке.
Если же все-таки решите использовать robots.txt, укажите в нем всех названия всех в таком формате:
User-agent: [название бота]
Disallow: /
Таким образом вы ограничите доступ роботов ко всем страницам сайта.
В конце статьи вы найдете шпаргалку со списком роботов, которым вы возможно хотели бы ограничить доступ к своему сайту, чтобы они не собирали информацию о вашем ресурсе. Список не исчерпывающий — вы можете добавить в него других ботов.
Решение блокировать определенного бота и нет рекомендуем принимать исходя из ваших индивидуальных потребностей. Например, если вы пользуетесь каким-то сервисом, конечно же, вам стоит дать его боту возможность сканировать ваш сайт.
Пример содержимого robots.txt
Шаблон файла с актуальными директивами поможет составить правильный robots.txt, с указанием нужных роботов и ограничением доступа к файлам сайта.
User-agent: [название бота]
Disallow: /[путь к файлу или папке]/
Disallow: /[путь к файлу или папке]/
Disallow: /[путь к файлу или папке]/
Sitemap: [URL карты сайта]
Теперь посмотрим примеры содержимого файлов robots.txt на разных сайтах.
Ниже приведен минималистичный вариант:
В следующем примере мы видим список директорий сайта, страниц с utm-метками и GET-параметрами, которые закрыты для сканирования. Для некоторых ботов созданы отдельные группы, в целом запрещающие обход сайта (AhrefsBot, SemrushBot и др.):
Как проверить файл robots.txt
Иногда ошибки в файле robots.txt могут привести не только к исключению из индексации важных страниц, но и к попаданию всего ресурса в невидимую для поисковиков зону. Для вебмастеров в Google есть сервисы для анализа robots.txt.
Опция проверки файла robots.txt отсутствует в новом интерфейсе Google Search Console. Теперь можно проверять индексацию страниц по отдельности (Проверка URL) или же отправлять запросы на удаление URL (Индекс — Удаления). Перейти к «Инструменту поверки файлов robots.txt» можно напрямую.
Как еще можно использовать robots.txt?
Содержимое robots.txt может включать не только список директив для обращения к поисковым системам. Поскольку файл является общедоступным, некоторые компании подходят к его созданию творчески и с юмором. Иногда там можно обнаружить картинку, логотип бренда и даже предложение о работе. Реализация нестандартного robots.txt осуществляется с помощью комментариев # и других символов.
Так выглядит robots.txt интернет-магазина компании Nike:
Пользователи, которых заинтересовал robots.txt сайта, вероятнее всего разбираются в оптимизации. Поэтому документ может быть дополнительным способом поиска SEO-специалистов.
На сайте TripAdvisor:
На сайте маркетплейса Esty:
Выводы
- Файл robots.txt — это рекомендация роботам, какие страницы сканировать, а какие нет.
- С помощью robots.txt запрет индексации настроить нельзя, но можно увеличить шансы сканирования или игнорирования роботом определенных документов или файлов.
- Скрытие малополезного содержимого сайта с помощью директивы disallow позволяет экономить краулинговый бюджет. Это актуально и для многостраничных, и для небольших сайтов.
- Для создания файла robots.txt достаточно простого текстового редактора, а для проверки — Google Search Console.
- Название файла robots.txt должно состоять из маленьких букв и не превышать в размере 500 Кб.
Шпаргалка: Список роботов для вашего файла robots.txt
User-agent: Baiduspider Disallow: / User-agent: sogou spider Disallow: / User-agent: YodaoBot Disallow: / User-Agent: SputnikBot Disallow: / User-agent: moget Disallow: / User-agent: ichiro Disallow: / User-agent: NaverBot Disallow: / User-agent: Yeti Disallow: / User-agent: oBot Disallow: / User-agent: AddThis Disallow: / User-agent: wotbox Disallow: / User-agent: Embedly Disallow: / User-agent: 200PleaseBot Disallow: / User-agent: PaperLiBot Disallow: / User-agent: Genieo Disallow: / User-agent: ShowyouBot Disallow: / User-agent: TweetmemeBot Disallow: / User-agent: SemrushBot Disallow: / User-agent: SemrushBot-SA Disallow: / User-agent: AhrefsBot Disallow: / User-agent: Exabot Disallow: / User-agent: SurveyBot Disallow: / User-agent: sistrix Disallow: /User-agent: MJ12bot Disallow: /User-agent: BDCbot Disallow: / User-agent: BDCbot/1.0 Disallow: / User-agent: rogerbot Disallow: / User-agent: spbot Disallow: / User-agent: linkdexbot Disallow: / User-agent: 360Spider Disallow: / User-agent: 360Spider-Image Disallow: / User-agent: 360Spider-Video Disallow: / User-agent: CCBot Disallow: / User-agent: HaoSouSpider Disallow: / User-agent: dotbot Disallow: / User-agent: grapeshot Disallow: / User-agent: proximic Disallow: / User-agent: LinkpadBot Disallow: / User-agent: Sunrise Disallow: / User-agent: Butterfly Disallow: / User-agent: Linguee Bot Disallow: / User-agent: TwengaBot-2.0 Disallow: / User-agent: TurnitinBot Disallow: / User-agent: BLEXBot Disallow: / User-agent: 008 Disallow: / User-agent: AMZNKAssocBot/4.0 Disallow: / User-agent: NerdyBot Disallow: / User-agent: trovitBot Disallow: / User-agent: ShopWiki Disallow: / User-agent: 007ac9 Disallow: / User-agent: SiteExplorer Disallow: / User-agent: XoviBot Disallow: / User-agent: SMTBot Disallow: / User-agent: meanpathbot Disallow: / User-agent: MixrankBot Disallow: / User-agent: EasouSpider Disallow: / User-agent: Riddler Disallow: / User-agent: SeznamBot Disallow: / User-agent: Swiftbot Disallow: / User-agent: Qwantify Disallow: / User-agent: psbot Disallow: / User-agent: CrazyWebCrawler-Spider Disallow: / User-agent: HyperCrawl Disallow: / User-agent: daumoa Disallow: / User-agent: coccoc Disallow: / User-agent: netseer Disallow: / User-agent: BacklinkCrawler Disallow: / User-agent: Alexabot Disallow: / User-agent: SurdotlyBot Disallow: / User-agent: MegaIndex.ru/2.0 Disallow: / User-agent: MegaIndex.ru Disallow: / User-agent: yacybot Disallow: / User-agent: QuerySeekerSpider Disallow: / User-agent: WBSearchBot Disallow: / User-agent: DeuSu Disallow: / User-agent: TDJBOT Disallow: / User-agent: Findxbot/1.0 Disallow: / User-agent: Findxbot Disallow: / User-agent: Y! J-ASR Disallow: / User-agent: InfoWeb Disallow: / User-agent: Nutch Bots Disallow: / User-agent: Python-urllib Disallow: / User-agent: Ezooms Disallow: / User-agent: UnwindFetchor Disallow: / User-agent: Flipboard Disallow: / User-agent: voltron Disallow: / User-agent: IstellaBot Disallow: / User-agent: silk Disallow: / User-agent: Wget Disallow: / User-agent: UptimeRobot Disallow: / User-agent: UptimeRobot/2.0 Disallow: / User-agent: ScreenerBot Disallow: / User-agent: SearchmetricsBot Disallow: / User-agent: WeSEE Disallow: / User-agent: linkdexbot/2.0 Disallow: / User-agent: linkdexbot/2.1 Disallow: / User-agent: linkdexbot/2.2 Disallow: / User-agent: Uptimebot Disallow: / User-agent: Uptimebot/1.0 Disallow: / User-agent: Lipperhey Disallow: / User-agent: ltx71 Disallow: / User-agent: Python-urllib/2.7 Disallow: / User-agent: Sogou web spider/4.0 Disallow: / User-agent: Baiduspider/2.0 Disallow: / User-agent: PrivacyAwareBot/1.1 Disallow: / User-agent: yoozBot-2.2 Disallow: / User-agent: wget Disallow: / User-agent: tweetmeme Disallow: / User-agent: DoCoMo/2.0 Disallow: / User-agent: ichiro/4.0 Disallow: / User-agent: ichiro/3.0 Disallow: / User-agent: TwengaBot-Discover Disallow: / User-agent: TwengaBot/2.0 Disallow: / User-agent: TwengaBot Disallow: / User-agent: bendercrawler Disallow: / User-agent: baidu Disallow: / User-agent: bsalsa Disallow: / User-agent: phpservermon/3.1.1 Disallow: / User-agent: Gluten Free Crawler/1.0 Disallow: / User-agent: Gluten Free Crawler Disallow: / User-agent: Sogou Pic Spider/3.0 Disallow: / User-agent: Sogou head spider/3.0 Disallow: / User-agent: Sogou Orion spider/3.0 Disallow: / User-agent: Sogou-Test-Spider/4.0 Disallow: / User-agent: Sogou Pic Agent Disallow: / User-agent: Baiduspider+ Disallow: / User-agent: Baiduspider-video Disallow: / User-agent: Baiduspider-image Disallow: / User-agent: YoudaoBot/1.0 Disallow: / User-agent: ChangeDetection Disallow: / User-agent: SurdotlyBot Disallow: / User-agent: libwww-perl Disallow: / User-agent: MojeekBot Disallow: / User-agent: Sogou web spider Disallow: /