Про robots.txt

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

Так вот, robots.txt был придуман не для обеспечения безопасности. Он был придуман для того, чтобы вебмастер мог ограничить тем самым «роботам» заход в некоторые разделы сайта. Например, у меня на сайте есть PHP-скрипт (в реалиях начала 90-х это была бы программа на C или скрипт на Perl), решающий дифференциальное уравнение и строящий график. Если запрашивать странички с чем-то подобным слищком часто, то такое поведение будет называться DoS — Denial of Service, или (вставить название популярного сайта)-эффект. Думаю, если разместить ссылку на этот «построитель графиков» где-то на главной странице сайта с десятком тысяч посетителей в день, то мой сайт просто загнется.

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

During one of my periods of burn-out I decided to teach myself Perl. So I started by trying to write a web spider — a bot that did a depth-first traversal of the web, to retreive (and eventually index) what it found, or just to download pages (a la wget or curl). There weren’t many resources for robot writers back then; the internet in the UK was pretty embryonic, too. (SCO EMEA had a 64K leased line in those days, shared between 200 people.) I was testing my spider and, absent-mindedly, gave it a wired-in starting URL. What I didn’t realize was that I’d picked a bloody stupid place to start my test traversals from; a website on spiders, run from a server owned by a very small company — over a 14.4K leased line. I guess I’d unintentionally invented the denial of service attack! Martin, the guy who ran the web server, got in touch, and was most displeased. First, he told me to stop hammering his system — advice with which I hastily complied. Then he invented a standard procedure: when visiting a new system, look for a file called «robots.txt», parse it, and avoid any directories or files it lists. I think I may have written the first spider to obey the robots.txt protocol; I’m certainly the numpty who necessitated its invention.

Как я упомянул чуть раньше, его можно использовать, чтобы посоветовать поисковику не индексировать некоторые страницы — для чего его применение оправдано. Но вот запретить посещать страницы он в принципе не может (есть даже некий «черный список» роботов, игнорирующих этот файл).

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

Так вот, недавно Яндекс соорудил новый «инструмент для вебмастеров» — Яндекс.Метрику, которая позволяет, например, отслеживать маршруты пользователей по сайту. Для этого поисковику передаются адреса всех посещенных пользователями страниц (говорят, что «обезличенно» — но мы-то знаем, пользователя можно практически однозначно идентифицировать по особенностям его браузера) — и кто-то умный решил, что эти адреса тоже стоит включить в индекс. Результаты все видели сами.

На самом деле поисковики могут получать адреса страниц и другими способами, например, используя как счетчик код контекстной рекламы (при этом они узнают и URL страницы). В общем, никто сейчас ничего не гарантирует, а защищать страницы от шляющихся где попало роботов надо другими средствами.

Про robots.txt: 2 комментария

  1. непонятно вообще причем тут поисковики и robot.txt. Ну прийди ты ко мне на /checkout, ну увидишь в лучшем случае пустую страницу.

    Срань то от всяких яндексов-баров, которые лезут во все углы хуже вирусов и что куда шлют, это хз.

    1. Там передавался идентификатор пользователя, типа такого: /checkout?uid=123-mat-tvoju-za-nogu. Так как «включите куки» обычный пользователь не понимает, приходится идентифицировать его по «секретному» параметру в URL. Яндекс.Метрика или Яндекс.Бар передают урлы страниц поисковику, а он их беззастенчиво индексирует.

Добавить комментарий для Шура Люберецкий Отменить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *