Seohackers netlinking

Script php : calcul positionnement Google et Yahoo

Ecrit par admin le lundi 21 avril 2008 à 4:05 - Catégorie Scripts PHP

Voici un script php en libre téléchargement permettant de calculer le positionnement de vos pages web sur Google et Yahoo.

J’ai écrit ce script en testant une classe php nommée htmlsql (une classe qui a de la classe… dont je vous reparlerai plus tard). Cette classe permet de scraper du contenu facilement à l’aide d’une syntaxe simple ressemblant à des requêtes mysql, ici je m’en sers pour scraper les liens.

Cette classe utilise aussi snoopy :
Snoopy est une classe PHP qui simule un navigateur web. Cette classe permet d’extraire le contenu de pages web et de soumettre automatiquement des formulaires.

Démonstration du script :

Vous pouvez voir une démonstration du script sur cette page : outil positionnement Google, Yahoo, Msn et Exalead.

Contenu de l’archive (3 fichiers) :

  • snoopy.php
  • htmlsql.php
  • calcul-positionnement-google-yahoo.php

Téléchargement du script :

Cliquez ici pour télécharger le script.

Installation du script :

  • 1 – Décompressez le fichier zip et uploadez-le sur votre serveur dans un dossier que vous nommez comme vous voulez.
  • 2 -Appelez ensuite dans votre navigateur l’url qui ressemblera à :
    -http://www.votresiteweb.com/mon-dossier/positionnement-google-yahoo.php
  • 3 – Et normallement, c’est tout 🙂

Edition du 23 Octobre 2008 :

Pour connaitre son positionnement sur MSN, voir mon commentaire en bas de page avec le code php à insérer dans le fichier positionnement-google-yahoo.php

P.S : J’ai inclus dans ce script la possiblité de passer par un proxy web pour ne pas faire bloquer votre serveur par Google et Yahoo. Si vous avez des questions, n’hésitez pas à utiliser le formulaire de commentaires au pied de cet article.

Ce script vous a plu ?

Articles liés :

Commentaires (51)

Catégorie: Scripts PHP


51 Commentaires

Commentaire par Easyguy

lundi, 21 avril , 2008 à 9:43

Génial Tiger, c’est super sympa de partager !

Commentaire par Morgan

lundi, 21 avril , 2008 à 17:20

Aurais tu quelques url a proposer pour trouver de bons proxy…?

En tout cas, merci de partager ce script 🙂

Commentaire par Wam

lundi, 21 avril , 2008 à 18:12

Merci beaucoup pour ce script, aurais-tu la même chose mais avec la possibilité de mettre plusieurs mots clés ?

merci encore 🙂

Commentaire par kickass

jeudi, 24 avril , 2008 à 19:09

Hey c’est pas mal ça, mais au risque de me faire incendier, il y a une extension firefox qui gère cela : goldorank, avis aux amateurs

Commentaire par admin

vendredi, 25 avril , 2008 à 15:13

Mdr Kickass, c’est bien toi qui voulait savoir comment récupérer les urls des résultats de Google pour faire de la soumission auto aux annuaires, et bien tu l’as dans ce script 😉

@Morgan, regarde les commentaires dans le script 😉

@Wam, je le ferai peut-être, si oui je posterai un commentaire ici, donc pour être informé, tu peux t’abonner au suivi de commentaires de cet article.

Commentaire par Salemioche

lundi, 5 mai , 2008 à 22:55

Merci pour ces 2 libs, l’exercice pratique est ensuite excellent (pour GG, s’il y a un resultat map ou actu en premier, ca va pas donner le résultat attendu)

Commentaire par coco

jeudi, 8 mai , 2008 à 16:41

cool merci tiger, tres sympa

Commentaire par cognotte

lundi, 19 mai , 2008 à 11:02

A noter que en fonction des proxys utilisés les résultats peuvent forcement varier.
Pour ceux que ca interesse en modifiant légèrement le script on peut aussi obtenir les resultats de live.com :

SELECT * FROM a WHERE $gping != "" 

url = search.live.com/results.aspx?q=mot+clef&first=

Commentaire par admin

mardi, 20 mai , 2008 à 10:46

Bien vu cognotte, perso. je passe par le fichier rss des résultats pour MSN 😉

Commentaire par admin

mardi, 20 mai , 2008 à 10:47

@Salemioche tu as raison, la recherche universelle risque de fausser les résultats, faut que je prenne le temps de corriger ça si pas trop galère 🙂

Commentaire par cognotte

vendredi, 23 mai , 2008 à 12:49

Je viens de me rendre compte que ma méthode déconne pour LIVE, il y a deux gping par résultats …, je vais tester la méthode rss !

Commentaire par Vernis Selectif

samedi, 24 mai , 2008 à 13:30

