Натиснете ENTER, за да видите резултатите или ESC за изход.

Блог на SuperHosting.BG

Добрите ботове vs лошите ботове и вашият сайт! :)

SeoConference2011В тази публикация един от дългогодишните колеги в техническия екип на нашата хостинг компания СуперХостинг.БГ – Митко, се постара да синтезира максимално, иначе огромния обем от информация по темата – индексиране от ботове. Следващите редове ще ви дадат отговори на въпросите: Кои са добри и кои лоши ботове? Как да определяте кои директории в хостинг акаунта ви да се индексират? Как да се предпазвате и да блокирате лошите ботове? … А иначе, си знаете :)… разчитаме и вие да споделите ноу хау като коментари под публикацията. Когато става въпрос за вашия сайт, е много важно заедно да елиминираме възможността за “непослушание” от страна на лошите ботове и единствено „възпитаните“, добри роботи да индексират съдържанието ви. 🙂

Добри ботове:

Сайтовете Ви денонощно се обхождат от ботове (роботи), най-често на търсачки, като например Googlebot , msnbot, YandexBot, bingbot и др. Тези роботи индексират съдържанието на сайтовете, с цел да предоставят по-точни и актуални резултати при търсене. Те се стремят да обходят възможно най-много, а ако е възможно и всички страници от сайта ви. Вие можете да изберете кои директории да не се обхождат от тези ботове, като използвате robots.txt файл в основната (root) директория на сайта. Преди да започне обхождане на сайта робота проверява robots.txt файла, от където разбира кои директории могат да бъдат индексирани и кои не. Синтаксиса на файла е доста опростен:

User-agent: *
Disallow: /

В User-agent се описва за кой бот важат изброените ограничения, а в Disallow се изброяват забранените директории. В посочения пример с wildcard (*) се посочва, че правилата важат за абсолютно всички ботове, а Disallow: / забранява достъпа до основната директория, т.е. и до всички нейни поддиректории. Ако пропуснете "/" в Disallow, това ще значи, че няма ограничение за директория и ботовете са свободни да обхождат всички директории в хостинг акаунта ви.

Съвет от support- a (Митко) – част 1:

За да ограничите достъп на Googlebot до /tmp директорията, например, robots.txt файла трябва да изглежда по следния начин:

User-agent: Googlebot
Disallow: /tmp

Можете да забраните достъп и до конректен файл:

User-agent: Googlebot
Disallow: /DirectoryName/FileName.html

Ако не сте сигурни за точното име на бота, който желаете да ограничите, можете да го видите в статистиката Awstats или в Raw Access Log- а на сайта. Подробна информация за robots.txt файла и начина му на употреба можете да намерите на следния адрес:

В сайта е включен също списък на голям брой роботи и кратко описание за всеки.

Лоши ботове:

Съществуват и други роботи, които предпочитат да пропуснат проверката на файла robots.txt и обхождат съдържанието на сайта, въпреки забраните описани в този файл. Такива ботове наричаме "лоши".

При обхождането на сайт от лошите ботове, това не ви носи позитиви за по-добро позициониране на сайта в мрежата, а напротив – сайта се сканира, за да се направи опит за злоупотреба с него. Това включва пробив в сигурността, публикуване на СПАМ в контактни форми, събиране на вашите имейл адреси, на които после се изпраща СПАМ и много други. За тези ботове се налага да използваме .htaccess файла, ако желаем да ограничим достъпа им.

Единият вариант е да блокираме ботовете по IP адреса им по познатия начин – deny from IP . Този начин обаче най-често не дава желания резултат, понеже лошите ботове използват различни IP адреси и ще се наложи да блокирате нови и нови IP адреси. В крайна сметка може да се окаже, че сте блокирали половината азиатски (например) IP адреси и досадния бот да продължава да “рови” из страниците Ви.

Съвет от support- a (Митко) – част 2:

По-ефективен метод за блокиране на лоши роботи е използването на User-agent- а, с който се представя робота. Можем да ограничим този User-agent с простичък Rewrite в .htaccess:

RewriteCond %{HTTP_USER_AGENT} ^(.*)Surfbot [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^(.*)ChinaClaw [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^(.*)Zeus [NC]
RewriteRule .* – [F]

В този пример роботите Surfbot, ChinaClaw и Zeus ще получат 403 Forbidden при опит да достъпят съдържанието на директорията, в която е поставен .htaccess файла. Можете да добавяте и още роботи, като е необходимо да се добави [OR] (или) в края на всеки ред, освен на последния User-agent. (Все пак да споменем, че добавянето на твърде много правила в .htaccess файла да забави зареждането на сайта в някои случаи.)

При такова блокиране е препоръчително да съществуват страниците за грешки 404 Not Found и 403 Forbidden. В случай, че тези страници се генерират динамично от системата Ви, това може да доведе до допълнително излишно натоварване.

Съвет от support- a (Митко) – част 3:

Друг начин за блокиране по User-agent е с използване на SetEnvIfNoCase отново в .htaccess файла. Ето и пример

SetEnvIfNoCase User-Agent "^Surfbot" bad_bot
SetEnvIfNoCase User-Agent "^ChinaClaw" bad_bot
SetEnvIfNoCase User-Agent "^Zeus" bad_bot

<Limit GET POST HEAD>
Order Allow,Deny
Allow from all
Deny from env=bad_bot
</Limit>

В първата част се дефинират User-Agent-и, които ще бъдат разпознати като лоши, а във втората част се блокират всички заявки (GET, POST, HEAD) от такива роботи.

В Интернет пространството има много публикувани примери за блокиране на лоши ботове по User-Agent чрез .htaccess . В някои от примерите са включени известни лоши роботи като:

Ако решите да използвате тези примери, е добре да ги прегледате, за да не блокирате някой робот, който би трябвало да може да обхожда сайта ви. Можете и да добавите бот, който ви досажда, а не е включен в списъка.  Сайтът е ваш, съответно и правилата, и свободата за действие в него са ваши! 🙂

А понеже вашия сайт използва нашия хостинг, то ние го чувстваме и приемаме като задължение да сме ви полезни със съвети как най-добре да работят приложенията ви! Какво ще кажете, успяхме ли и този път? 🙂

Димитър Милушев (Митко)

Тийм Лидер, Техническа Поддръжка

Митко е един от тийм лидерите в отдел Техническа и това не е случайно. Той е един от отговорните за това нашите клиенти винаги да получават надеждна поддръжка и това да се случва бързо, коректно, ясно и както трябва. Винаги дава 100% от себе си в това, което върши. СуперСилата на Митко е, че може да отговори на вашето запитване още преди да сте го задали.

Препоръчани статии

Оставете коментар

12 Коментара към "Добрите ботове vs лошите ботове и вашият сайт! :)"

Уведоми ме при
avatar

Иван
Гост
2 години 11 месеца .

Това с ловенето на роботите ми се струва много полезно, но какво става ако се блокира примерно googlebot по грешка.

Напоследък имам много атаки от роботи и със сигурност трябва да предприема нещо, но ми се струва доста рисково, да не блокирам нещо, което не трябва.

Силвена Ралинова
Editor
2 години 11 месеца .

Здравейте,

Блокирането на ботове трябва да се извършва с повишено внимание. Препоръчваме предварително да се прегледат заявките от ботове в Access логовете, както и какъв User Agent е записан. След това да се блокира например по User Agent. По този начин ще бъде ограничен достъпа само за описаните User Agent-и.

След блокиране може да се тества достъпа до сайта, като се смени User Agent-a. Затова може да се ползва например допълнителен плъгин към браузъра или Curl (при Unix системи).

Италодискобг
Гост
4 години 5 месеца .

Аз използвам един скрипт, който автоматично улавя и добавя лошите ботове в хтакцеса, за блокиране. Работи без засечка.
Можете да научите повече тук: http://www.braemoor.co.uk/software/robottrapphp.shtml

Димитър Георгиев
Гост
4 години 5 месеца .

Супер препоръки наистина. Специално за спама може да се възползвам от съветите 😉

Dimitar
Гост
4 години 5 месеца .

Благодаря за полезната информация, в доста случай „лошите“ ботове натоварват доста сайтовете и изразходват от процесорното Ви време 🙂

Деница
Гост
4 години 5 месеца .

много интересно наистина

wpDiscuz

Cloud услуги (SuperCloudVPS)