Detectie googlebot bezoek aan je website
Googlebot detectie stuurt email naar je toe
Hoe volg je het gedrag van de googlebot op de voet?
GOOGLEBOT DETECTIE:
Om het gedrag van de googlebot (of een andere spider) op de voet te kunnen volgen kun je een detector op de website zetten die je een email stuurt waarin staat welke pagina bezocht is. Op de pagina zelf moet je dan weer een scriptje zetten dat de detector aanroept. In mijn geval is deze voor de googlebot geconfigureerd en de php file kan er als volgt uitzien:
if (eregi(' googlebot', $_SERVER[HTTP_USER_AGENT]))
mail("mijn@emailadres", "$_SERVER[REMOTE_HOST]-$_SERVER[REQUEST_URI]", "Googlebot heeft vanaf host \"$_SERVER[REMOTE_HOST]\" gevraagd naar $_SERVER[REQUEST_METHOD] $_SERVER[SERVER_NAME]$_SERVER[REQUEST_URI]");
Waarbij je je eigen emailadres invult en de file als botdetectie.php wegschrijft op de server.
In elke pagina waar je dan van wilt weten of de bot langs komt zet je ergens, eventueel als commentaarregel, in de pagina de php aanroep:
<?php include("botdetectie.php"); ?>
Van belang is dat je provider php code gebed in een html file parsed. Je kunt de server daartoe aanzetten door in de .htaccess file de volgende code toe te voegen:
Deze textfile maak je gewoon aan als htaccess.txt. Zet hem dan op de server en rename de file naar .htaccess. Er zit een nadeel aan deze methode omdat bleek (niet verklaard maar wel bij 2 providers vastgesteld!) dat de Last-Modified en If-Modified-Since HTTP-headers niet meer wordt geretourneerd door de servers. Deze wordt weer toegevoegd door het aanroepen van een file'tje dat e.e.a. herstelt.
De goed werkende oplossing om html files php te parsen komt van www.mijnhomepage.nl waar je meer achtergronddetails kunt lezen. Een andere manier is eenvoudigweg alle .html extensies te wijzigen in .php. Server beheerders die hun servers automatisch php gebed in html willen laten parsen kunnen de configuratie wijzigen zoals b.v. hier vermeld.
Wat ook van belang is dat bovenstaande kreten als: "$_SERVER[REMOTE_HOST]" etc. door jouw server worden herkend. Is dat zo dan zal de response in de email van bovenstaand filetje er b.v. zo uitzien:
Onderwerp: crawl-66-249-65-244.googlebot.com-/paginanaam.html
"Googlebot heeft vanaf host "crawl-66-249-65-244.googlebot.com" gevraagd naar GET www.websitenaam.nl/paginanaam.html"
Wil je weten wat jouw server allemaal kent van de gebruikte bovenstaande variabelen syntax maak dan een php text-filetje aan met: <?php phpinfo(); ?>
Noem dat b.v. phpinfo.php zet dat op je server en vraag het op in de browser dus b.v. : http://www.websitenaam.nl/phpinfo.php
De server retourneert dan een file waarin precies staat wat de syntax van de genoemde namen moet zijn. De hier gebruikte syntax voor de variabelen komt bij mijn server van versie: PHP Version 4.3.11. Maar de ene server van mijn provider kende b.v. alleen REMOTE_HOST en de andere alleen REMOTE_ADDR, dus je moet de lijst met variabele namen opvragen die je kunt gebruiken. Je kunt het email bericht natuurlijk naar eigen smaak inrichten. Zo heb ik de host en de bezochte paginanaam in het onderwerp terug laten komen zodat je de email niet hoeft te openen.
Het testen van dit alles kun je eenvoudig doen door de term ' googlebot' in de detectie file te vervangen door 'windows' als je zelf met windows werkt als user_agent. Zodra dan jijzelf of iemand anders met windows een access naar je website doet zal er een email worden verstuurd. Dus kun je zelf even naar je website gaan en kijken of je een email krijgt en dan kan je gelijk terugzien in de email hoe de variabelen al dan niet zijn vertaald. Bedenk wel dat alleen pagina's die daadwerkelijk gecrawled worden een email response geven. Bij een 304 (not modified) return zal geen email worden verstuurd.