Как унять робота

поисковый роботРоботам мы, обычно, рады. Я не говорю сейчас о гражданке С. Коннор и постоянно надоедающих ей и ее малолетнему сыну киборгах-убийцах из альтернативного будущего. Я имею в виду наоборот, роботов поисковых систем, посещающих наши сайты. После визита робота на сайт  обновляется информация в поисковиках, и наши странички появляются в выдаче. Потом из поиска приходит трафик, потом… ну вы все знаете, в идеале в конце цепочки появляются денежки, а за ними следуют блекджек и шлюхи.
Поскольку блекджек и шлюхи являются базовыми потребностями всех без исключения людей и большинства животных, то роботы поисковых систем - есть добро неописуемое, и мы их всячески должны загонять на сайт. Но эти роботы при своем визите, как и все гости, могут кое-что натворить.
Производительность робота очень велика, на то он и робот. Поэтому он иногда начинает нагружать сервер запросами с очень высокой интенсивностью. Если к таким действиям железного разума не подготовиться должным образом, то сайт с количеством страниц в несколько тысяч, легко может оказаться перегруженным и, впоследствии, справедливо отключенным хостером за перерасход процессороного времени. Причем, такую нагрузку не создаст даже близко никакое возможное нашествие естественных посетителей сайта.

Что же делать? Специально под роботов хостинг менять? Запретить роботам доступ? Нет. Хостинг должен иметь производительность под работу сайта с его нормальной посещаемостью, тем более это вряд ли поможет.  Нечего расходовать впустую энергоресурсы земли, в Китае панды и так уже дохнут. Запрещать тоже ничего не надо, сайт должен индексироваться.

Правильное решение — это управление действиями роботов через файл robots.txt. Вроде они его слушаются.

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

Во-вторых, действия робота с допущенными до него (или его до них) страницами иногда нужно подкорректировать. Я имею в виду, прежде сего, инструкцию Crawl-delay. Эта инструкция сообщает роботу минимальное время, которое он должен выдержать между окончанием сканирования одной страницы и до начала работы со следующей. Инструкция добавляется к группе, начинающейся с записи User-agent, сразу после строки Dissalow или Allow (при их наличии). Например:

User-agent: Yandex
Crawl-delay: 3
или
User-agent: Yandex
Disallow: /administrator
Crawl-delay: 3


3 - это время задержки в секундах. Время может быть даже дробным (например, «3.5»). Чтобы применить инструкцию ко всем роботам, используйте в строке User-agent подстановку «*».

Вышеуказанных мер вполне достаточно для снижения нагрузки от роботов на сервер до приемлемых значений.

Добавить комментарий к «Как унять робота»
Имя

E-mail

url

sad smile angry grin evil wink biggrin laugh