Анализ файлов robots.txt крупнейших сайтов

http://www.benfrederickson.com/robots-txt-analysis/
  • Перевод
Robots.txt указывает веб-краулерам мира, какие файлы можно или нельзя скачивать с сервера. Он как первый сторож в интернете — не блокирует запросы, а просит не делать их. Интересно, что файлы robots.txt проявляют предположения веб-мастеров, как автоматизированным процессам следует работать с сайтом. Хотя бот легко может их игнорировать, но они указывают идеализированное поведение, как следует действовать краулеру.

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

Я взял список 1 млн крупнейших сайтов от Alexa и написал маленькую программу для скачивания файла robots.txt с каждого домена. После скачивания всех данных я пропустил каждый файл через питоновский пакет urllib.robotparser и начал изучать результаты.


Найдено в yangteacher.ru/robots.txt

Огороженные сады: банят всех, кроме Google


Среди моих любимых питомцев — сайты, которые позволяют индексировать содержимое только боту Google и банят всех остальных. Например, файл robots.txt сайта Facebook начинается со следующих строк:

Notice: Crawling Facebook is prohibited unless you have express written permission. See: http://www.facebook.com/apps/site_scraping_tos_terms.php
(Предупреждение: Краулинг Facebook запрещён без письменного разрешения. См. http://www.facebook.com/apps/site_scraping_tos_terms.php)

Это слегка лицемерно, потому что сам Facebook начал работу с краулинга профилей студентов на сайте Гарвардского университета — именно такого рода активность они сейчас запрещают всем остальным.

Требование письменного разрешения перед началом краулинга сайта плюёт в лицо идеалам открытого интернета. Оно препятствует научным исследованиям и ставит барьер для развития новых поисковых систем: например, поисковику DuckDuckGo запрещено скачивать страницы Facebook, а поисковику Google можно.

В донкихотском порыве назвать и посрамить сайты, которые проявляют такое поведение, я написал простой скрипт, который проверяет домены и определяет тех, которые внесли Google в белый список тех, кому разрешено индексировать главную страницу. Вот самые популярные из этих доменов:


оригинальной статье указаны также аналогичные списки китайских, французских и немецких доменов — прим. пер.)

Я включил в таблицу пометку, позволяет ли сайт ещё DuckDuckGo индексировать свою заглавную страницу, в попытке показать, насколько тяжело приходится в наши дни новым поисковым системам.

У большинства из доменов в верхней части списка — таких как Facebook, LinkedIn, Quora и Yelp — есть одно общее. Все они размещают созданный пользователями контент, который представляет собой главную ценность их бизнеса. Это один из их главных активов, и компании не хотят отдавать его бесплатно. Впрочем, ради справедливости, такие запреты часто представляются как защита приватности пользователей, как в этом заявлении технического директора Facebook о решении забанить краулеры или глубоко в файле robots.txt от Quora, где объясняется, почему сайт забанил Wayback Machine.

Далее по списку результаты становятся более противоречивыми — например, мне не совсем понятно, почему census.gov позволяет доступ к своему контенту только трём основным поисковым системам, но блокирует DuckDuckGo. Логично предположить, что данные государственных переписей принадлежат народу, а не только Google/Microsoft/Yahoo.

Хотя я не фанат подобного поведения, но вполне могу понять импульсивную попытку внести в белый список только определённые краулеры, если учесть количество плохих ботов вокруг.

Боты плохого поведения


