Formation référencement

Générateur de (très) longue traîne

Ecrit par 512banque le Vendredi 28 mai 2010 à 14:40 - Catégorie Génération de contenu,Google,Scraping,Scripts PHP

Tenter de se positionner sur des expressions fortement concurrentielles n’est pas forcément un choix judicieux. En effet, certains mots-clés demandent énormément d’efforts et génèrent finalement assez peu de trafic. Le retour sur investissement n’est donc pas au rendez-vous.

Parfois, il vaut mieux tenter de cibler un ensemble de petites requêtes faciles à atteindre, ces requêtes mises bout à bout représentant un trafic non négligeable et dépassant bien souvent les requêtes « star ».

Choisir des expressions de « longue traîne » consiste donc à faire varier l’expression clé principale en utilisant des synonymes et en y ajoutant d’autres mots, tels que la localisation ou d’autres spécificités. Au lieu de chercher à se positionner sur « plombier », on va préférer « plombier dijon » ou « plombier bourgogne » et ainsi de suite pour toutes les grosses villes de france et tous les départements.

Pour trouver des expressions de longue traîne, on peut utiliser notre imagination, mais également les suggestions de google (google suggest) ou la fameuse « roue magique »… Ou bien les deux en même temps !

J’ai ainsi couplé le script de la wonder wheel à celui de google suggest, les deux se trouvant sur Seoblackout ;)

J’ai donc cherché le mot clé « referencement », et en dédoublonné ça m’a donné 650 expressions. Evidemment, il faut faire le tri car on trouvera des expressions aussi peu ciblées que « chiffre d affaires restauration rapide » ou « taux de transformation chimie » mais rien ne vaut une review manuelle pour un travail propre.

Au niveau du script, je sais qu’il existe de nombreuses pistes d’amélioration, mais franchement entre nous… Ca marche et ça me va bien comme ça :)

Voici la bête :

<?php header('Content-Type: text/html; charset=UTF-8'); ?> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
  <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  <title>Long tail</title>
  <meta http-equiv="content-style-type" content="text/css" />
</head>
<body>
 
<?php
 
// Auteurs du script : Beunwa http://divioseo.fr/ & Tiger http://www.seoblackout.com
// Modifications par 512banque http://www.deliciouscadaver.com
// Url article du script pour bugs, commentaires... : http://www.seoblackout.com/2010/05/28/generateur-de-tres-longue-traine/
//Site Web : http://www.seoblackout.com
 
 
$etape = strip_tags($_GET['etape']);
 
switch($etape) {
 
case '1': ?>
<form action="?etape=2" method="post">
	<table><tr><td>
		Keyword : <textarea name="kw" rows="10">
<?php 
 
if ((isset($_POST['kw'])) && $_POST['kw']!='')
{
	$q=strip_tags($_POST['kw']);
	foreach (google_wheel($q) as $kws) { echo $kws."\n"; }
	flush();
}
else
{
	echo 'Veuillez saisir un mot-clé !';
}
?></textarea>
	</td><td>
		et <textarea name="mix2" rows="10"><?php echo strip_tags($_POST['mix2'])?></textarea>
	</td><td>
		<br />
		Langue : 
		<select name="lang">
			<option value="fr">FR</option>
			<option value="en">EN</option>
		</select>
		<br />
		Profondeur : 
		<select name="depth">
			<option value="1">1</option>
			<option value="2">2</option>
			<option value="3">3</option>
			<option value="4">4</option>
			<option value="5">5</option>
		</select>  
		<br />
		Alphabet :<input type="checkbox" name="alph" />
	</td></tr></table>
	<br />
	<input type="submit" value="Go" />
</form>
 
<?php
break;
case '2': ?>
<form action="?etape=3" method="post">
 
<h3>Dédoublonner et faire le ménage</h3>
<form  action="?etape=3" method="post">
<textarea rows="20" cols="60" name="kw">
<?php if(isset($_POST['kw'])){
	$lang = strip_tags($_POST["lang"]);
	if($lang == '') $lang = "fr"; 
	$depth = strip_tags($_POST["depth"]);
	if($depth == '') $depth = "1";
 
	$kwsd = array();
	$kwsd=explode("\n",trim(strip_tags($_POST["kw"])));
	foreach ($kwsd as $lst) {
		if($lst != "\n"){
			//mots cles simple
			ggSuggest($lst, $lang, $depth);
 
			//mots cles avec compléments
			$kws2 = array();
			$kws2=explode("\n",strip_tags($_POST["mix2"]));
			foreach ($kws2 as $mix2) {
				ggSuggest($lst.$mix2, $lang, $depth);
			}
 
			//alphabet
			if(strip_tags($_POST["alph"]) == "on"){
				$alpha = "a";
				while($alpha != "z"){
					ggSuggest($lst.' '.$alpha, $lang, $depth);
					$alpha = ++$alpha;
				}
			}
		}
	}
 
} ?>
</textarea>
 
	<br />
	<input type="submit" value="Go" />
</form>
 
<?php
break;
case '3':
$keywords = explode("\r\n", $_POST['kw']);
 
		foreach($keywords as $k=>$v) {
		if(preg_match('#^(.*) [\w]$#',$v)) {
		unset($keywords[$k]);
		} }
 
		$keywords = array_unique($keywords);
		?>
		<h3><?php echo count($keywords); ?> expressions uniques générées</h3>
		<p>Pensez à faire le tri ;)</p>
		<?php
 
		foreach($keywords as $k=>$v) {
		echo $v.'<br />';
		}
 
