Besucher-, Seitenaufruf- und Besucheronlinezähler (PHP-Scriptpaket)
Leider sind die folgenden Hinweise nötig: Aus gegebenen Anlass vorab ein Wort zum Copyright: Webseitenbetreiber dürfen entsprechend des Zitierrechts EINEN BIS ZWEI SÄTZE dieser Unterseite UMFORMULIERT und UNTER VERLINKUNG DER QUELLE auf ihre Seite übertragen, um eine Zurückstufung im Google-Suchmaschinenranking wegen duplicate content zu vermeiden: [André Chinnow, Internet: "", Hamburg 2009] Achtung: Für die Richtigkeit und Vollständigkeit der hier gegebenen Hinweise wird keine Gewähr oder Haftung übernommen. Sie basieren auf Erfahrungen von Nicht-Fachleuten. Bevor Sie diese aufgreifen, klären Sie vor der Anwendung der hier gegebenen Informationen mit Fachleuten ab, ob Ihnen daraus Nachteile entstehen können. Den Herstelleranweisungen verwendeter Produkte ist unabhängig von den nachfolgenden Ausführungen zu folgen. Auch stellen die Aussagen zu Rechtslagen keine Rechtsberatung dar, sondern spiegeln nur eine persönliche Meinung des Verfassers wieder, welche falsch sein kann.
Ihre Suchbegriffe sind bereits gelb hervorgehoben. Oder suchen Sie innerhalb dieser Seite nach einen oder mehreren anderen Begriffen oder dem Teil eines Begriffs:
1. Allgemeines zum PHP Traffic-Counter
Diese Software ist für User mit guten HTML-Kenntnissen geeignet. Für die besonders einfache
und schnelle Installation einer
Traffic-Auswertung (Besucher, Seitenaufrufe, Seiten je Besuch, Besucher online, Statistik)
empfehlen wir dagegen (Klick auf"s Logo):
2. Demonstration des Traffic-Zählers
Besucher- und Besucheronline-Zähler:
Bis jetzt waren hier 6851 eindeutige Besucher.
In den letzten 30 Minuten waren 47 Besucher auf dieser Webpräsenz aktiv. (Traffic powered by "the chinnow network")
Zweite Variante - Besucher und Besucheronline getrennt, an verschiedenen Stellen anzeigen:
In den letzten 30 Minuten waren 47 Besucher auf dieser Webpräsenz aktiv. (Traffic powered by "the chinnow network")
... Dann folgt beispielsweise ihr Text ...
>Bis jetzt waren hier 6851 eindeutige Besucher.
und zum Schluss der Seitenaufrufs-Zähler:
Seitenaufrufe: 10867
3. Detaillierte Beschreibung des PHP Traffic-Zählers
Die PHP-Logik der gebotenen Funktionen ist eng miteinander verwoben, so macht es keinen Sinn,
etwas hiervon getrennt anzubieten. Es wird jeder Zugriff erfasst und
nur diejenigen Dokumente in die Auswertung einbezogen, in welche Sie den PHP-Code
einsetzen. Dieser Code speichert bei Aufruf der Seite die Daten für die Auswertung
und zeigt die Seitenaufrufe an. Wenn Sie keine Ausgabe der Seitenaufrufe wünschen,
können Sie die entsprechende Zeile Programmcode durch Voranstellen von "//" deaktivieren.
Es ist technisch nicht möglich, festzustellen, ob jemand nach dem Aufruf
einer Webseite noch online ist oder die Seite verlassen hat. Man kann jedoch eine willkürlich
festgelegte Verweildauer annehmen, innerhalb dieser der Besucher als noch online deklariert
wird. Beim Provider 1und1 sind es beispielsweise in deren Traffic-Auswertungen 30
Minuten. Trotzdem können Sie es besser machen und nicht so tun, als wäre der erfasste
User noch sicher auf der Webseite. Ein Satz wie: "Zur Zeit
sind xx Besucher online" ist daher zu vermeiden. Besser
ist die Aussage: "In den letzten 30 Minuten waren xx Besucher
auf unserer Webseite aktiv."
Aber letztlich entscheiden Sie über den Wahrheitsgehalt Ihrer Aussagen.
Der Besucher-, Seitenaufruf- und Besucheronline-Zähler zählt jedenfalls zuverlässig
jeden Besucher und Seitenaufruf von Seiten, in die der PHP-Code eingefügt ist.
Beispielsweise könnte ein mit seiner IP gespeicherter Besucher dreimal während seines
Besuchs die gleiche Seite aufrufen. Die Besuche, also "Visits" würden dann um den Wert
"1", die Seitenaufrufe, also die "Sidecalls" dieser
Seite um den Wert "3" hochgezählt.
Damit nun beim direkten Anspringen von Unterseiten Ihrer Webpräsenz - beispielsweise
über Suchmaschinen - der Seitenaufruf nicht doppelt gezählt wird, weil beispielsweise
noch ein Frame nachgeladen wird, werden als Seitenaufruf nur diejenigen Aufrufe eines Besuchers gezählt,
die mindestens 60 Sekunden auseinander liegen. Bei der Auswertung über dieses Quelltext-Paket
werden Besucher im Besucheronline-Zähler zudem auch dann erfasst, wenn diese länger
als 30 Minuten online sind. Jeder Seitenaufruf wird in der Auswertung berücksichtigt,
wiederkehrende Besucher werden nicht doppelt gezählt.
Ihre eigene Auswertung wird daher immer etwas von derjenigen Ihres
Providers abweichen, weil der Provider zum einen auch Aufrufe von Seiten zählt, deren Zählung
Sie nicht erfassen möchten und zum anderen dort jeder Aufruf - auch sehr kurz hintereinander
liegende wie beim Nachladen eines Frames - gezählt wird. Sie haben also die Wahl zwischen
den beschönigten Traffic-Daten Ihres Providers oder den tatsächlichen, selbst ermittelten
Zugriffen.
In jedes Dokument, das in der Auswertung berücksichtigt werden soll,
wird ein PHP-Codeblock eingefügt. Hierdurch wird bei jedem Zugriff auf dieses Dokument
dessen Zähler der Seitenaufrufe - Datendatei in der Syntax "countersidecalls_DOKUMENTNAME.htm.txt"
- um den Wert eins erhöht
und geprüft, ob es sich um einen neuen Besucher handelt und dieser
Zähler - Datendatei in der Syntax "counter_DOKUMENTNAME.htm.txt" - gegebenenfalls
um den Wert eins hochgezählt
der Zähler aller Besucher - Datendatei in der Syntax "counterTOTALgroup.txt"
- gegebenenfalls um den Wert eins erhöht.
Die Anzahl der Visits (BesucherOnline) dagegen wird bei einem jeden
Aufruf eines Dokuments im Hauptverzeichnis in der Datei "BesucherOnlineLogfile.txt"
im Unterverzeichnis "counter" Ihres Webspace erfasst - sofern der letzte Eintrag
mehr als 30 Minuten zurückliegt. So erhalten Sie frühestens nach 30 Minuten den nächsten
Eintrag in das Protokoll der Besucheronline-Zählung - dies beschleunigt den Seitenaufbau
und verhindert eine unsinnige Masse an Einträgen in der genannten Protokolldatei. Vor
allem bei größeren Webpräsenzen mit Dokumenten in Unterverzeichnissen - wie beispielsweise
"chinnow.net" - würde der Seitenaufbau ohne diese 30-Minuten-Begrenzung unmäßig verzögert,
weil der gesuchte Wert dann jedesmal aus mehreren, rekursiv in Unterverzeichnissen zu suchenden Datendateien
ermittelt werden müsste.
Genaue Definition eines Visits nach den Richtlinien der Informationsgemeinschaft zur Feststellung
der Verbreitung von Werbeträgern e.V. (IVW) für Online-Angebote:
"Ein Visit bezeichnet einen zusammenhängenden Nutzungsvorgang.
Ein Visit beginnt, wenn ein Nutzer innerhalb eines Angebotes eine PageImpression erzeugt.
Jede weitere PageImpression, die der Nutzer im folgenden innerhalb des Angebotes
erzeugt, wird diesem Visit zugeordnet. Der Visit wird als beendet angesehen,
wenn länger als 30 Minuten keine PageImpression durchEden Nutzer erzeugt worden ist.
Wechselt der Nutzer auf ein neues Angebot und kehrt innerhalb von 30 Minuten auf das
alte Angebot zurück, so wird kein neuer Visit gezählt. Wechselt der Nutzer auf ein
neues Angebot und kehrt nach Ablauf einer Frist von 30 Minuten auf das alte Angebot
zurück, so wird ein neuer Visit gezählt."
4. Das Arbeits-Prinzip
Zur Zählung der Visits und der Besucheronline ist notwendig
die Kurzzeit-Speicherung der IP-Adresse des Besuchers erforderlich. Wechselt dieser
auf eine weitere Seite Ihrer Webpräsenz, wird über den dort eingesetzten PHP-Code abgeglichen,
ob dessen IP schon in der Kurzzeit-Datenbank vermerkt ist. Diese Datenbank ist lediglich
eine Textdatei auf Ihrem Webspace, eine "richtige" Datenbank ist wird nicht benötigt.
Für die Seitenaufrufs-Logik speichert eine weitere Textdatei die IP"s,
jedoch nur für einen kürzeren Zeitraum als für die Besucherzählung. Diese Speicherung
wird gebraucht, um den schon erwähnten doppelten Aufruf innerhalb von 60 Sekunden zu
prüfen und einen gegebenenfalls doppelten Aufruf innerhalb dieser Zeit nicht zu zählen.
So wird vermieden, dass beispielsweise das Nachladen eines Frames zu einer Doppelzählung
führt.
5. Server- und andere Voraussetzungen
Server-Voraussetzungen:
PHP ab 4.0, keine Datenbank erforderlich
PHP-Webseiten Voraussetzungen: Implementierung des in bestehende PHP-Dateien einzufügenden PHP-Codes
ohne Vorarbeit.
HTML-Webseiten Voraussetzungen: Implementierung des in bestehende HTML-Dateien einzufügenden PHP-Codes
mit folgender Vorarbeit:
Die HTM respektive HTML-Datei muss vom Server Ihres Providers, auf
dem ihr Webspace liegt, geparst werden. Das bedeutet, dass nicht nur PHP-Code
in PHP-Dateien, sondern auch PHP-Code in HTM-Dateien vom Server abgearbeitet wird.
Der Aufwand hierfür ist - sofern Ihr Provider dies unterstützt - gering. Sie kopieren einfach die im gezippten Quelltext-Paket
enthaltene Text-Datei ".HTACESS" in das Hauptverzeichnis Ihres Webspace. Ihr Provider
könnte jedoch eine andere Formulierung dieser Zeile benötigen. Mir ist nur bekannt,
dass der Provider 1und1 eine andere Syntax erwartet als die meisten anderen Provider.
Sollte der PHP-Code in Ihren HTM-Dokumenten nicht abgearbeitet werden, fragen Sie bitte
Ihren Webspace-Anbieter nach der erforderlichen Syntax.
Beispiel:
Syntax in der Datei ".HTACCESS" für Provider 1&1:
AddType x-mapp-php4 .php .htm .html
Drei weitere gebrüuchliche Syntaxen für die Datei ".HTACCESS" vieler anderer Provider:
AddType application/x-httpd-php php php4 php3 html htm AddType application/x-httpd-php .html AddType application/x-httpd-php .htm
Die Einbindung von PHP-Code in HTML-Dateien ist aus zwei Gründen sinnvoll:
Zum einen werden in der Regel nur HTML-Dokumente von Suchmaschinen indiziert, zum anderen
sind fast alle Webentwicklungs-Umgebungen nur für HTML ausgelegt. Sollten Sie nicht
in der Lage sein, die richtige Syntax zu finden, so dass Ihre HTML-Dokumente auf PHP-Code
geparst werden, dann können Sie ersatzweise ohne Nachteile in der Darstellung einfach
die Dateiendungen Ihrer HTML-Dokumente von ".htm" oder ".html" auf ".php" ändern. Nachteile:
Vor dem nächsten Bearbeiten in Ihrer Webentwicklungs-Umgebung (Frontpage, Netjet etc.)
müssen Sie die Endungen wieder rückgängig machen.
Durch Caching-Technologien wird nicht jeder Zugriff auf eine Webseite erfasst.
Das Caching kann sowohl durch den
Browser als auch durch zwischenspeichernde Server erfolgen. Der folgende Code im <HEAD>-Teil
eines HTML-Dokuments sollte das Cachen unterbinden:
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache, must-revalidate">
<meta name="Robots" content="Index">
Der einzige Nachteil ist die etwas längere Ladezeit bei einem erneuten Aufruf durch
den Besucher.