egregius.be

Urban Exploration, PHP and others…

Hoe slechte bots weren van je site

Iedereen die enigszinds bezig is met websites allerlei zal wel op de hoogte zijn dat bots websites crawlen om die de indexeren. Een van de gekendste bots zal ontgetwijfeld Google Bot zijn.
Een belangrijk onderdeel van je website voor deze bots is robots.txt. Dat bestand laat toe om bepaalde onderdelen van de website te verbieden voor de bots.
Een goeie, brave bot gaat dat netjes respecteren, helaas zijn er honderden of misschien wel duizenden bots die dat niet doen.
Door een recente wijziging op urbexforum.be kwam ik erachter dat er soms zelfs meermaals per minuut een bad bot actief was.

Een heel goede manier om die bots volledig te toegang te weigeren is via .htaccess.

Door deze lijnen toe te voegen aan uw .htaccess zullen al een groot deel van de slechte bots geweigerd worden.

order allow,deny
deny from 23.20.0.0/14
deny from 50.16.0.0/14
deny from 65.52.0.0/14
deny from 67.202.0.0/18
deny from 89.136.0.0/15
deny from 107.20.0.0/14
deny from 173.192.0.0/15
deny from 180.76.0.0/16
deny from 184.72.77.0/24
deny from 184.72.210.0/24
deny from 184.73.32.0/24
allow from all

Maar wie wil nu zo’n lijst handmatig gaan bijhouden? Onbegonnen werk gezien die bots wel eens durven van ip-adres veranderen.

Gelukkig weet onze goede vriend Google daar wel een antwoord op: bad-bot-trap

Op http://danielwebb.us/software/bot-trap/ kan je het pakketje downloaden.
De werking is vrij eenvoudig:

Door deze lijnen toe te voegen aan robots.txt wordt de toegang tot die map verboden voor alle agents:

User-agent: *
Disallow: /bot-trap/

Op je site zelf zet je dan toch een link naar die map. In het standaardpakket van Daniel Webb wordt daarvoor gebruik gemaakt van een 1px grote afbeelding.
Qua SEO is dat niet zo interessant omdat Google je pagerank naar beneden haalt voor onzichtbare links. Ik verving daarom voor mijn site’s de afbeelding door de tekst “Do not click here, you will be banned. This is bad-bot-trap link.”

Omdat een bot alle links in de code afschuimt gaat die wel verder gaan naar die pagina en wordt zijn ip adres onmiddellijk toegevoegd aan .htaccess
Uiteraard kan je nu denken “Wat als een mens daarop klikt?” Wel dat zit allemaal netjes in het script. Een mens krijgt zelf de mogelijkheid om zijn ip adres opnieuw vrij te geven.

Misschien wel het belangrijkste voordeel van dergelijk script is dat op den duur alle bad bots geblokkeerd zullen zijn. Er op die manier dus veel minder trafiek van je website komt, en je dus minder resources van je host nodig hebt. Het resultaat daarvan: snellere laadtijden!