break;
default: ?>
<form action="?etape=1" method="POST">
  Saisir un mot-clé : <input id="kw" name="kw" type="text" size="" /><br />
  <button id="submit" name="submit" type="submit" value="submit">submit</button>
</form>
 
<?php			 
}
 
 
 
function google_wheel($q) {
$res_final = array(); 
$q=urlencode($q);
$search_url="http://www.google.com/search?q=$q&hl=fr&tbo=1&tbs=ww:1";
	$ch = curl_init();
	curl_setopt($ch, CURLOPT_USERAGENT, 'Opera/9.63 (Windows NT 5.1; U; fr) Presto/2.1.1');
	curl_setopt($ch, CURLOPT_URL,$search_url);
	curl_setopt($ch, CURLOPT_FAILONERROR, true);
	curl_setopt($ch, CURLOPT_REFERER, $search_url);
	curl_setopt($ch, CURLOPT_RETURNTRANSFER,true);
	$res= curl_exec($ch);
	curl_close($ch);
	if ($res) {
		if (preg_match('/"r":\[(.*?)\]}\)/',$res,$matches))
		{		
			$response=str_replace('"','',$matches[1]);
 
			$response2=explode(',',$response);
			$response3='';
			foreach ($response2 as $key => $value) 
			{
				$value2=urlencode($value);
				$search_url2="http://www.google.com/search?q=$value2&hl=fr&tbo=1&tbs=ww:1";
 
				$ch2 = curl_init();
				curl_setopt($ch2, CURLOPT_USERAGENT, 'Opera/9.63 (Windows NT 5.1; U; fr) Presto/2.1.1');
				curl_setopt($ch2, CURLOPT_URL,$search_url2);
				curl_setopt($ch2, CURLOPT_FAILONERROR, true);
				curl_setopt($ch2, CURLOPT_REFERER, $search_url2);
				curl_setopt($ch2, CURLOPT_RETURNTRANSFER,true);
				$res2= curl_exec($ch2);
				curl_close($ch2);
				if ($res2)                                         
				{	
					if (preg_match('/"r":\[(.*?)\]}\)/',$res2,$matches2))
					{		
						$response.=','.str_replace('"','',$matches2[1]);
					}
				}
			}
			$response3=array_unique(explode(',',$response));
			asort($response3);
			foreach ($response3 as $key => $value) 
			{
			$res_final[]=str_replace(array('r2:','[',']'),'',$value);
			flush();
			}
		}
	}
 	return array_unique($res_final);
}
 
function ggSuggest($kw, $lang, $depth = 1, $inc = 1){	
	global $tabKw;
 
	$tabKw[] = $kw;	
    $url = 'http://www.google.com/complete/search?hl='.$lang.'&js=true&qu='. urlencode($kw);
	if (function_exists('curl_init')) {
	$header = array(
        "Accept: text/xml,application/xml,application/xhtml+xml,
		text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5",
        "Accept-Language: fr-fr,fr;q=0.7,en-us;q=0.5,en;q=0.3",
        "Accept-Charset: utf-8;q=0.7,*;q=0.7",
        "Keep-Alive: 300");
		$ch = curl_init();
	    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, false);
	    curl_setopt($ch, CURLOPT_HEADER, false);
	    curl_setopt($ch, CURLOPT_VERBOSE, true);	
	    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
	    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
	    curl_setopt($ch, CURLOPT_TIMEOUT, 5);
	    curl_setopt($ch, CURLOPT_REFERER, 'http://www.google.com/');
	    curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)' );
	    curl_setopt($ch, CURLOPT_HTTPHEADER, $header );
	 	curl_setopt($ch, CURLOPT_URL, $url);
		$result=curl_exec ($ch);
		curl_close ($ch);
	} else {
		$result= file_get_contents($url);
	}
	preg_match_all('/\["(.*?)",/si', $result, $kwgoogle, PREG_SET_ORDER);//mot
	preg_match_all('/\,"(.*?)résultats",/si', $result, $nbresult, PREG_SET_ORDER);//nb resultats
 
	if ($kwgoogle=='' || $inc > $depth) {
		return $tabKw;
	}else {
		$ii = 0;
		foreach($kwgoogle as $v){	
			$tk = strip_tags($v[1]);
			if(!in_array($tk, $tabKw)){ 
				$tk = str_replace ('\r',"", $tk);
				$kwr = $nbresult[$ii][1];
				if($kwr == "") $kwr = 0;
				//echo $kwr.' ; '.$tk.'<br />'; je ne veux pas du nombre de résultats
				echo $tk."\n";
				$ii++;                                  
				flush();
				ggSuggest($tk, $lang, $depth, $inc+1); 
			}
		}
	}
	return $tabKw;
}
?>

