Bots en zoekmachines kunnen veel overlast geven op jouw WordPress, Joomla of Drupal website(s). Eerder las je al over het blokkeren van IP-adressen in .htaccess-bestanden, nu laat ik je zien hoe je “kwaadaardige” bots en zoekmachines blokkeert in .htaccess.
Waarom bots blokkeren in .htaccess en niet in een robots.txt
bestand? Het robots.txt bestand is een advies aan de bot of zoekmachine, het is geen eis dat die bot zich eraan houdt. Blokkeer je deze met behulp van .htaccess, dan draagt de webserver er zorg voor dat die bot jouw site niet meer lastig valt.
Een bot wordt ook wel een spider genoemd.
Plaats in een .htaccess-bestand de volgende code:
RewriteCond %{HTTP_USER_AGENT} (Seekport|SeekportBot|MJ12bot|Seekbot|DataForSeoBot|adsbot|BLEXBot) [NC]
RewriteRule ^.* - [F,L]
Dit ziet er ingewikkeld uit, maar het valt best mee. Je geeft hierin op dat er voor ieder HTTP request gekeken moet worden naar de User-Agent header. Als daarin één van de strings (stukjes tekst) voorkomt, dan wordt het HTTP-verzoek afgewezen en geblokkeerd met een 403 Forbidden reactie code.
De bots die je nu blokkeert zijn:
- Seekport
- SeekportBot
- MJ12bot
- Seekbot
- DataForSeoBot
- adsbot
- BLEXBot
Het |
teken betekent “of” in .htaccess-taal, dus: bevat de user-agent Seekport of SeekportBot of MJ12bot of Seekbot of DataForSeoBot of adsbot òf BLEXBot? Blokkeer dan het bezoek.
De [NC]
in de RewriteCond betekent NoCase, oftewel: er is geen verschil in hoofdletters of kleine letters. SeekportBot, seekportbot en, sEeKpoRtBot worden als dezelfde user-agent behandeld. De flag F
staat voor Forbidden en L
voor Last (stop met het verder verwerken van dit request). Je leest meer over de verschillende .htaccess RewriteRule flags hier.
Je kunt eenvoudig andere bots hieraan toevoegen. Lees bijvoorbeeld hoe je BaiduSpider blokkeert, en als je SemrushBot wilt toevoegen aan het lijstje, plaats dan een extra |
en SemrushBot
in de RewriteCond conditie:
RewriteCond %{HTTP_USER_AGENT} (Seekport|SeekportBot|MJ12bot|Seekbot|DataForSeoBot|adsbot|BLEXBot|SemrushBot) [NC]
RewriteRule ^.* - [F,L]
Waar je dit toevoegt maakt niet uit, ik voeg altijd achteraan toe.