Hallo und einen taufrischen guten Tag vom Bodensee!
Ich habe ein kleines Script gebastelt, welches meine externen Links verwaltet. Die Links werden über ein PHP-Script aus einer MySQL-DB herausgesucht und auf die jeweilige HTML-Seite gepackt.
Dabei wird ein Link generiert, welcher wiederum ein Script enthält, das einen Parameter empfängt und damit das eigentliche Linkziel aus der MySQL-DB ermittelt. Dann wird das Ziel mittels header() geladen.
Soweit so gut. Nette Nebenwirkung: ich bekomme auskünfte wann, wie oft auf Links geklickt wird. Ein kleiner Tracker also.
Jetzt möchte ich aber sagen wir mal nur die echten Besucher zählen und SuMas, Harvester und anderes Gedöns herausfiltern. Diese können zwar die Links "ausführen", sollen jedoch keine Erhöhung des Klickcounters bewirken.
Dazu benötige ich wohl ne DB (oder File) mit den User-Agents der verschiedenen Spider/Robots ... sowie ein PHP-Script für die abfrage.
Gibts sowas schon?
Wenn ja wo?
Bei mehreren Tausend bekannte Suma-User-agents wird diese Prüfung nicht ohne Auswirkungen auf die Performance bleiben. Zudem ist zu berücksichtigen, daß meist als IE getarnten unerwünschte Bots nicht erfaßt werden; hier wäre zusätzlich noch eine Prüfung der IP notwendig. Man sollte sich daher auf wenige, oft vorkommende beschränken und den Rest einfach dadurch abfragen, ob "spider", "bot" (ohne Unterscheidung von Groß- und Kleinschreibung) enthalten ist oder der User-agent mit Kleinbuchstaben anfängt, um einen halbwegs vernünftigen Kompromiß zwischen Geschwindigkeit und Präzision zu erlangen. Es vergeht kein Tag, an dem ich in meinen Logs nicht einen neuen Spider finde.