Un petit script php de test de positionnement Google

Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics

amazigh25
WRInaute passionné
WRInaute passionné
 
Messages: 996
Inscription: Sam Juin 04, 2005 12:53

Message le Lun Jan 30, 2006 15:15

Salut
C'est un bon script.
Mais sonikbuzz, j'ai fait quelque test sur tes deux pages :
http://1entreprise.com/googledata2.php (1)
et
http://1entreprise.com/googledata.php (2)

Sur la (1) je suis mieux classé que la (2) sur le meme mot clé.
Il doit y avoir une erreur.
Apparament il n y 'a pas de designer sur Wri :-)

@+

Adam ;-)

lefuret
WRInaute impliqué
WRInaute impliqué
 
Messages: 461
Inscription: Mar Déc 06, 2005 1:03

Message le Lun Jan 30, 2006 15:32

bonjour,
depuis quelques jours google.fr m'a retrograde a la 4eme place , et le script me donne tjs la place precedente 2eme.
normal ?


@+
manu

sonikbuzz
WRInaute impliqué
WRInaute impliqué
 
Messages: 450
Inscription: Lun Fév 21, 2005 16:58

Message le Lun Jan 30, 2006 15:43

amazigh25 a écrit:Sur la (1) je suis mieux classé que la (2) sur le meme mot clé.
Il doit y avoir une erreur.

J'avais expliqué les differences plus haut (pour googledata2.php): <<Les resultats peuvent ne pas être identiques car lorsque l'on recherche par 100 google ajoute souvent pour un même site un resultat en plus (page similaire) . Ce "problème" est réglé (je ne compte pas les ligne en blockquote) mais les resultats peuvent quand même être differents. >> J'ajoute que lors des requetes par default 0-10 il arrive aussi que google affiche 2 lignes pour un même site. C'est là qu'il y a un problème dans "mon" script...

Vous avez le code source il est donc facile de voir comment les resultats sont obtenus.
Dernière édition par sonikbuzz le Lun Jan 30, 2006 15:51, édité 1 fois.

amazigh25
WRInaute passionné
WRInaute passionné
 
Messages: 996
Inscription: Sam Juin 04, 2005 12:53

Message le Lun Jan 30, 2006 15:51

Salut
Merci sonikbuzz
J'ai pas tous lu :-s

@+

sonikbuzz
WRInaute impliqué
WRInaute impliqué
 
Messages: 450
Inscription: Lun Fév 21, 2005 16:58

Message le Lun Jan 30, 2006 16:54

Y'a du changement, 7 datacenters alignés sur les bigdaddy dont le 72.14.203.104 pour la première fois.

mijsoot
Nouveau WRInaute
 
Messages: 45
Inscription: Mer Oct 12, 2005 12:06

Message le Mar Jan 31, 2006 9:53

Salut à tous ! C'est clair c'est de la bal !!!!

Bon par contre j'ai eu un petit soucis avec la ligne 24 :

Code: Tout sélectionner
echo <<<EOF


Avec cette erreur :

Parse error: parse error, expecting `','' or `';'' in c:\easyphp\www\google\index_old.php on line 24


J'ai cherché des infos sur EOF en PHP, mais j'ai rien trouvé !!! quelqu'un à quelque chose la dessus ??? j'aimerais bien comprendre.

Bon sinon, j'ai réécri ce bout, alors je remets tout pour que cela soit clair :



Code: Tout sélectionner
<? //error_reporting(0);

$q = isset($_GET['q']) ? stripslashes( $_GET['q'] ) : '';
$u = isset($_GET['u']) ? stripslashes( $_GET['u'] ) : '';

$q2 = htmlspecialchars( $q );
$u2 = htmlspecialchars( $u );

if ( !preg_match("!^http://!",$u) )      $u = "http://$u";

if ( preg_match("!^http://[^/]+$!",$u) )   $u .= '/';

$u = str_replace
(
   array( '.', '+', '?', '(', ')', '[', ']', '*' ),
   array( '\.', '\+', '\?', '\(', '\)', '\[', '\]', '.*?' ),
   $u
);



$qe = urlencode( $q );

