Enregistrer les clics sur des liens externes avec jQuery

Août 2013

Même si on utilise en général un outil de statistiques comme Google Analytics ou Xiti pour ça, jQuery peut aussi être utilisé (avec PHP) pour créer un système de tracking de clic sur les liens hypertextes d'un site, afin de savoir comment les visiteurs naviguent sur le site, ou quelles sont les pages de sortie (clic sur un lien externe).

Côté javascript, il suffit de placer un écouteur d'événement sur tous les liens de la page (on peut aussi affiner le sélecteur pour n'agir que sur les liens de certaines zones de la page comme le header) :

jQuery(document).ready(function($){
	$('body a').click(function(event){
		if(this.href.search('://www.example.com') == -1){
			$.post('/ajax-link-tracker.php', {
				urlFrom: document.location.href,
				urlTo:   this.href
			});
		}
	});
});

Après avoir lu insérer la date dans une cellule excel vous en saurez d'avantage sur ce sujet.

La partie PHP n'est pas beaucoup plus compliquée, il suffit de récupérer les variables passées en paramètre, de les vérifier, pour ensuite enregistrer ces informations dans un fichier de log (journal des clics). J'ai utilisé la classe de log de ce tuto :

<?php
if( empty($_POST['urlTo']) OR empty($_POST['urlFrom']) ){
	die();
}

$urlTo   = $_POST['urlTo'];
$urlFrom = $_POST['urlFrom'];

$row = "%date%	|	urlFrom: $urlFrom ; urlTo: $urlTo	|	%all%";
$FcLogger->log('statistiques', 'clic_lien_externe', $row, Logger::GRAN_MONTH);
?>

Fini de lire cette page ? allez faire un tour ici : dessiner l'homme de vitruve, ça peut vous intéresser.

1 commentaire :
commentaire n°3075 par xray!
xray! jeudi 14 mai 2015, 03:20
est-il possible d'afficher le contenu d'une page interne sur une page externe?en cliquant par exemple sur un bouton
facultatif
Facebook Twitter RSS Email
Forum Excel
Venez découvrir le nouveau forum excel question/réponse à la stackoverflow.com !
Forum Excel
hit parade n'en a rien a foutre du W3C Positionnement et Statistiques Gratuites Vincent Paré