Pour utiliser cette liste, il vous suffit créer des pages uniques suffisament différentes les unes des autres, une pour chaque mot-clé. Le meilleur moyen de faire ça, c’est d’utiliser un script de spin de votre fabrication ou bien d’acheter un script de content spinning.
Et puisque Tiger m’offre un deuxième lien, j’en profite pour vous présenter le futur site de mon agence de référencement à Chambéry.
Bonne longue traîne à tous ;)

Articles liés :

Commentaires (27)

Catégorie: Génération de contenu,Google,Scraping,Scripts PHP


27 Commentaires

Commentaire par Blog SEO - Vince

Vendredi, 28 mai , 2010 à 14:59

Enorme ! Merci à toi pour ce nouvel outil… j’essaierai avec 2 – 3 problématiques différentes pour voir. En tout cas, merci pour le cadeau et bon WE à toi !

Commentaire par Littlebuzz

Vendredi, 28 mai , 2010 à 15:22

Vache ! 2 minutes à jouer et 2070 expressions récupérées !!!

Bon script

Commentaire par Expert

Vendredi, 28 mai , 2010 à 15:29

Hello,
pour ma part j’ai un petit soucis du passage à l’étape 1 vers l’étape 2.
L’étape 1 n’est même pas nécessaire je pense.

Commentaire par Patrice Albertus

Vendredi, 28 mai , 2010 à 15:32

Excellent script. Et surtout bravo pour ton site d’EcoRef, le graphisme est vraiment nice, et surtout d’actualité : Le référencement naturel passe au vert ;)

Commentaire par Gwaradenn

Vendredi, 28 mai , 2010 à 15:35

Merci, celui-ci m’intéresse beaucoup plus!
Je vais tester ça.

Commentaire par acheter tv 3d

Vendredi, 28 mai , 2010 à 15:41

et un outil de plus dans la boite… un tres grand merci de partager ces outils avec nous… puisque au fond vous n’y avez aucun intérêt … Thanks !

Commentaire par Webastuces

Vendredi, 28 mai , 2010 à 16:19

Très très bon ça ;)

Merci pour ce script :)

Après y’a plus qu’a faire du contenu ! « content is king »

Commentaire par Designer graphique

Vendredi, 28 mai , 2010 à 16:19

Super ton script Banque …
Je pense qu’il manque des ?etape=x dans les action= »" de deux form .. et il y a un endroit où le form est en double .. sinon ça fonctionne nickel !!

Une question : pour utiliser ça disons tu crées des pages sur ton domaine cible, une par mot clé (que tu reprends en title, h1, etc.), avec un texte bien spinné? Tu fais quoi avec le traffic tu cloack et tu rediriges vers ton site?

Commentaire par Keeg

Vendredi, 28 mai , 2010 à 16:19

Enorme comme script, il marche au poil, félicitation.

Commentaire par Cerbere

Vendredi, 28 mai , 2010 à 19:07

Yes!!!
Merci 512banque :)

Commentaire par Maxime

Vendredi, 28 mai , 2010 à 20:38

Ça c’est un bon petit script bien utile, bien joué !

Commentaire par Djolhan

Vendredi, 28 mai , 2010 à 20:43

Vraiment pas mal du tout le script. Il marche au poil comme le dit Keeg ;)
Quelques modifications à faire niveau ergonomie, mais ca, c’est rien du tout.

Commentaire par Fajrf Breeze - Yuxx

Vendredi, 28 mai , 2010 à 20:48

j’ai bien aimer le script, c’est au top, merci :D

Commentaire par Audit de referencement

Samedi, 29 mai , 2010 à 12:09

Big merci du script.
Je vais le tester today :-)

Commentaire par Fabien

Samedi, 29 mai , 2010 à 20:56

Testé et approuvé :D
Merci 512banque pour ce superbe script qui fonctionne à merveille, c’est du très lourd