Я хотел попробовать ещё кое-что: определить самые плохие веб-краулеры в интернете, с учётом коллективного мнения миллиона файлов robots.txt. Для этого я подсчитал, сколько разных доменов полностью банят конкретный useragent — и отранжировал их по этому показателю:
user-agent Тип Количество
MJ12bot SEO 15156
AhrefsBot SEO 14561
Baiduspider Поисковая система 11473
Nutch Поисковая система 11023
ia_archiver SEO 10477
WebCopier Архивация 9538
WebStripper Архивация 8579
Teleport Архивация 7991
Yandex Поисковая система 7910
Offline Explorer Архивация 7786
SiteSnagger Архивация 7744
psbot Поисковая система 7605
TeleportPro Архивация 7063
EmailSiphon Спамерский скрапер 6715
EmailCollector Спамерский скрапер 6611
larbin Неизвестно 6436
BLEXBot SEO 6435
SemrushBot SEO 6361
MSIECrawler Архивация 6354
moget Неизвестно 6091

В списке боты нескольких определённых типов.

Первая группа — краулеры, которые собирают данные для SEO и маркетингового анализа. Эти фирмы хотят получить как можно больше данных для своей аналитики — генерируя заметную нагрузку на многие сервера. Бот Ahrefs даже хвастается: «AhrefsBot — второй самый активный краулер после Googlebot», так что вполне понятно, почему люди хотят заблокировать этих надоедливых ботов. Majestic (MJ12Bot) позиционирует себя как инструмент конкурентной разведки. Это значит, что он скачивает ваш сайт, чтобы снабдить полезной информацией ваших конкурентов — и тоже на главной странице заявляет о «крупнейшем в мире индексе ссылок».

Вторая группа user-agents — от инструментов, которые стремятся быстро скачать веб-сайт для персонального использования в офлайне. Инструменты вроде WebCopier, Webstripper и Teleport — все они быстро скачивают полную копию веб-сайта на ваш жёсткий диск. Проблема в скорости многопоточного скачивания: все эти инструменты очевидно настолько забивают трафик, что сайты достаточно часто их запрещают.

Наконец, есть поисковые системы вроде Baidu (BaiduSpider) и Yandex, которые могут агрессивно индексировать контент, хотя обслуживают только языки/рынки, которые не обязательно очень ценны для определённых сайтов. Лично у меня оба эти краулера генерируют немало трафика, так что я бы не советовал блокировать их.

Объявления о работе


Это знак времени, что файлы, которые предназначены для чтения роботами, часто содержат объявления о найме на работу разработчиков программного обеспечения — особенно специалистов по SEO.

В каком-то роде это первая в мире (и, наверное, единственная) биржа вакансий, составленная полностью из описаний файлов robots.txt. оригинальной статье представлены тексты всех 67 вакансий из файлов robots.txt — прим. пер.).

Есть некоторая ирония в том, что Ahrefs.com, разработчик второго среди самых забаненных ботов, тоже поместила в своём файле robots.txt объявление о поиске SEO-специалиста. А ещё у pricefalls.com объявление о работе в файле robots.txt следует после записи «Предупреждение: краулинг Pricefalls запрещён, если у вас нет письменного разрешения».

Весь код для этой статьи — на GitHub.
Поделиться публикацией
Похожие публикации
Ой, у вас баннер убежал!

