4

Google Suggest: détecter la présence de nouveaux mots-clés

Parmi les nombreux outils que Google met à la disposition des webmasters pour établir leur stratégie de mots-clés, il y a Google Suggest qui peut parfois donner de bonnes idées. Au delà des requêtes stratégiques que l’on connaît déjà à priori pour le site sur lequel on travaille, je me suis dis qu’il serait intéressant d’ être alerté par mail quand une nouvelle expression faisait son apparition dans Google Suggest, sans avoir à taper régulièrement les mêmes expressions clés dans Google. Du coup j’ai crée un petit script pour découvrir les nouvelles requêtes saisies par les internaute en relation avec une expression clé pour les travailler en terme de positionnement le plus rapidement possible (pas que je sois partisan du moindre effort, juste une question pratique, pour pouvoir me concentrer sur autre chose;-))

Exemple: J’ai un site de petites annonces auto. Je veux découvrir des expression tapées régulièrement sur la requête « voiture occasion ».
L’API de Suggest renvoie « voiture occasion toulouse », du coup dès qu’une autre grande ville ressortira par exemple, je travaillerais en priorité la nouvelle expression.

Mais attention, ça n’est pas parce que la requête est fréquente qu’il va être facile de se positionner dessus, plus la rêquete est tapée, plus la concurrence sera élevée. Le but du script est d’anticiper tout ça.

Voilà donc le petit fichier qui vous permettra de surveiller l’arrivée d’une nouvelle requête régulière (selon Google Suggest) associé à un ou des mots-clés précis, j’ai codé ça au feeling, il y avait peut être mieux ou plus propre (je ne prétends pas être développeur), au moins ça marche. Juste une chose à paramétrer en début de fichier: votre adresse e-mail pour les alertes.

Script Google Suggest

<?php
//Adresse du destinataire à paramétrer
$monemail='votremail@domain.com';

//Variables pour l'envoi du mail
$headers ='From: "Veilleur de Google Suggest"<'.$monemail.'>'."\n";
$headers .='Content-Type: text/plain; charset="utf-8"'."\n";
$headers .='Content-Transfer-Encoding: 8bit';

//On vérifie la présence du mot-clé en GET dans l'URL
if (isset($_GET["keyword"])){
$keyword=stripslashes(urlencode($_GET["keyword"]));
$keyword_filename=str_replace(array('+','\\'), array('_',''), $_GET["keyword"]);

//si le mot clé a déjà été recherché dans Suggest
//on charge ses déclinaisons dans une variable
if (file_exists($keyword_filename.'.txt')) {
$filecontent=file_get_contents($keyword_filename.'.txt');
}

//on récupère les suggestions relatives à notre mot-clé
//via l'API de Google Suggest
//Curl si jamais on doit forcer des headers par la suite
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,'http://www.google.com/complete/search?output=toolbar&oe=utf8&hl=fr&q='.$keyword);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
$result=curl_exec ($ch);
curl_close ($ch);

//on transforme le résultat XML en objet
$xml = simplexml_load_string($result);
$i=0;
foreach ($xml->CompleteSuggestion as $CompleteSuggestion) {
$suggestion=$CompleteSuggestion->suggestion['data'];
if (eregi($suggestion, $filecontent))
{
//si le mot-clé proposé était déjà présent lors de notre
//précédente reherche, on ne fait rien
}
else{
//si de nouveaux mots-clés sont suggérés par Suggest,
//on les ajoute au fichier crée précédemment pour ne plus
//le détecter à nouveau
$i++;
$filecontent.= $suggestion.';';
$pourlemail.= "\n".'"'.$suggestion.'" ';
}
}
//et on s'envoie un mail avec avec le(s) nouveau(x) mot(s)-clé(s) à travailler
if ($i==1)  mail($monemail,'Nouvelle recherche relative à '.$_GET["keyword"].' dans Google Suggest','Le terme suivant: '.$pourlemail.'correspond à une nouvelle recherche fréquente des internautes',$headers);
elseif ($i>1) mail($monemail,'Nouvelles recherches relatives à '.$_GET["keyword"].' dans Google Suggest','Les termes suivants: '.$pourlemail."\n".'correspondent à des nouvelles recherches fréquentes des internautes',$headers);
//On écrit les mots clés de Suggest dans un fichier pour le prochain traitement
file_put_contents($keyword_filename.'.txt', $filecontent);
}
else {
print 'Aucun mot n\a été renseigné';
}
?>

Bien évidemment, on placera ce script dans un cron job (quotidien par exemple) et on l’exécutera avec lynx (ou php directement):

#lynx -dump "http://www.domain.com/seo-scripts/suggest.php?keyword=patapouf"

Précision: Vous pouvez avoir besoin de faire un petit chmod 777 sur le répertoire dans lequel se trouve le script (pour écrire les fichiers textes qui conserveront les mots-clés déjà connus).

Merci à @5eg grâce à qui j’ai eu l’idée suite à un test de « suggest bombing » avec l’expression patapouf seo fait il y a quelques semaines.

Si l’utilisation de l’API vous intéresse pour d’autres applications, vous trouverez sur le site de SEO BlackOut d’excellents scripts PHP plus évolués permettant d’extraire des mots-clés de Google Suggest dans le process de mise en place de votre stratégie de mots-clés

4 commentaires

  1. merci pour ce petit script
    je suis tombé dessus via twitter et je t’ajoute du coup à ma liste à follow !

  2. L’idée est excellente 💡

    Le code a optimiser … Mais l’idée excellente

    urlencode($_GET[« keyword »]) au lieu d’un replace avec des array 😉

  3. Merci pour vos retours! Effectivemment l’urlencode semble plus adéquate Jérémy, je modifie ça de suite 😉

    Edit: En fait je vais peut-être revenir à la version précédente car les caractères accentués sont modifiés du coup et ça pose problème

  4. testé et approuvé! J’ai fait un formulaire à la place des paramètres dans l’URL et je sauve tout ça dans une base de données. Je vais mettre en place un second script pour vérifier ensuite la position de mes URL par rapport à ces mots clefs de google Suggest.

    Encore une fois merci 🙂

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *