Zoekmachine bots blokkeren op testomgeving via vhost

Zoekmachine bots blokkeren via de vhost van de server.Probleem:
Voor de WordPress website Autostrada.tv maak ik gebruik van een productie- en testomgeving.  De testomgeving is een kopie van productie.

In het verleden is het een aantal keren voorgekomen dat zoekmachine bots, zoals Google, de testomgeving hebben gevonden. Deze is gewoon vanaf buiten bereikbaar maar laat standaard alleen bepaalde IP-adressen toe. Soms wordt deze uitgeschakeld om een externe leverancier van bijvoorbeeld advertenties toegang te geven tot de testomgeving. Het gevolg hiervan is dat honderden test urls in Google terechtkomen en dit is iets wat je niet wilt.

Oplossing:
Er moest dus een oplossing bedacht worden om te voorkomen dat zoekmachine bots de testomgeving kunnen bereiken. De standaard oplossing is robots.txt met het commando “disallow”. Dit is alleen niet handig omdat het robots.txt op productie en op test wordt gebruikt. Dit maakt publicatie en synchronisatie tussen beiden omgevingen onhandig. De kans bestaat dat het robots.txt bestand van test op productie komt te staan en hiermee de SEO ranking van de website verlaagd omdat zoekmachines de website niet mogen indexeren.

Daarnaast wordt het robots.txt bestand bij een WordPress website gegenereerd. Het bestaat niet fysiek op de server maar alleen virtueel.

Een andere oplossing die vaak wordt gebruikt is om een .htpasswd blokkade te gebruiken, maar dat is niet handig omdat je iedere keer een gebruikersnaam en wachtwoord in moet vullen. Dit is ook niet handig wanneer je de omgeving open moet stellen voor externe leveranciers of servers.

De uiteindelijke oplossing was om zoekmachine bots te blokkeren in de vhost van de testomgeving. Zo geldt deze beperking alleen voor de testomgeving en kan de beperking nooit op de productie komen. Deze instelling blijft altijd bestaan ongeacht de bestanden of database die op test worden gebruikt.

Om dit mogelijk te maken heb ik onderstaande code toegevoegd aan de vhost:

RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} googlebot [NC,OR]
RewriteCond %{HTTP_USER_AGENT} sosospider [NC,OR]
RewriteCond %{HTTP_USER_AGENT} BaiduSpider [NC]

# Allow access to robots.txt and forbidden message
# at least 403 or else it will loop
RewriteCond %{REQUEST_URI} !^/robots\.txt$
RewriteCond %{REQUEST_URI} !^/403\.shtml$
RewriteRule ^.* - [F,L]

Bron:
Block web bots using apache config files op Watters.ws

Oplossing getest op:
Testomgeving van Autostrada.tv, CentOs linux server met Apache webserver software

Beoordeel dit blog

Laat een reactie achter

Your email address will not be published. Required fields are marked *

Deze website gebruikt Akismet om spam te verminderen. Bekijk hoe je reactie-gegevens worden verwerkt.