Si bien no es infalible, puede verificar la cadena USER_AGENT y solo ejecutar ese código si 'bot' no existe.
if(stripos($_SERVER['HTTP_USER_AGENT'],'bot') === false){ }
Esto detendría cualquier bot que realmente tenga bot en la cadena de agente de usuario que tampoco preste atención a robots.txt.