Markus Baersch

Software · Beratung · Lösungen

Suche im Blog

Sign In

Wednesday, 04 February 2009

phpBB: Wenn Google Analytics keine Daten bekommt

Das kommt davon, wenn man nicht gleich nachsieht: Vor Wochen habe ich in ein Projekt, welches mit phpBB betrieben wird, über die Templates einen Tracking-Code für Google Analytics implementiert und wollte nun erstmals nachsehen, wie es denn mit den Besucherzahlen dort aussieht und ob bestimmte Bereiche vielleicht mehr Aufmerksamkeit benötigen. Mein erstaunen war groß, als Google Analytics mir meldete, dass der Code korrekt implementiert sei, aber dennoch keine Daten gemessen wurden. "Warte auf Daten"... und zwar seit Wochen. Die Implementierung des Trackingcodes für Google Analytics in phpBB funktionierte also offenbar nicht.

Na klar! Der Code ist irgendwie nicht richtig implementiert. Aber warum? Die Lösung: phpBB scheint "Unnützes" bei der Ausgabe zu filtern und der Trackingcode von Google Analytics hat unter diesem Filter zu leiden. Ich muss gestehen, dass ich kein ausgewiesener phpBB-Fachmann bin und nur so eben gut genug zurecht komme, um ein Forum damit aufzusetzen und einige Anpassungen am Design zu erstellen. Daher habe ich auch keine Ahnung, ob dieses Verhalten per Option steuerbar ist oder nicht. Und so musste in meinem Fall eine eher triviale Lösung her: Ich habe ein Leerzeichen an passender Stelle eingefügt, danach wurden die Daten auch korrekt an Google Analytics übertragen. Falls sich jemand mit einem ähnlichen Problem rumschlagen sollte und dank Suchmaschine auf diesen Beitrag gestoßen ist - hier die Anleitung, damit das Tracking über Google Analytics korrekt funktioniert. 

Im Template lässt sich der Code - egal ob neuer oder alter Trackingcode -, welcher gern am Ende einer Seite wohnt und so möglichst wenig den Seitenaufbau verzögert, simpel - und vor allem korrekt und vollständig - z. B. in overall_footer implementieren. Hierin ist in der letzten Zeile des Trackingscripts ein leerer Anweisungsblock zur Fehlerbehandlung vorhanden. 

Code in phpBB einbauen

Wird diese Änderung gespeichert, liefert phpBB eine "optimierte Fassung" des Codes aus, in dem der leere Anweisungsblock leider fehlt. Dies sorgt dafür, dass das ganze Script nicht korrekt arbeitet und keine Daten bei Google Analytics ankommen. Im Quelltext einer produzierten fertigen Seite sieht das dann so aus:

Defekter Code im Quelltext

Um das Problem zu beheben, kann zwischen die beiden Klammern des leeren Anweisungsblocks im Script beim Einbau in das Template einfach ein Leerzeichen eingefügt werden. Dies reicht offensichtlich, um den Block nicht als "leer und verzichtbar" zu erkennen. Eine Seite beinhaltet nach dieser Anpassung dann auch den vollständigen Code.

Funktionierender Code

Analytics ist damit zufrieden und zeigt künftig Daten an. Die Lösung ist zwar vielleicht nicht elegant, funktioniert aber. Wer weiß, warum das Script ohne diese Anpassung "kaputtoptimiert" wird und wie man dies durch eine entsprechende Einstellung oder Option im System verhindern kann, dem wäre ich für einen entsprechenden Hinweis per Kommentar höchst dankbar.

#