Bots nicht mitzählen oder bei den Reports rausfiltern

Das mit dem Eingrenzen und Ausgrenzen finde ich Quatsch. Internet kennt keine Grenzen. “Deutsche” sind überall auf der Welt unterwegs. Deutsche arbeiten im Ausland, also vom Ausland aus im Internet. Büros sind überflüßig. Zudem sind ständig Deutsche irgendwo im Ausland im Urlaub und machen keinen Urlaub vom Internet. Aber muss jeder selbst wissen was er macht.

Ich will dies doch schon älteres Thema mal auffrischen, weil die Thematik hier indirekt etwas damit zu tun hat, wofür ich im Moment noch keine Lösung finde.

Grundsätzlich halte ich die Methodik wie Matomo Bots rausfiltert für nicht mehr zeitgemäß, weil diese in hohem Maße unsicher ist, zu viel Performance abverlangt und außerdem zu viele Ressourcen verbraucht. Die Filterung an Hand des UA ist außerdem sehr oft false postiv, zumal es sehr einfach ist den User-Agent zu faken. Inzwischen und doch schon seit längerem ermöglicht der Chrome, bzw. Chrome basierte Browser, sowie der Firefox die Möglichkeit den Nutzer an Hand von sec-fetch-* Header zu identifizieren, allerdings macht da der Safari Browser (noch) nicht mit, was aber kein Problem ist.

Ich logge (unabhängig von Matomo) nun schon seit mehreren Monaten alle Aufrufe und erfasse damit die Existenz dieser besagten Header. Die Treffer Quote liegt bislang bei 100%, heißt ich kann zu 100% sicherstellen, was ein natürlicher Nutzer ist und was etwas maschinengetriebenes ist und das komplett unabhängig vom UA, weil sowohl die offiziellen als auch die Fake Bots diese Header nicht mitsenden. Die einzige Schwäche liegt zumindest aktuell noch darin, dass ich einen ge-fake-ten Safari Browser, der von einem Bot genutzt wird, noch nicht von einem Safari Browser von einem natürlichen Safari unterscheiden kann, eben weil der Safari Browser diese Header generell nicht mitschickt.

Um meine Methodik trotz des Safari Handicaps abzusichern, sodass am Ende dann doch 100% rauskommen, verwende ich zusätzlich die PHP API und dafür braucht es bekanntlich kein Javascript. Damit ich durch die zusätzliche PHP API nicht doppelt tracke, ist der Aufruf der API durch einen Filter abgesichert, der mir dann auch ermöglicht einen ge-fake-ten Safari Browser von einem echten unterscheiden zu können. Außerdem loggt die API eine andere Seiten ID als der herkömmliche Javascript Tracker. Diese beschriebene Methodik mit der API erlaubt mir außerdem auch != 200 Aufrufe zu tracken. Mal abgesehen von etwaigen 50xer, sehe ich mit Matomo alles, wofür ich ansonsten erst in der access_log nachsehen müsste. Eigentlich perfekt, aber nur beinahe.

Was mir im Moment noch fehlt sind die Aufrufe der Bots, die von Matomo rausgefiltert werden, weil ich die Bots sehr wohl haben will. Die PHP API hat zwar einen Switch, der der Doku nach auch Bots tracked, aber der funzt nicht. Sämtliche Versuche dem Device Detector beizubringen keine Bots mehr rauszufiltern, sind bislang gescheitert.

Hat jemand eine Idee wie man dem Device Detector das abgewöhnen kann?

Hallo Serpent_Driver,

ich bin an der Sache nach wie vor dran, wobei sich die Sache (bei mir) spezialisiert hat, auf Besucher aus Clouds: “direct view - 0 seconds - 1 page”.

Wenn du auch Bots tracken willst, dann musst du die Bot-Blacklist in Matomo löschen, bzw. dort alle Einträge rauslöschen oder zumindest auskommentieren. Die findest du in irgendeiner Datei der matomo Installation. Frag mich nicht, aber irgenwo da habe ich sie schon einmal gesehen. Dazu musst du ein bisschen PHP können.

unten bei Usage:

if ($dd->isBot()) {
  // handle bots,spiders,crawlers,...
  $botInfo = $dd->getBot();
} else {
  $clientInfo = $dd->getClient(); // holds information about browser, feed reader, media player, ...
  $osInfo = $dd->getOs();
  $device = $dd->getDeviceName();
  $brand = $dd->getBrandName();
  $model = $dd->getModel();
}

@melbao

Was hat denn bitte der Device Detector mit der robots.txt zu tun?!

Die Matomo Robots.txt soll verhindern, dass Deine Statistiken gecrawlt oder indexiert werden …. Also Matomo Seiten

Hat also nix mit deinem Webauftritt zu tun.