- Fil d'ariane : Accueil du devBlog
- / Détail du billet (Lien direct)
Analyser une QUERY_STRING
Je vous fais partager le code que je viens d'ajouter à mon moteur de statistiques pour analyser les backlinks venant de Google. Ce petit script vous permettra de générer une liste des mots-clé soumis par les internautes sur le moteur de recherche et qui les ont amenés à votre site.
Nous allons considérer que vous avez un moyen de stocker les Backlinks à analyser. Ce qui importe plus c'est la manière d'extraire l'information. ![]()
// Tableau de stockage
$searchList = array();
$rsBackLinkList = mysql_query("SELECT `http_referer` FROM `log_referer` WHERE `http_referer` like 'http://www.google%'"
;
while ($Google = mysql_fetch_object($rsBackLinkList)) {
// On parse l'url et on récupère la query string
$info = parse_url($Google->http_referer);
$query = parse_str($info['query'], $keyword);
// On essaye d'extraire les mots clés tapés et stockés dans la variable q
if (!empty($keyword['q'])) array_push($searchList, str_replace("+", " ", $keyword['q']));
}
// On groupe les Mots-clés identiques et on les compte
$stats = array_count_values($searchList);
// On trie par ordre croissant la liste
array_multisort($stats, SORT_DESC);
// On crée un tableau avec les clés du tableau correpondants aux mots clés
$tabKey = array_keys($stats);
// On affiche la liste des Mots-clés et leur nombre
$i = 0;
foreach($tabKey as $key) {
if ($i < 10)
$i++;
else
break;
echo "\n<li>" . htmlspecialchars(urldecode($key)) . " : " . $stats[$key] . "</li>";
}
Voilà, libre à vous bien-sûr d'aller plus loin en enrichissant la lecture des informations. Vous pouvez par exemple donner le numéro de la page sur laquelle Google a positionné votre site...
Commentaires
Il n'y a pas encore de commentaires suite à ce billet.
L'ajout de commentaire a été désactivé pour ce billet.
Trackbacks
Pisteurs vers ce billet (trackbacks entrant)
Il n'y a pas encore de pisteurs pour ce billet.
Pistés par ce billet (trackbacks sortant)
Il n'y a pas encore de pisteurs effectué par ce billet.