Commentaire par 512banque

Dimanche, 30 mai , 2010 à 16:58

@Designer graphique : oui, tu spinnes et tu dissémines les mots clés un peu partout ;)
Ensuite le trafic, je sais pas, tu le monétises par exemple ! :D

Commentaire par Designer graphique

Lundi, 31 mai , 2010 à 16:13

D’ac, une autre question dans ce cas : Est-ce que ça peut être intéressant d’utiliser ça pour spinner des CP, et renvoyer le jus vers son site cible, ou bien les CP risquent juste de bénéficier d’un bon ranking mais pas transmettre de jus?

Commentaire par Blog Graphisme

Samedi, 5 juin , 2010 à 23:08

Très bon, merci pour le partage ! ;)

Commentaire par jeans diesel

Lundi, 14 juin , 2010 à 23:22

Super, merci beaucoup pour ce script, testé et approuvé!
Bon boulot,et à très vite, je suis friand de ces outils!

Commentaire par Kai

Jeudi, 17 juin , 2010 à 17:28

Je m’excuse, ma francais c’est tres mal!
Vous pouvez faire la même chose via l’API de Google Suggest repos; o) Essayez gratuitement la Long Tail de mots clés:
http://www.v-seo.com/index.php?q=ordinateur&go=go&locale=fr&domain=fr&levels=3&quick=1

Commentaire par Alex

Samedi, 17 juillet , 2010 à 23:56

Encore un très bon script, merci à vous.

Commentaire par multimédia versailles

Mardi, 24 août , 2010 à 16:16

Merci a 512banque pour cet outil qui est vraiment utile

Commentaire par nathalie

Dimanche, 3 octobre , 2010 à 11:52

je vais tester le script en question mais j’ai cliqué sur le lien pour le nouveau site et j’avoue que ça fait du bien de voir ce genre de thème qui surfe avec humour sur le « référencement » durable.

Je trouve qu’internet se normalise un peu trop à mon gout .. entre le zen épuré et le super sérieux de certaines agences de référencement ..

C’est marrant parce que l’impact est plus émotionnel .. comme quoi un impact visuel est un atout mais un impact emotionnel n’est pas à négliger.

Je divague un peu mais à vrai dire je fais des recherches depuis quelques semaines sur un certains nombre de sujets : le référencement et quel type d’impact est le plus adapté à l’activité d’un client ..

Sur ce .. je vais essayer ce script .. merci pour ce partage

Commentaire par William

Mercredi, 5 janvier , 2011 à 4:05

Le design et les slogans de ton agence sont originaux. J’aime bien l’approche décalée et je suis certain que cela va plaire aux clients potentiels. Je m’en vais de ce pas tester le script qui peut être très utile pour trouver des expressions. Mon site est tout neuf, les sites concurrents trop vieux. Autant dire des éléphants, trop dur à bouger. La longue traîne est quelque part ma roue de secours en attendant d’organiser la révolution dans les SERPS.

Merci pour le code encore une fois.

Commentaire par Laurent

Mardi, 8 février , 2011 à 21:55

Bonjour,
Alléchant ce script, mais chez moi il ne fonctionne pas.
J’ai cette erreur:
 »
Notice: Undefined index: etape in C:\wamp\www\longue traine\index.php on line 19″

Je ne l’ai testé qu’en local sous wamp. Si une bonne âme…
Merci.

Commentaire par Alx

Lundi, 23 mai , 2011 à 12:13

Moi je rajouterai une petite ligne au début pour pas tripatouiller son environnement:

<?php 
header('Content-Type: text/html; charset=UTF-8');
ini_set ('max_execution_time', 0);
?>

pour éviter un « time out » avant la fin de la recherche.

@Laurent c’est parce qu’il n’y a pas de test sur la variable étape au démarrage du script, en fait ce n’est pas une « ERREUR » mais un « Notice » donc un conseil, c’est parce-que tu travailles en Local sous Wamp, ça n’affecte pas le fonctionnement mais si ça te dérange: modifis ton php.ini http://www.php.net/manual/fr/errorfunc.configuration.php .

Commentaire par Henri

Samedi, 20 août , 2011 à 9:04

Bonjour,

Est-ce que le script qui associe la roue magique et google suggest est encore d’actualité ? je suppose que non puisque GG a enlevé la fonction magique depuis peu ? Merci de confirmer svp.

Henri

Les commentaires sont fermés pour cet article.



SEO BLACKOUT

Site web dédié aux techniques de référencement et de positionnement de sites web sur Google.

Certaines parties du site sont en accès restreint, ces espaces sont réservés à la SEO Black Hat Team.


Don't Be Evil !