Quello che ti ho suggerito è il metodo piu' completo. Potresti semplificarlo in base alle tue esigienze.

Il punto è che NON ESISTE un modo per identificare i crawler tramite HTTP_USER_AGENT se non con una tabella di corrispondenze... che ovviamente va aggiornata di tanto in tanto, perche' ne escono sempre di nuovi. E ce ne sono molti che si spacciano per browser. E ci sono browser che ti permettono di modificare l'HTTP_USER_AGENT inviato...