Un petit script php de test de positionnement Google

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


Malaiac
WRInaute impliqué
WRInaute impliqué
 
Messages: 357
Inscription: Mer Mai 04, 2005 21:42

Message le Sam Jan 28, 2006 14:23

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.

Il est collé sur mon localhost, ca evitera la surcharge.

Je suis preneur aussi du script modifié !

EDIT : et je confirme que BigDaddy m'aime bien... vivement que ca se répercute...


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

Message le Sam Jan 28, 2006 14:49

A la demande générale...
Pour les puriste c'est un peut coder à la va vite :oops:
Code: Tout sélectionner
<? //error_reporting(0);

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

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

$link_url = $u;

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

$qe = urlencode( $q );

echo <<<EOF
   <HTML><BODY>\n
   <TITLE>POSITIONS</TITLE>\n
   <FORM ACTION=$_SERVER[PHP_SELF] METHOD=Get>
    <A HREF=./ STYLE=font-weight:bold;>Home</A><BR>
!--- EN TEST ---!<br>
    <B>Requête Google</B> <INPUT TYPE=Text NAME=q VALUE="$q2" SIZE=50><BR>
    <B>URL à trouver</B> <INPUT TYPE=Text NAME=u VALUE="$u2" SIZE=50><BR>
    <INPUT TYPE=Submit>

EOF;

if ( !$_GET['q'] || !$_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=Red>Recherche en cours, veuillez patienter ...</FONT><P>\n";flush();


$serveurs = array
(
'72.14.203.104',
   '66.249.93.104',
'64.233.179.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',
   '64.233.161.104',
   '64.233.167.104',
   '64.233.171.104',
   '64.233.183.104',
   '64.233.185.104',
   '64.233.187.104',
   '66.102.7.104',
   '64.233.189.104',
   '66.102.9.104',
   '66.102.11.104',
);

echo"
<table border='0' cellpadding='2'>
  <tr>
    <th scope='col'>Rank</th>
    <th scope='col'>Total</th>
    <th scope='col'>BL</th>
    <th scope='col'>Serveur</th>
    <th scope='col'>Description</th>
  </tr>
";

for ( $i=0; $i<=count($serveurs)-1; $i++ )
{
   $f = 0;
   $found = false;
   $serveur = $serveurs["$i"];
   
   for ( $s=0; $s<=0; $s++ )
   {
      $ss = $s * 10;
//query
$g = "http://$serveur/search?as_q=$qe&num=100&hl=fr&btnG=Recherche+Google&as_epq=&as_oq=&as_eq=&lr=&as_ft=i&as_filetype=&as_qdr=all&as_occt=any&as_dt=i&as_sitesearch=&as_rights=&safe=images";
$html = file_get_contents( $g );
$html = preg_replace ("'<blockquote[^>]*?>.*?</blockquote>'si", "", "$html");

//total result
$pos = strpos($html, "sur un total d'environ");
$rest = substr("$html", $pos+22, 35);
$total_number = eregi_replace("[^0-9.-]", "", $rest);
$total_number = number_format($total_number, 0, ',', ' ');

//back link
$link = "http://$serveur/search?q=link%3A$link_url&sourceid=mozilla-search&start=0&start=0&ie=utf-8&oe=utf-8";
$link = file_get_contents( $link );

$pos = strpos($link, "of about");
$rest = substr("$link", $pos+5, 35);

$link = eregi_replace("[^0-9.-]", "", $rest);
$link = number_format($link, 0, ',', ' ');

      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"<tr><td>n°<FONT COLOR=Red><B>$f</B></FONT></td>
<td>$total_number</td>
<td>$link</td>
<td><A HREF=$g TARGET=_blank STYLE=text-decoration:none;color=dimgray;font-weight:bold>$serveur</A> <I>(".($i+1)."/".count($serveurs).")</I></td>
";
//  echo "n°<FONT COLOR=Red><B>$f</B></FONT> sur <A HREF=$g TARGET=_blank STYLE=text-decoration:none;color=dimgray;font-weight:bold>$serveur</A> <I>(".($i+1)."/".count($serveurs).")</I>";
echo"<td>";
if ($serveur=='72.14.203.104') echo " &nbsp; &nbsp;<FONT COLOR=green>- www IRL Pour la majorité des requetes</FONT>";
if ($serveur=='66.249.93.104') echo " &nbsp; &nbsp;<FONT COLOR=red>- BigDaddy1 IRL</FONT>";
if ($serveur=='64.233.179.104') echo " &nbsp; &nbsp;<FONT COLOR=red>- BigDaddy2 US</FONT>";
if ($serveur=='216.239.37.104') echo " &nbsp; &nbsp;<FONT COLOR=Blue>- www-va - US</FONT>";
if ($serveur=='216.239.39.104') echo " &nbsp; &nbsp;<FONT COLOR=Blue>- www-dc - US</FONT>";
if ($serveur=='216.239.53.104') echo " &nbsp; &nbsp;<FONT COLOR=Blue>- www-in - US</FONT>";
if ($serveur=='216.239.57.104') echo " &nbsp; &nbsp;<FONT COLOR=Blue>- www-cw - US</FONT>";
if ($serveur=='66.102.7.104') echo " &nbsp; &nbsp;<FONT COLOR=Blue>- www-mc - US</FONT>";
if ($serveur=='216.239.63.104') echo " &nbsp; &nbsp;<FONT COLOR=Blue>- US -eu-customers</FONT>";
if ($serveur=='64.233.161.104') echo " &nbsp; &nbsp;<FONT COLOR=Blue>- US -us-peers</FONT>";
if ($serveur=='64.233.167.104') echo " &nbsp; &nbsp;<FONT COLOR=Blue>- US -us-peers-</FONT>";
if ($serveur=='64.233.171.104') echo " &nbsp; &nbsp;<FONT COLOR=Blue>- US -us-customers</FONT>";
if ($serveur=='64.233.183.104') echo " &nbsp; &nbsp;<FONT COLOR=green>- IRL</FONT>";
if ($serveur=='64.233.185.104') echo " &nbsp; &nbsp;<FONT COLOR=Blue>- US -asia-customers</FONT>";
if ($serveur=='64.233.187.104') echo " &nbsp; &nbsp;<FONT COLOR=Blue>- US -asia-customers</FONT>";
if ($serveur=='64.233.189.104') echo " &nbsp; &nbsp;<FONT COLOR=Blue>- ASIA -asia-customers</FONT>";
if ($serveur=='216.239.59.104') echo " &nbsp; &nbsp;<FONT COLOR=green>- www-gv - IRL</FONT>";
if ($serveur=='66.102.9.104') echo " &nbsp; &nbsp;<FONT COLOR=green>- www-lm - IRL</FONT>";
if ($serveur=='66.102.11.104') echo " &nbsp; &nbsp;<FONT COLOR=green>- www-kr - IRL</FONT>";

   echo "</td></tr>";
   flush();
};
?>
</table>
   </FORM>
   </BODY></HTML>
[/code]


david96
WRInaute accro
WRInaute accro
 
Messages: 1411
Inscription: Dim Aoû 28, 2005 21:56

Message le Sam Jan 28, 2006 15:00

Merci !
Bon bâ au boulot, on va tester tout ça en local, un week-end comme je les aime :lol:


Malaiac
WRInaute impliqué
WRInaute impliqué
 
Messages: 357
Inscription: Mer Mai 04, 2005 21:42

Message le Sam Jan 28, 2006 17:32

phew... avec un max time amélioré sur mon php.ini, et du copier coller de code, je surveille les 3 requetes importantes en meme temps... oui je sais c'est gros bill, mais ... 8O 8O


thickparasite
WRInaute accro
WRInaute accro
 
Messages: 1158
Inscription: Sam Avr 26, 2003 23:47

Message le Sam Jan 28, 2006 18:42

Suede a écrit:Tu fais une requete directement sur google? Tu devrais consulter leur conditions d'utilisation ...


S'il utilise l'API Google il n'y a pas de problème mais des limitations (1000 requêtes/jour je crois)


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

Message le Dim Jan 29, 2006 3:43

Warning: preg_match() expects parameter 2 to be string, array given in /home/www/blablabla.php on line 103

ferkcap
WRInaute impliqué
WRInaute impliqué
 
Messages: 476
Inscription: Sam Jan 14, 2006 15:05

Message le Dim Jan 29, 2006 13:05

Il semblerait qu'il y ait un petit Bug quand aux interrogation
Exemple
http://judith.nfrance.com/~ju37835/inde ... rebmem.net

L'outil donne
-www.v7ndotcom-elursrebmem.net
n°3 sur 64.233.179.104 (2/18) - 1 040 000 résultats - BigDaddy 2

alors que le numéro 3 c'est pas moi mais :
-www.v7ndotcomelursrebmem.net


tom_sawyer
WRInaute accro
WRInaute accro
 
Messages: 1205
Inscription: Jeu Déc 02, 2004 12:45

Message le Dim Jan 29, 2006 13:22

Si c'est bien toi en hl=fr mais pas en hl=en

ferkcap
WRInaute impliqué
WRInaute impliqué
 
Messages: 476
Inscription: Sam Jan 14, 2006 15:05

Message le Dim Jan 29, 2006 14:01

Oui effectivement bien vu, en ce moment je ragrde plus les resultats hl=fr ;)
Il faut alors que je retouche le script :)