Y a t’il une possibilité de comparaisons entre deux site par exemple (je trouve ca bien moi!)

Commentaire par Xavier BERNARD

mardi, 27 mai , 2008 à 17:04

je suis sur les fesses, merci

merci

Commentaire par Xavier Derrey

vendredi, 1 août , 2008 à 11:46

Je découvre par ce billet le génial snoopy.

Après test pour faire une extraction de liens des 5 premières pages de résultat de 5 moteurs, c’est 30% plus rapide avec snoopy qu’en merdier utilisant CURL que j’avais codé.

Il lui manque juste un fetchtags pour récupérer les meta tags et le title d’une page. Je l’ai ajouté sur la version que j’utilise.

htmlsql.php a l’air bien aussi mais je n’ai pas encore pris le temps de l’explorer à fond.

Commentaire par El-Cherubin

mercredi, 20 août , 2008 à 23:56

Salut Tiger,

J’ai un léger souci avec ton script, tout d’abord il ne m’affichait plus les résultats, sur 100 j’avais entre 70 et 80 résultats de façon aléatoire, par exemple de 10 à 20 ce n’etait jamais affiché.
Et maintenant je n’ai plus aucun résultat, quel serait le probleme…?

Ip blacklisté?

Commentaire par mahacine

jeudi, 21 août , 2008 à 15:47

Bonjour,
le script est génial, est ce qu’il y a la possibilité de chercher jusqu’à 200 émé positions? si oui comment faire?

merci d’avance

Commentaire par mahacine

jeudi, 21 août , 2008 à 17:08

et si nous désirons calculer le positionnement dans Google.com? comment personnaliser le script, quoi changer?

Commentaire par Julien

lundi, 15 septembre , 2008 à 11:57

Très bon script, ai testé rapidement,
mais pas l’impression que ça marche pour yahoo.
Me renvoi une page d’erreur ‘Désolé, nous ne pouvons pour l’instant pas fournir la page demandée — erreur 999.’

Commentaire par tjou

lundi, 13 octobre , 2008 à 15:15

Trés bien, cè sympa de l’avoir partager.
G essayé avec msn (en changent le code des dizaines des fois) mais ça marche pas tjs. Si kelk1 a une idée ça sera trés gentil de m’aider. merci bcp

Commentaire par Julien

lundi, 13 octobre , 2008 à 21:09

Pour MSN ils ont mis en place un flux XML
Exemple :http://search.msn.fr/results.aspx?q=alonso&mkt=fr-fr&format=rss
donc beaucoup plus simple a exploiter …
Idem pour Yahoo, mais cette fois il faut aller voir de ce coté
http://developer.yahoo.com/search/boss/ et son API BOSS
requête illimité, multilangue, 100 résultats par page …
Si ça peut aider …

Commentaire par Ergonome

lundi, 13 octobre , 2008 à 21:48

Ce serait une évolution intéressante si Tiger parvenait à implémenter les 3 moteurs. 🙂

Commentaire par tjou

mardi, 21 octobre , 2008 à 14:57

Merci beaucoup Julien pour ton aide, je vais essayer avec le flux XML de Msn et je te tiens au courant.
Merci beaucoup

Commentaire par admin

jeudi, 23 octobre , 2008 à 16:48

Tiens tjou, c’est mon jour de bonté, voici le code pour msn :

//////////////////////////////// MSN /////////////////////////////////////
 
// incrémenter les pages de résultats page 1, page 2 ...on parcoure jusqu'à 10 pages
$m = 1;
// numérotation des urls, permet d'affichier la position, simple competur qui incrémente de un par url
$n = 1;
echo "<h2>Positionnement MSN Live</h2>";
while ($m <= 90) {//on prend les 10 premières pages de résultats donc ça commence à 0 jusqu'à 90 pour avoir les 100 premiers résultats : 10 résultats par page
	// connexion à la page
	$murl= $webproxy."search.msn.fr/results.aspx?q=".urlencode($keyword)."&format=rss&first=".$m; // plus simple de parser le flux que lapage de résultat
 
	$murl2=str_replace('&format=rss', '', $murl);
	if (!$wsql->connect('url', $murl)){// on se connecte à la page
		print 'Error while connecting: ' . $wsql->error;
		exit;
	}
 
	if (!$wsql->query('SELECT * FROM item')){
			print "Query error: " . $wsql->error; 
			exit;
	}
 
	foreach($wsql->fetch_array() as $linkm){
		if (strstr($linkm['text'],$url)) {
		$linkmsn=explode('<description>',$linkm['text']);
			echo 'Position : <a href="'.$murl2.'" target="_blank" rel="nofollow">'.$n.'</a> URL : '.$linkmsn[0].'<br /><br /><br />'; 
			$m=100;
			$endmsn="ok";
break;
		}
	$n++;
	//echo $linkm[text]."<br><br>";
	//print_r($wsql);
	//print_r($wsql->fetch_array());
	}
$m = $m+10;
}	
if ($endmsn!='ok') {echo 'Pas dans les 100 premiers résultats<br /><br />';}

