Question

Quelle est la meilleure façon de suivre de pages vues? Par exemple: a SO nombre de vues a une question, mais frapper rafraîchissement ne pas le nombre de visionnages

.

J'ai lu que l'aide de cookies est une très bonne façon de le faire, mais je suis à une perte sur la façon dont cela ne va pas de main.

Je l'ai cherché partout et ne peut pas trouver une bonne réponse pour cela.

EDIT:

Je vois aussi qu'une autre option (encore une fois je pourrais être horriblement mal) est d'utiliser l'API Google Analytics pour obtenir des pages vues. Est-ce même une option viable? Comment fonctionne Stackoverflow, youtube, et d'autres de suivre leurs vues?

Était-ce utile?

La solution

Vous pouvez les suivre dans une base de données si vous rouler votre propre. Chaque fois qu'une page se charge, vous appelez une méthode qui décidera ou non les pages vues. Vous pouvez ajouter tout ce que vous critères comme.

IP est unique
OU IP n'a pas visité en 20 minutes basé sur une variable de session
ETC
Ajoutez ensuite un enregistrement de page vue

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

Cependant, les variables de session peut se charger assez intensive sur des sites avec autant de visiteurs que SO. Vous pourriez avoir à obtenir un peu plus créatif.

Maintenant, si vous ne voulez pas le code il, je suggère la recherche dans SmarterStats car il lit vos journaux de serveur et est plus robuste que l'analyse.

Note: Je ne suis pas sûr d'un logiciel Apache similaire

Autres conseils

Je définir une variable de session avec l'adresse je vérifie, choisir de l'afficher si elle a été touchée par ce navigateur. Dans mon modèle de page Je puis vérifiez la var pour cette page et la poignée, selon le cas.

Une méthode simple, aki:

Créer table MySQL locale pour le suivi:

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

Ensuite, sur la page index.php, ou chaque fois que l'utilisateur va être l'atterrissage, vous pouvez exécuter une requête de mise à jour sur ce champ.

<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();
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top