echo '
   <HTML><BODY>
   <TITLE>POSITIONS</TITLE>
   <FORM ACTION='.$_SERVER['PHP_SELF'].' METHOD=Get>
    <A HREF=./ STYLE=font-weight:bold;>Home</A><BR>
    <TABLE BORDER=0 CELLPADDING=0 CELLSPACING=>
     <TR>
      <TD><B>Requête Google</TD>
      <TD> &nbsp;<INPUT TYPE=Text NAME=q VALUE="'.$q2.'" SIZE=50></TD>
     </TR>
     <TR>
      <TD VALIGN=Top><B>URL à trouver</TD>
      <TD VALIGN=Top STYLE=padding-bottom:5>
        &nbsp;<INPUT TYPE=Text NAME=u VALUE="'.$u2.'" SIZE=100> <FONT SIZE=1 FACE=Arial>( "http://" facultatif )</FONT><BR>
        <FONT SIZE=1 FACE=Arial COLOR=Green>
         &nbsp; <U>Astuce</U> : Vous pouvez utiliser le caractère <FONT FACE=Tahoma><B>*</B></FONT> n\'importe où dans l\'url :<BR>
         &nbsp; par exemple, vous pouvez taper <FONT FACE=Tahoma><B>http://www.monsite.com/*</B></FONT> pour trouver n\'importe quelle page du domaine "www.monsite.com" :-)
        </FONT>
       </TD>
     </TR>
    </TABLE>
    <INPUT TYPE=Submit>
   </FORM>
';

if ( !isset($_GET['q']) || !isset($_GET['u']) )
   exit;

echo "<FONT SIZE=2 COLOR=Red><B>---</B> : Signifie que le site n'a pas été trouvé parmi les 100 premiers résultats Google.</FONT><P>\n";
echo "<FONT SIZE=2 COLOR=Gray>Recherche en cours, veuillez patienter ...</FONT><P>\n";flush();


$serveurs = array
(
   '66.249.93.104',
   '64.233.179.104',
   '64.233.161.104',
   '64.233.167.104',
   '64.233.171.104',
   '64.233.183.104',
   '64.233.185.104',
   '64.233.187.104',
   '64.233.189.104',
   '66.102.7.104',
   '66.102.9.104',
   '66.102.11.104',
   '216.239.37.104',
   '216.239.39.104',
   '216.239.53.104',
   '216.239.57.104',
   '216.239.59.104',
   '216.239.63.104',
);

for ( $i=0; $i<=count($serveurs)-1; $i++ )
{
   $f = 0;
   $found = false;
   $serveur = $serveurs["$i"];
   
   for ( $s=0; $s<=9; $s++ )
   {
      $ss = $s * 10;
      $g = "http://$serveur/search?hl=fr&start=$ss&q=$qe";
      $html = file_get_contents( $g );
       
      foreach ( split('<br>',$html) as $serps )
      {
         if ( preg_match("!<a class=l href=\"http://!",$serps) )
         {
            $f++;
             
            if ( preg_match("!<a class=l href=\"$u\"!",$serps) )
            {
               $found = true;
               break 2;
            };
         };
      };
   };
   if (!$found) $f='---';
   echo "n°<FONT COLOR=Red><B>$f</B></FONT> sur <A HREF=\"http://$serveur/search?hl=fr&q=$qe\" TARGET=_blank STYLE=text-decoration:none;color=dimgray;font-weight:bold>$serveur</A> <I>(".($i+1)."/".count($serveurs).")</I>";
   
   if ( preg_match("!sur un total d'environ <b>([^<]+)!",$html,$r) )
   {
      echo " &nbsp; &nbsp; - <FONT COLOR=Blue>$r[1] résultats</FONT>";
   }
   else
   {
      echo " &nbsp; &nbsp; - <FONT COLOR=Blue>0 résultat</FONT>";
   };
   
   if ($serveur=='66.249.93.104')   echo " &nbsp; &nbsp;<FONT COLOR=Blue><B>- BigDaddy</B></FONT>";
   elseif ($serveur=='64.233.179.104')   echo " &nbsp; &nbsp;<FONT COLOR=Blue><B>- BigDaddy 2</B></FONT><BR><FONT STYLE=font-size:5>&nbsp;</FONT>";
   
   echo "<BR>\n";
   flush();
};

echo "\n\n</BODY></HTML>";

?>



Bon voilà, moi ça fonctionne mais pas partout et ça malgré le mo_gzip désactivé. Mais c'est vraiment de la bal. Mais si quelqu'un pouvez m'expliquer le EOF ça serait cool.


Suede
WRInaute accro
WRInaute accro
 
Messages: 3721
Inscription: Ven Oct 04, 2002 11:22

Message le Mar Jan 31, 2006 9:57

Malaiac a écrit:8O WAOW 8O

Et si je lis bien le script :
$g = "http://$serveur/search?hl=fr&start=$ss&q=$qe";
, y a pas besoin de clef API, puisqu'il va chercher les résultats direct sur les serveurs.



Bah justement. Si je me souviens bien, les requetes automatisés sont interdites par google. La seule solution est d'utiliser la clef API.
Le risque : que google ban l'IP ou votre serveur est hébergé.


