2010-10-19 9 views
6

Qual è il modo migliore per tenere traccia delle visualizzazioni di pagina? Ad esempio: SO ha il numero di visualizzazioni di una domanda, ma il refresh di ricezione non aumenta il numero di visualizzazioni.Come monitorare le visualizzazioni di pagina

Ho letto che usare i cookie è un buon modo per farlo, ma non riesco a capire come questo non sfugga di mano.

Ho cercato dappertutto e non riesco a trovare una buona risposta per questo.

EDIT:

Vedo anche che un'altra opzione (ancora una volta potrebbe essere terribilmente sbagliato) è quello di utilizzare Google Analytics API per ottenere pagine viste. Questa è anche un'opzione praticabile? In che modo StackOverflow, YouTube e altri monitorano le loro visualizzazioni?

+0

quale linguaggio di programmazione? lato server? dalla parte del cliente? terzo? tira il tuo? –

+0

GA è una grande opzione. Oppure puoi eseguire rapporti sui log del tuo server, come grep per quanti GET sono per index.html. – eSniff

+0

Sto lavorando a un nuovo progetto usando il framework yii (di cui non ho molta esperienza). – Booski

risposta

3

È possibile rintracciarli in un database se si sta eseguendo il proprio. Ogni volta che una pagina viene caricata, chiami un metodo che deciderà se aumentare o meno le visualizzazioni di pagina. Puoi aggiungere qualsiasi criterio tu voglia.

SE IP è unica
o IP non ha visitato in 20 minuti sulla base di una sessione variabile
ETC
quindi aggiungere un record di visualizzazione di una pagina

| ID | IPAddress | ViewDateTime | 
| 1 | 1.2.3.4 | Oct 18 ... | 

Tuttavia, le variabili di sessione possono ottenere abbastanza carico intensivo sui siti con tanti visitatori quanto SO. Potrebbe essere necessario un po 'più creativo.

Ora, se non si desidera codificarlo, suggerirei di esaminare SmarterStats mentre legge i registri del server ed è più affidabile dell'analisi.

nota: io non sono sicuro di un software simile Apache

0

Ho impostato una variabile di sessione con l'indirizzo che sto controllando, quindi la commutazione se è stata colpita da quel browser. Nel mio modello di pagina, quindi, controllo la var per quella pagina e gestisco come appropriato.

0

Un metodo semplice e hacky:

Crea una tabella di MySQL locale per il monitoraggio:

CREATE TABLE pageviews ( pageview_count int(9) default NULL )

Poi, sulla pagina index.php, o dovunque l'utente sta per atterrare, è possibile eseguire una query di aggiornamento su quel campo.

<php 
$link = mysql_connect('localhost','root',''); 
if (!$link) { 
    die('could not connect ' .mysql_error()); 
} 
$mysql = mysql_select_db($database_name,$link); 
$query = mysql_query('UPDATE pageviews set pageview_count = pageview_count + 1;'); 
mysql_close(); 
Problemi correlati