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

В тази публикация един от дългогодишните колеги от СуперЕкипа ни – Митко, се постара да синтезира максимално, иначе огромния обем от информация по темата обхождане от ботове.

Следващите редове ще Ви дадат отговори на въпросите:

  • Кои са добри и кои лоши ботове?
  • Как да определяте кои директории в хостинг акаунта Ви да се индексират?
  • Как да се предпазвате и да блокирате лошите ботове?

А иначе, си знаете 🙂 … разчитаме и Вие да споделите ноу хау в коментари под публикацията. Когато става въпрос за Вашия сайт, е много важно заедно да елиминираме възможността за „непослушание“ от страна на лошите ботове и единствено „възпитаните“, добри роботи да индексират съдържанието Ви. 🙂

Добри ботове

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

User-agent: *
Disallow: / 

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

#1 Съвет от support-a: ограничаване на достъпа до директория

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

User-agent: Googlebot
Disallow: /tmp

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

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

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

http://www.robotstxt.org/robotstxt.html

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

Лоши ботове

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

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

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

#2 Съвет от support-а: блокиране на бота по името му (user-agent)

По-ефективен метод за блокиране на лоши роботи е използването на 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. В случай, че тези страници се генерират динамично от системата Ви, това може да доведе до допълнително излишно натоварване.

Друг начин за блокиране по User-agent

Друг начин за блокиране по 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% от себе си в това, което върши. СуперСилата на Митко е, че може да отговори на вашето запитване още преди да сте го задали.
0 0 votes
.
Абониране
Уведоми ме при
guest

12 Коментара
Inline Feedbacks
View all comments
10 основни грешки при изграждането на един уебсайт

10 основни грешки при изграждането на един уебсайт [Аудио]

0
Последствията от неправилно структурирания сайт могат да бъдат неприятни за бизнеса Ви и да доведат до нежелан ефект.
Каква е разликата между домейн и уебсайт?

Каква е разликата между домейн и уебсайт? [Аудио]

2
Въпросът „Каква е разликата между домейн и уебсайт?” със сигурност влиза в топ 10 най-често срещани въпроси, когато решите да имате собствен сайт.

Black Friday: Рано пиле… на Черен петък триумфира или кога и как да започнете...

0
Вижте стъпките по подготовката на онлайн магазина, стоката и служителите Ви за Черен петък (Black Friday). Вземете нещо за писане и запретвайте ръкави!