Es gibt keine sichere Methode, um alle Bots zu erwischen. Ein Bot könnte sich genauso verhalten wie ein echter Browser, wenn jemand das wollte.
Die meisten ernstzunehmenden Bots identifizieren sich eindeutig in der Agentenzeichenfolge, so dass Sie mit einer Liste bekannter Bots die meisten von ihnen ausfindig machen können. Zu der Liste können Sie auch einige Agent-Strings hinzufügen, die einige HTTP-Bibliotheken standardmäßig verwenden, um Bots von Leuten abzufangen, die nicht einmal wissen, wie man den Agent-String ändert. Wenn Sie nur die Agent-Strings der Besucher protokollieren, sollten Sie in der Lage sein, diejenigen herauszufiltern, die in der Liste gespeichert werden sollen.
Sie können auch eine "Bösewichtfalle" aufstellen, indem Sie einen versteckten Link auf Ihre Seite setzen, der zu einer Seite führt, die in Ihrer robots.txt-Datei herausgefiltert ist. Seriöse Bots würden dem Link nicht folgen, und Menschen können ihn nicht anklicken, sodass nur Bots, die die Regeln nicht befolgen, die Datei anfordern.