Überflüssige Benutzerprofile vermeiden mit Agent Exclusions
Wer die WGA Personalisierung im "automatischen" Modus auf einer öffentlichen Website einsetzt, dem wird vielleicht aufgefallen sein dass in seiner Personalisierungsdatenbank sehr viele Benutzerprofile erzeugt werden. Sie sehen dies z.B. anhand der Anzahl der Datensätze in Tabelle "USERPROFILES" (wenn sie eine relationale Datenbank benutzen). Vielleich bemerken sie dann auch, dass die Zahl dieser Profile tatsächlich sehr viel höher als die vermutete Zahl echter Website-Benutzer ist und darüber hinaus kontinuierlich wächst.
Die Ursache für die hohe Zahl sind höchstwahrscheinlich keine echten Browser-Besuche sondern die so genannten "Bots" von Internet-Suchmaschinen die ihre Site in regelmäßigen Abständen besuchen. Diese automatisierten Prozesse rufen turnusmäßig Webseiten quer über das Internet ab und werten ihre Inhalte aus um sie in der Suchmaschinen-Datenbank zu indizieren und letztlich als Suchergebnisse anzubieten.
Anders als für normale Benutzer wird in der Regel für jeden Besuch eines Bots ein separates Benutzerprofil angelegt, das fortan nicht mehr angerührt wird und als "Datenleiche" in ihrer Personalisierungsdatenbank rumliegt. Warum ist das so und wie kann man es vermeiden?
Die Ursache für die hohe Zahl sind höchstwahrscheinlich keine echten Browser-Besuche sondern die so genannten "Bots" von Internet-Suchmaschinen die ihre Site in regelmäßigen Abständen besuchen. Diese automatisierten Prozesse rufen turnusmäßig Webseiten quer über das Internet ab und werten ihre Inhalte aus um sie in der Suchmaschinen-Datenbank zu indizieren und letztlich als Suchergebnisse anzubieten.
Anders als für normale Benutzer wird in der Regel für jeden Besuch eines Bots ein separates Benutzerprofil angelegt, das fortan nicht mehr angerührt wird und als "Datenleiche" in ihrer Personalisierungsdatenbank rumliegt. Warum ist das so und wie kann man es vermeiden?
Cookies
Die WGA Personalisierung im Modus "Automatisch / Cookie-basiert" benutzt ein Browser-Cookie um Benutzer wiederzuerkennen. Im Endeffekt heftet WGA damit eine Art "Markierung" an den Browser des Benutzers, welche eine automatisch generierte Benutzerkennung für diesen Browser enthält. Diese Markierung wird vom Browser nun mit jeder Anfrage erneut zum WGA-Server verschickt, damit dieser den Benutzer wiedererkennt und das richtige Profil für ihn wieder ermitteln kann.Genau hier liegt die Krux: Suchmaschinen-Bots sind keine normalen Browser. Deswegen ignorieren sie diese Cookie-Markierungen und verhalten sich sozusagen bei jedem neuen Request wieder so, als wären sie gerade das erste mal da. WGA hält diesen neuen "Kunden" dadurch tatsächlich wieder für neu, legt ihm ein neues Benutzerprofil an und versucht dieses per Cookie an den Bot zu binden - was wieder ignoriert wird.
Vermeidung anhand des User-Agents
Da Benutzerprofile dazu da sind, Daten für "echte" Benutzer zu speichern die wirklich mit der Website arbeiten sind Benutzerprofile für Suchmaschinen-Bots natürlich in doppelter Hinsicht überflüssig. Erstens funktionieren sie, wie oben dargelegt, nicht. Zweitens: selbst wenn sie funktionieren würden macht es keinen Sinn Daten für einen Bot zu speichern der die Site nicht gezielt benutzt sondern lediglich ihre Inhalte indiziert. Letztlich verbrauchen die zusätzlichen Profile also nur unnötigen Speicherplatz und machen alle "echten" Profile durch ebenfalls gewachsene Datenbank-Indizes langsamer.Wie also verhindert man diese ungewünschten Profile? Hier muss im ersten Schritt erstmal eine Methodik her um festzustellen, welche Anfragen von echten Benutzern stammen und welche von Bots oder ähnlichem.
Ebenso wie ein richtiger Browser identifizieren sich auch Suchmaschinen-Bots über einen so genannten "User Agent". Dies ist ein kurzer Text der mit jeder HTTP-Anfrage mitgesendet wird und die anfragende Software - ob Browser, Bot oder sonst etwas - beschreibt. Ursprünglich gedacht als strukturierte "harte Daten" ist die Struktur des User Agents heute aus historischen Gründen ausserordentlich konfus. Dennoch kann er recht zuverlässig verwendet werden um die meisten Bots zu identifizieren und das Verhalten einer Webanwendung auf sie anzupassen.
Weiter zur nächsten Seite ...