Ну. И что?
Реклама
Комментарии 41
  • +4
    Очень крутое исследование, спасибо за перевод.
    Правда насколько мне известно, большинство так называемых «плохих ботов» просто игнорируют файл robots.txt, поэтому если не стоит защиты на сервере, то чихать они хотели на все эти запреты.
    • 0
      Есть какой то способ искать без учета роботтикст? Какой то ключ в гугле или спец поисковик? чтобы выдавал все результаты игнорируя запреты.
      • +4
        Не очень понимаю, как вы себе это представляете. Всё что выдает поиск — это результат работы поискового бота. Если боту запретить что-то искать на сайте, то и в поиске найти это будет нельзя (теоретически), соответственно, то, о чём вы просите невыполнимо.
        • –1
          Я себе это представляю очевидным образом, гугл уже был замечен за тем что игнорит робот ткст, это значит он просто на результаты поиска ставит отметку что это было запрещено и не показывать, и именно этот механизм давал сбой, грубо говоря должна быть какая то команда или ключ чтобы он выдал все результаты с учетом запрета, возможно просто в паблике запрещена она, но я уверен что она есть.
          • 0

            Гай, роботс.тхт — это тупо файл в корне сайта. Он ничего сам по себе не может. "Белые" краулеры вроде как стараются его не нарушать, с остальными приходится бороться на уровне серверного ПО (выискивать по user-agent, либо анализировать способ формирования трафика… например 10 страниц в секунду для человека — как-то перебор, а вот робот может попытаться и больше).

            • 0
              ну так я и спрашиваю есть ли поисковики такие которые выдают результат поиска без учета робот.тхт?
              • 0

                Сомневаюсь, что сколько-нибудь глобальный поисковик напишет, что игнорирует (даже если это так) — банально вредно для бизнеса, так что только вручную искать/проверять.

                • 0
                  Подобная деятельность будет нарушением законов многих стран. Так что подобные вещи глобально невозможны: мелкие компании, которым наплевать на возможные штрафы, не обладают ресурсами, чтобы всё это хранить, крупные — не будут связываться, так как можно улететь на миллионы долларов (вспомните про историю с WiFi)
            • 0
              гугл уже был замечен за тем что игнорит робот ткст
              Когда, кто, где? Единственный известный вариант — это размещение сайта на хостинге «за бакс в месяц», где даже robots.txt отдаётся через раз (тогда гуглобот может robots.txt просто не увидеть) и обновления (когда бот некоторое время пользуется скачанным несколько часов/дней назад robots.txt). Всё. Заведите сами web-сайт да поэспериментируйте.

              Данных с сайтов, которые забанили Гуглобота Гугл не получает, соответственно никакого «секретного ключа имени CSI» в природе быть не может…
        • 0
          А что вы пишите в юзерагенте в своих скриптах? Я вот не знаю, что там надо писать, так что просто взял первое попавшееся из логов. Оно оказалось гугловским, ну так что с того.
          А про robots.txt, так вообще смешно.
          • 0
            Это всё смешно пока вы «неуловимый Джо». Как станете крупнее — так, чтобы иск миллионов так на 10 долларов имел шанс таки выбить из вас эти 10 миллионов — так всё сразу станет куда менее смешно.
            • 0
              Гугл или Мозилла покрупнее меня. Достаточно ли они крупные, чтобы стало не смешно? Ведь некоторая их продукция позволяет выбирать юзерагенты: из списка или, иногда, произвольные.
              • 0
                Ведь некоторая их продукция позволяет выбирать юзерагенты: из списка или, иногда, произвольные.
                Да даже и Microsoft позволяет! Но пока там по умолчанию что-то разумное и непересекающееся с гуглоботами/яндексботами/etc — судить производителя нельзя, нужно судить пользователя: та же история, что и с кухонными ножами (да, ими можно убить, но они, в общем, не для этого предназначены). А кому интересно это делать с одним, отдельно взятым, пользователем? Сколько вы с него денег получите?

                А вот если вы тот же самый скрипт куда-нибудь внедрите, работая, скажем, на Вымпелком — о, тут уже на запах денег юристы и подтянутся.
              • 0
                Интересно, по какой статье? Судя по текущему фракталу (или спирали) в UA последних браузеров, их копирование- обыденное дело.
                • 0
                  Копирование строки — вообще ни разу не проблема. Проблема в авторских правах. Вообще говоря, ни вы, ни Google, ни Yandex, ни кто-либо ещё просто так собирать данные в интернете не могут. Нужно бы получать разрешение. У каждого владельца сайта! Однако ровно-таки наличие файла robots.txt (и соответствующих спецификаций) позволяет предположить наличие так называемой implied license. В соответствии с которой «если вы гуглобот — то вам таки можно». А если вы притворились гуглоботом, являясь, на самом деле, конторой Рога и Копыта? Тогда у вас никаких лицензий нету и можно с вас пытаться стрясти от $750 до $30'000 за каждую «работу».
                  • 0
                    Вообще говоря, ни вы, ни Google, ни Yandex, ни кто-либо ещё просто так собирать данные в интернете не могут.

                    А смотреть то можно? Браузером? А если сохранить страницу? А если пропарсить её питоном? Просто непонятна граница между легальным просмотром и нарушением авторских прав. Как по мне, так всё выложенное в открытый доступ можно как минимум собирать и обрабатывать.
                    А если вы притворились гуглоботом, являясь, на самом деле, конторой Рога и Копыта?

                    Я не притворялся гуглоботом, я просто поставил такую строчку. Проверяйте гуглоботов по IP, его я не изменяю и изменить не могу.
                    • –1
                      А смотреть то можно? Браузером?
                      Да, разумеется — иначе непонятно что эти файлы вообще на web-сайте делают.

                      А если сохранить страницу?
                      А тут уже начинаются сложности. Кто будет потом эту страницу смотреть и как. Но вообще — да: Свободное воспроизведение произведения в личных целях.

                      А если пропарсить её питоном?
                      Ещё интереснее.

                      Просто непонятна граница между легальным просмотром и нарушением авторских прав.
                      Так и должно быть. Это нормально. Если бы таких «серых» зон не существовало, то за что юристы бы деньги получали? Ну тут важно понимать, что всё решают не ваши хотелки, не хотелки авторов сайтов, а закон. Если вы в России — то это глава 70 ГК.

                      Когда в ответе на подобные вопросы говорят «проконсультируйтесь с юристом» — то это не потому, что не хотят отвечать! А потому что чёткого ответа на вопрос уже нет и нужно грамотно оценить — на какие деньги вы можете «в случае чего» влететь.

                      Как по мне, так всё выложенное в открытый доступ можно как минимум собирать и обрабатывать.
                      На основании чего вы так считаете? Вы не поверите, но и Google и Yahoo реально пытались засудить за то, что они индексируют web (много лет назад, разумеется). И вопрос наличия у них той самой implied license поднимался. И ровно-таки наличие всей этой шумихи вокруг robots.txt убедили судью в том, что да, таки Google имеет право странички сканировать.

                      Это-то без проблем прокатило, вот за сниппеты там больше разборок было.

                      Я не притворялся гуглоботом, я просто поставил такую строчку.
                      И тем самым обошли ограничения robots.txt. На основании чего вы считаете, что имеете на это право?

                      Так-то закон вполне однозначен — копирование чего-либо без письменного разрешения автора запрещено. Где ваше письменное разрешение? Ах, ну вот же оно. robots.txt называется. Что там написано? Гуглоботу — можно. А вы — гуглобот?
                      • 0
                        Вы не поверите, но и Google и Yahoo реально пытались засудить за то, что они индексируют web (много лет назад, разумеется).

                        А сейчас начнут судиться, если они не будут индексировать ))
                        И тем самым обошли ограничения robots.txt.

                        Он вообще носит рекомендательный характер. И вообще, какая разница, какой у меня UA, роботс тут вообще ничего не сделает. Я его вовсе могу забыть скачать.
                        Что там написано? Гуглоботу — можно. А вы — гуглобот?

                        А почему это я не гуглобот? Вон, у меня даже юзерагент такой же, и сайт googlebot.sumanai.ru есть.
                        А вообще, там часто пишут со звёздочкой, для всех ботов.
                        • –1
                          Он вообще носит рекомендательный характер. И вообще, какая разница, какой у меня UA, роботс тут вообще ничего не сделает. Я его вовсе могу забыть скачать.
                          Ну так это ж ещё лучше!

                          Когда вы начинаете петь песни, про то, что robots.txt — это «филькина грамота», то вы, тем самым, оказываетесь без какой-либо лицензии, дающей вам право создавать копию сайта. Поймите вы, блин, что умолчание, прописанное в законе — это от от $750 до $30'000 за каждую «работу».

                          Это не владельцам сайта придётся доказывать в суде, что они не давали вам разрешение, а вам — как-то оправдывать ваши действия. Вы ничего про robots.txt не знаете? Вам вообще всё пофигу? Ну и отлично: открываем кошелёк и платим. Как написано в законе!

                          А вообще, там часто пишут со звёздочкой, для всех ботов.
                          Вот в этом случае всё хорошо. Тут, как бы и говорить не о чем: «письменное разрешение», какое-никакое, но есть, относится ко всем ботам без исключения. На этом фоне сделать вид, что Гуглу можно, а вам — нет… будет очень сложно. Но мы ведь не об этом случае говорим, правильно? Зачем вам изображать из себя Гуглобота, если сайт, который вы скачиваете даёт своё содержимое кому угодно?
                          • 0
                            А почему это я не гуглобот? Вон, у меня даже юзерагент такой же, и сайт googlebot.sumanai.ru есть.
                            Ну это значит, что просто тем, кто на вас «наедет» потребуется больше времени и денег… которые вы потом возместите. ГОУ ОГЛЕ тоже много разных бумаг имели — но это им не помогло.

                            Суд — это не компилятор, действующий по формальным признакам. Это — человек, у которого, в общем-то, голова на плечах таки есть.
                            • 0
                              Мы сейчас точно говорим о личных скриптах?
                              • 0
                                Нет. С какого перепугу. Вся дискуссия началась с замечания: Как станете крупнее — так, чтобы иск миллионов так на 10 долларов имел шанс таки выбить из вас эти 10 миллионов — так всё сразу станет куда менее смешно.

                                Пока вы используете скрипты для того, чтобы для себя качать сайты — мало кто будет в вами связываться. Во-первых cвободное воспроизведение произведения в личных целях (для справки: «воспроизведение» в законе — это как раз-таки создание копии), во-вторых — кому вы интересны?

                                Вот если вы что-то такое скачаете, а потом выложите куда-то — вот тут вас уже могут «прищучить». И тот факт, что вы скачали себе сайт обойдя robots.txt — вам зачтётся.
              • 0
                Насколько robots.txt эффективен для «вродосных» или SEO ботов? Что мешает тому-же EmailSiphon и дальше собирать информацию игнорируя robots.txt.
                • 0
                  Эффективен.
                  Ибо пока это просто предупреждение, а дальше следует вечный бан по IP
                • +5
                  определить самые плохие веб-краулеры в интернете, с учётом коллективного мнения миллиона файлов robots.txt

                  Самые плохие найдены не были так как они просто не реагируют на директиву Disallow в /robots.txt, не пишут в user-agent ничего уникального и постоянно меняют свои IP адреса.

                  • +4
                    Наконец, есть поисковые системы вроде Baidu (BaiduSpider) и Yandex, которые могут агрессивно индексировать контент, хотя обслуживают только языки/рынки, которые не обязательно очень ценны для определённых сайтов. Лично у меня оба эти краулера генерируют немало трафика, так что я бы тоже посоветовал заблокировать их.

                    А потом жалуемся на то что Яндекс плохо ищет не в рунете, и обвиняем его разработчиков.

                    Сам частично перешёл с гугла на Яндекс ради эксперимента, и когда ищешь какие то темы нормально представленные на русском он даже лучше, но стоит поискать что то на инглише полный мрак и приходится перенаправлять запрос в гугл. Теперь понятно почему.
                    • +4

                      Обратите внимание, что именно фраза про "рекомендую заблокировать" переведена неправильно. В исходной статье: "оба этих поисковика приводят ко мне на сайт пользователей, поэтому я бы не рекомендовал их банить".

                      • 0
                        Чёрт, как так получилось, исправил. :(
                        Прошу не искать теории заговора, просто недосмотр.
                      • 0
                        А то, что из Яндекса можно выпилить инфу это нормально? То ли про судью, то ли про депутата какого-то по решению суда удаляли информацию о имевшихся ранее судебных разбирательствах
                        • 0
                          Нормально, увы. И Россия тут не выступала первопроходцем. Почитайте на досуге.
                          • 0
                            А все существующие подчиняются DCMA, так что они все не лучше яндекса и выпиливают инфу сотнями тысяч ссылок в неделю, если уже не миллионами.
                          • 0
                            Обратное тоже встречается — я периодически пробиваю интереса ради некие номера мобильных телефонов в яндексе/гугле, яндекс исправно выдаёт ссылки на засвет номера где-нибудь в вк/ок/жж, городских порталах и заброшенных форумах музыкальных инструментов, как вот недавно например, гугл же в девяти из десяти случаев в пролёте
                          • 0
                            забудьте вы про топ 1м алексы из того файла, он давно не актуален
                            blog.majestic.com/development/alexa-top-1-million-sites-retired-heres-majestic-million

                            я брал маджестик, тоже проводил исследование: www.facebook.com/sergebezborodov/posts/10210475319615839
                            эти «топ 1м» нужно писать в кавычках, когда в них больше 50 тыс доменов в принципе не резолвятся
                            • 0
                              Про неактуальность топа алексы уже сказали =)
                              Я аналогично хотел проверить насколько прижился humans.txt по этому топу и результаты получил удручающие: на миллион сайтов только 169 humans.txt файлов и из тех половина — национальные домены гугла =(
                              • –1
                                Я всегда стараюсь включать этот файл в свои проекты. Есть даже заготовка под него. Но так случилось, что на одном из проектов файла humans.txt не оказалось в продакшине. Зато в robots.txt были строчки:
                                # User-agent: human
                                # Goto: /humans.txt
                                #
                                # User-agent: hacker
                                # Goto: /hackers.txt

                                Через какое-то время после сдачи проекта, клиент присылает мне
                                аудит от сеошника



                                P.S. Благо клиент адекватный и после моих аргументов тут же прекратил сотрудничество с подобным специалистом.
                                • 0
                                  А что не так с аудитом?
                                  Просто интересно, сам я не понимаю в теме ничего.
                                  • 0
                                    — robots.txt поддерживает комментарии, которые можно указывать после символа #
                                    — robots.txt не поддерживает инструкции Goto

                                    Соответственно если в комментариях указано что-то в стиле Goto: /humans.txt, то это никак не означает, что humans.txt должен присутствовать на сервере.
                                    Более того, наличие этого файла дело сугубо индивидуальное и никоим образом не связано с продвижением сайтов. Почему в аудите это отнесли к ошибке — для меня так и осталось загадкой. Но лишь один тот факт, что анализируя robots.txt человек допустил аж 2 ошибки (упустил из виду комментарий и воспринял Goto приписку как инструкцию), можно сделать вывод о его компетентности.
                              • 0
                                Для начала в каждый популярный фреймворк можно наряду с шаблонным robots.txt добавлять шаблонный humans.txt, тогда про него хотя бы будут знать.
                              • 0
                                Я включил в таблицу пометку, позволяет ли сайт ещё DuckDuckGo индексировать свою заглавную страницу, в попытке показать, насколько тяжело приходится в наши дни новым поисковым системам.

                                На своих сайтах я вижу больше переходов с DDG чем даже с Яндекса, но ни разу не видел в логах их собственного краулера (только DuckDuckGo-Favicons-Bot/1.0 десяток раз в месяц, но это, судя по названию, не то). В Википедии написано что DDG использует массу источников, в том числе Bing, так что предполагаю что по факту заблокированность DDG в robots, к счастью, не сильно мешает его работе.

                                • 0
                                  Прикольный метод разместить вакансию. Надо бы поправить свой robots.txt))

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

                                  Самое читаемое