Commentaire par Karedas

vendredi, 24 octobre , 2008 à 9:28

Tiens c’est marrant mais j’y avais pas pensé, il est extremement simple de faire un script qui se servant de snoopy (ou autre) génère un flux XML avec tout les résultat d’un moteur, de tout les moteurs compilés, ou tout ce qu’on peut imaginer.
A partir du moment on l’on peut tout extraire c’est facile à repisser en XML.

Commentaire par Buzz le

lundi, 17 novembre , 2008 à 17:04

Ca c’est du script, essayé puis adopté … merci !

Commentaire par Yves

mercredi, 10 décembre , 2008 à 15:25

Salut,
Super, ta recherche.
Pourrais-tu mémoriser les demandes pour éviter de les retaper à chaque fois ? (comme sur le site http://www.site-posit.com)
Encore merci et bravo.

Commentaire par Déjora

jeudi, 11 décembre , 2008 à 11:11

Peut être un petit bug dut à l’utilisation de strstr
Exemple
Si on vérifie l’url
chat.orange.fr
ichat.orange.fr
ressort avant …

Commentaire par scrptrise

mercredi, 7 janvier , 2009 à 10:37

bonjour,

vous avés toujour pas trouvé pour l’utilisation de plusieur mots clés à la fois? S’il vous plait?

MERCI

Commentaire par Yves

mercredi, 7 janvier , 2009 à 12:01

Salut Admin,
Le paramètre &format=rss utilisé avec LiveSearch est en effet très pratique pour parser les résultats.
A-t-il un équivalent pour Google, et pour YahooSearch?
Merci par avance et tous mes voeux pour 2009

Commentaire par scrptrise

mercredi, 7 janvier , 2009 à 14:17

re bonjour le script sur mon serveur fonctionne très bien!
mais j’ai pas compris l’histoire des proxy et comment voir lequel me convient ?

Commentaire par na

mardi, 17 février , 2009 à 14:19

J’ai eu par rapport au lien sur du positionnement. Au bout d’un moment les liens n’étais plus bon car par exemple le moteur yahoo avait changé le lien du résultat au niveau d’affichage des page du résultat et de la recherche.Je ne sais pas si vous en souvenez…

Au final en faite j’aimerais que vous m’aidiez pour trouver une solution pour que ça recommence plus à l’avenir…un moyen pour qu’on soit au courant si les moteurs de recherche change quelque chose par rapport à leur page d’affichage ou pour le résultat…

En espérant que vous m’aviez bien compris…merci

Commentaire par william

mardi, 17 février , 2009 à 18:11

Ce script ne marche plus avec Yahoo. Auriez-vous un correctif ?

Commentaire par na

jeudi, 19 février , 2009 à 10:08

oui justemn yahoo a modifié le résultat de ces page de recherche…cmt peu ton savoir???

Commentaire par admin

vendredi, 20 février , 2009 à 3:30

Je regarde ça dans le W.E, je vous tiens au courant.

Commentaire par Cyrille

samedi, 21 février , 2009 à 20:49

pour la modif il faut just changer la ligne suivante :
if (!$wsql->query(‘SELECT * FROM a WHERE $class == »yschttl » ‘)){

par celle-ci :
if (!$wsql->query(‘SELECT * FROM a WHERE $class == »yschttl spt » ‘)){

C’est just le nom de la class des liens qui a changé.

Commentaire par william

dimanche, 22 février , 2009 à 7:57

ça marche ! Génial !

Merci Cyrille

Commentaire par admin

lundi, 9 mars , 2009 à 9:54

Merci Cyrille, je vais mettre à jour l’article 🙂

Commentaire par Sandrine

mardi, 2 juin , 2009 à 2:40

Salut a tous,
Jai un probleme car je me fais tous les jours banir par google.
Je dois chercher 300 mot clefs sur 1000 resultats (10 pages de 100 donc)
J’ai tente d’utiliser les proxy mais a vrai dire je ne comprends pas trop comment ca marche…
Ceux qui sont dans le script me retournent des resultats bizares…
Merci pour votre aide
Sandrine

Commentaire par Karedas

mardi, 2 juin , 2009 à 11:55

@Sandrine

Une première piste est d’utiliser la recherche personalisée qui n’est pas sujette à bannissement.

Remplace:
http://www.google.fr/search?q=
Par:
http://www.google.fr/custom?q=

Ca ne suffit pas forcement, mais de mon côté je n’ai jamais été banni, juste en utilisant cela (mais ça fait un moment que j’ai pas spammé google, ça peut avoir changé).

Commentaire par Sandrine

jeudi, 4 juin , 2009 à 2:27

Jai teste cette nuit et jai ete banni 🙁
mais en plus jai ete banni vraiment vite… soit Google ne ma pas remis a jour mon compte lol ou soit ils sont de plus en plus mechant. On va voir pour mettre mon appli sur plusieurs server… mais pour linstant je ne sais pas trop comment contourner cela

Commentaire par lemousssel

samedi, 27 juin , 2009 à 16:28

Sandrine, j’ai le même souci en utilisant l’URL http://www.google.fr/custom?q=. Y’a un truc Karedas !

Commentaire par mrweb

samedi, 4 juillet , 2009 à 1:14

Bonjour

j’ai testé le script c’est vraiment super

j’ai créé une boucle while qui recheche automatiquement une liste de mots clés (au lieu de les rentrer par un

sauf que je remarque que le while ne se termine pas
apparemment c une timeout mais je ne vois aucune erreur.

ca plante mais jamais au meme endroit

certains se font blacklister apres utilsation de ce script ?

si qq a des idées…
merci d’avance
Ph’

Commentaire par sandrine

samedi, 4 juillet , 2009 à 11:55

Salut,
Pour ma part j’ai resolu mon probleme, on a mis mon application sur un serveur qui dispose d’une centaine d’adresse ip donc j’utilise un proxy. 🙂

Commentaire par lemousssel

samedi, 4 juillet , 2009 à 20:53

Sandrine je ne comprends pas bien le fait d’être sur un serveur qui dispose d’une centaine d’adresse ip => OK et un serveur Proxy.
Cela ne veut pas dire que tu profite (façon de dire)de cette centaine d’adresse ip.

Quelques explications sont les bienvenues.

Commentaire par sandrine

mardi, 14 juillet , 2009 à 13:03

Salut
bah a chaque fois que j’attaque une page google je change l’ip du proxy, donc c’est comme si que j’interrogais google avec x ordinateurs differents. Donc je ne me fais plus banir 🙂
San

Commentaire par SanOz

mardi, 8 septembre , 2009 à 7:50

Auriez vous une idee des regles de banisation de google?
une ip est limitee a x resquests? avec un temps de pause? …
Merci

Commentaire par Twistix

jeudi, 4 février , 2010 à 13:54

hello,

SanOz> Google est beaucoup plus souple qu’on le crois et ils n’ont pas d’intêret à banir tous les fadas de SEO hein ^^

La plus courante des manipulations c’est qu’après avoir « spammé » avec ce genre de script leur moteur c’est qu’il vérifie si tu es un robot en rentrant un Captcha d’authentification…et c’est normal, en revanche ils ont tout a fait raison de bloquer les robots spammeurs !

a+++ bon script à utiliser occasionnellement hein ^^ car ca sert à rien de se battre, de gruger google…

Commentaire par Fabien

mercredi, 9 novembre , 2011 à 0:15

Bonsoir à tous.

Ce script est tout simplement génial et je l’utilise depuis plus d’un an !

Cependant il ne semble plus fonctionner, du moins pour la recherche des positions dans Google, depuis le 4 Novembre 2011 !

Quelqu’un a-t-il trouvé une solution?

@+

Commentaire par Julien

mercredi, 9 novembre , 2011 à 12:39

Bonjour, j’essaye d’utiliser votre script. Celui-ci va me servir pour plus tard, mais malheureusement apres modification de celui-ci (ajout d’une BDD, afin de parser une liste de mots-cles), Google et Yahoo ne me retourne plus aucuns resultats.
Je ne sais pas comment contouner cela (Blacklistage?). Utilisation d’un proxy? J’ai du mal a en trouver..

Je vous remercie d’avance pour votre aide.

Commentaire par Pierre

lundi, 14 novembre , 2011 à 10:14

Bonjour,
Même problème pour moi. Alors que le script marchait bien. Il semble ne plus fonctionner depuis début novembre.
Quelqu’un à t-il une piste ?

Merci pour toute info.

Commentaire par Fabien

dimanche, 20 novembre , 2011 à 19:41

Salut Julien,

Non ça n’est pas un problème de blacklistage ce script ne fonctionne plus depuis le 4 Novembre suite à un changement du code d’affichage des résultats de Google.

j’ai cherché quelques heures et je pense que cela provient de la requête : $wsql->query(‘SELECT * FROM a WHERE $class == »l » ‘)

Il faudrait que quelqu’un d’un peu plus chevronné que moi se penche dessus pour trouver une solution.

N’hésitez pas à relancer le sujet !!!

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 !