jobetudiant
WRInaute impliqué
WRInaute impliqué
 
Messages: 288
Inscription: Lun Mai 24, 2004 18:12

Message le Dim Jan 29, 2006 14:21

Génial comme petit script...
Ce qui serait encore plus génial serait d'avoir la possibilité de rentrer un collection de mots-clés et de faire tourner le script une fois par jour, par exemple. Après on pourrait faire des graphes avec l'évolution... etc.

Je pense que ce petit bout de script va finir par aller très loin! Encore bravo!


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

Message le Dim Jan 29, 2006 15:04

quelqu'un a une idée pourquoi ca ne marche pas sur mon serveur ? on peux pas dire que je sois un expert en programmation, disons que c'est pas ma tasse de thé ;)


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

Message le Dim Jan 29, 2006 15:15

skillfull a écrit:quelqu'un a une idée pourquoi ca ne marche pas sur mon serveur ? on peux pas dire que je sois un expert en programmation, disons que c'est pas ma tasse de thé ;)

Salut,
c'est quoi ta version de php? si elle est inferieure à 4.3.0 c'est peut etre ca le probleme


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

Message le Lun Jan 30, 2006 0:29

4.3.11


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

Message le Lun Jan 30, 2006 1:24

skillfull a écrit:Warning: preg_match() expects parameter 2 to be string, array given in /home/www/blablabla.php on line 103

je n'avais pas vu que ce n'etait qu'un warning - normalement ca ne devrait pas engendrer d'erreurs.
tu peux désactiver les warnings dans php.ini.
Il marche le scrit ?

Puce Galactique
WRInaute discret
WRInaute discret
 
Messages: 58
Inscription: Jeu Jan 12, 2006 12:03

Message le Lun Jan 30, 2006 10:18

EXCELLENT!!!

WOW,

J'en reste Baba!!!

MERCI ca marche du tonnerre!

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