skillfull
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 238
Inscription: Sam Jan 15, 2005 19:48

Message le Mar Jan 31, 2006 16:57

EOF = end of file


deleter23
WRInaute accro
WRInaute accro
 
Messages: 1845
Inscription: Mer Mai 25, 2005 21:30

Message le Mar Jan 31, 2006 19:57

Chez moi ca marché pas, merci pour ta modif mijsoot. Sinon encore bravo à superpj, t'es le meilleur :wink: . Et merci de donner le script .

mijsoot
Nouveau WRInaute
 
Messages: 45
Inscription: Mer Oct 12, 2005 12:06

Message le Mer Fév 01, 2006 8:46

End of file, je savais skillfull, mais c'est plutôt le fonctionnement avec :

Code: Tout sélectionner
echo <<<EOF


que je n'ai pas compris. Pour moi le

Code: Tout sélectionner
<<<


est un déplacement de bit et donc je ne comprends pas le principe avec

Code: Tout sélectionner
echo


et surout pourquoi ça ne fonctionne pas partout puisque à priori c'est natif du langage !!!
Une explication s.v.p. !!! et merci d'avance pour le petit cours.

zimounet
WRInaute accro
WRInaute accro
 
Messages: 1796
Inscription: Lun Nov 08, 2004 20:57

Message le Dim Fév 12, 2006 23:01

Un petit up pour faire découvrir ce script a tous


RomsIW
WRInaute accro
WRInaute accro
 
Messages: 1062
Inscription: Mar Mai 25, 2004 18:35

Message le Mar Fév 14, 2006 1:17

impressionnant, je me suis fait le même script en local, avec l'API GG mais avec le problème que la requête qui est faite semble être sur les résultats américains... du coup les résultats sont pas bons. Si qqn peut me dire où on dit où on peut mettre le paramètre hl=fr ça serait cool et j'en ferais profiter tt le monde aussi...

par contre, je serais curieux de savoir ce qu'en pense google qu'on utilise ses résultats directement sans passer par l'api qui avait été prévue et limitée à cet effet..

guicher
WRInaute impliqué
WRInaute impliqué
 
Messages: 259
Inscription: Ven Oct 29, 2004 16:25

Message le Mar Fév 14, 2006 11:16

super dommage qu'il ne prenne que les 100 premiers résultats

thierry8
WRInaute accro
WRInaute accro
 
Messages: 3251
Inscription: Lun Juil 11, 2005 11:47

Message le Mar Fév 14, 2006 15:17

Suede a écrit:
Malaiac a écrit:8O WAOW 8O

Et si je lis bien le script :
$g = "http://$serveur/search?hl=fr&start=$ss&q=$qe";
, y a pas besoin de clef API, puisqu'il va chercher les résultats direct sur les serveurs.



Bah justement. Si je me souviens bien, les requetes automatisés sont interdites par google. La seule solution est d'utiliser la clef API.
Le risque : que google ban l'IP ou votre serveur est hébergé.

Interessent...quand est-il vraiment ?


correiaj
WRInaute accro
WRInaute accro
 
Messages: 1106
Inscription: Lun Avr 25, 2005 22:39

Message le Mar Fév 14, 2006 15:43

zimounet a écrit:Juste une question, on la met ou la clé api dans le script?


Code maison :-)
Mais super, et c´est bein codé...

Peut-on utiliser la source pour l´adapter?? J´ai un code de ce style, mais beaucoup moins bien (il était vite fait)...

Quelques conseils:
Jusqu´à 500 c´est pas mal...
Plusieurs site...
Autres moteur de recherche...

Sinon, quel est l´intérêt véritable de tester une requête sur les différents serveurs? le pr et les bl, on sait... mais la position??

Un petit script php de test de positionnement Google Un petit script php de test de positionnement Google

Formation recommandée sur ce thème :

Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :

Consultez la description détaillée des produits ou services de Google suivants : Google Sandbox

  • Test data centers Google
    Cet outil vous permet d'afficher sur une seule page les résultats Google effectués sur de nombreux data centers (centres de données).
  • Test de redirection
    Cet outil vous permet de tester la validité d'un lien pour le référencement. Il vous indique la nature du lien (lien en dur, redirection bien gérée par les moteurs ou redirection mal gérée par les moteurs).
  • Analyseur d'entête HTTP
    Cet outil vous permet de connaître le code HTTP renvoyé par le serveur pour une page donnée.
  • Analyse du positionnement
    AgentWebRanking est un logiciel professionnel qui permet d'analyser le positionnement d'un ou plusieurs sites dans plus de 300 moteurs de recherche dans le monde. Vous pouvez ainsi analyser les performances du référencement pour de nombreux mots-clés.


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités