Domanda

Qual è il modo migliore per tenere traccia di pagine viste? Per esempio: ha così come molti punti di vista una questione è, tuttavia colpire aggiornamento non lo fa il conteggio delle visualizzazioni

.

Ho letto che l'utilizzo di cookie è un buon modo abbastanza per farlo, ma io sono in perdita su come questo non ci sfugga di mano.

Ho cercato dappertutto e non riesce 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. E 'questo anche un'opzione praticabile? Come fa StackOverflow, youtube e altri monitorare il loro parere?

È stato utile?

Soluzione

È possibile tenerne traccia in un database se si sta rotolando il proprio. Ogni volta che una pagina viene caricata, si chiama un metodo che deciderà o meno le pagine viste. È possibile aggiungere qualsiasi criterio ti piace.

Se IP è unica
O IP non ha visitato in 20 minuti sulla base di una variabile di sessione
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 può diventare piuttosto intensa caricare su siti con il maggior numero di visitatori, come SO. Potrebbe essere necessario ottenere un po 'più creativo.

Ora, se non si vuole il codice esso, la vorrei suggerire cercando in SmarterStats come si legge i log del server ed è più robusto di analisi.

Nota: io non sono sicuro di un software simile Apache

Altri suggerimenti

Ho impostato una variabile di sessione con l'indirizzo Sto controllando, poi a ginocchiera è se è stato colpito da quel browser. Nel mio modello di pagina ho quindi controllare la var per quella pagina e la maniglia a seconda dei casi.

Un metodo semplice e hacky:

Crea una tabella di MySQL locale per il monitoraggio:

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

Poi, nella pagina index.php, o dovunque l'utente sta per essere di atterraggio, è 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();
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top