Bots en zoekmachines blokkeren in .htaccess

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 ie bot jouw site niet meer lastig valt.

Plaats in een .htaccess-bestand de volgende code:

RewriteCond %{HTTP_USER_AGENT} (Seekport|SeekportBot|MJ12bot|Seekbot|DataForSeoBot|adsbot) [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 return code.

De bots die je nu blokkeert zijn:

  • Seekport
  • SeekportBot
  • MJ12bot
  • Seekbot
  • DataForSeoBot
  • adsbot

Het | teken betekent “of” in .htaccess-taal, dus: bevat de user-agent Seekport of SeekportBot of MJ12bot of Seekbot of DataForSeoBot of adsbot, 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.

Les ook hoe je BaiduSpider blokkeert.