Operatore site: di google, script per vedere le pagine non indicizzate
Aprile 16, 2007A richiesta posto uno schifo di script in versione super-beta.
E’ molto macchinoso da utilizzare perchè, visti gli scarsi risultati dell’operatore site: di google (che dopo aver cominciato questo script ho scoperto che non restituisce veramente tutte le pagine indicizzate ma solo la “maggior-parte”), ho smesso di implementarlo
Adesso lo pubblico perchè me lo hanno richiesto, se farete delle prove e mi dite che invece l’operatore site: è affidabile continuo a svilupparlo per renderlo qualcosa di quantomeno decente
Vi sipego quello che c’è da fare per utilizzare lo script:
Innanzitutto bisogna creare un file sitemap.txt, da mettere nella stessa cartella dello script. Questo file deve contenere tutte le pagine pubbliche del vostro sito. Insomma deve contenere gli stessi url che mettete nella sitemap di google però in questo formato:
http://www.miosito.it/
http://www.miosito.it/pagina1.html
http://www.miosito.it/pagina2.html
….
Poi, visto che il mio hosting provider mi fa usare fopen solo per i files locali (penso sia un limite di molti) bisogna creare il file prova.html che deve essere creato così:
andate su google, cercate site: http://www.miosito.it/
adesso vedrete i risultati 10 per pagina, meglio vederne 100: sull’indirizzo che si è creato nela barra (http://www.google.it/search?q=site:http://www.miosito.it/&blablabla…blablabla) aggiungete alla fine questo: &num=100
invio, adesso avete 100 risultati per pagina
Clickate con il destro sulla pagina e visualizzate l’html/sorgente della pagina, copiate e incollate con blocco note sul vostro prova.html, andate all’eventuale pagina 2 dei risultati e fate lo stesso, incollando l’html della pagina 2 sotto quello della pagina 1
Salvate prova.html e mettetelo nella stessa cartella dello script e di sitemap.txt
Adesso lanciate lo script, verranno visualizzate: le pagine indicizzate, le pagine di sitemap.txt e infine la differenza…
adesso gentilmente fate così: prendete una decina delle pagine che lo script da per “non indicizzate”, andate su google e cercate il titolo di quella pagina… fatemi sapere se ste pagine ci sono oppure no!
se mi dite che non ci sono continuo a sviluppare questo script, promesso!
ecco lo script:
<?
$site = "http://www.tuosito.it";
$indexed = array();
$start = $_GET['start'];
if($start == ""
$start = 0;
$findme = "<a href=\"" . $site;
$findme2 = "class=l";
$page = "prova.html";
$handle = fopen($page, "r"
or die("1");
$n = 1;
print("<b>Pagine su google:</b><br>");
if ($handle) {
while (!feof($handle)) {
$string = fgets($handle, 4096);
$pos1 = strpos($string, $findme);
if($pos1 > 0) {
$string1 = substr($string, $pos1+9);
$pos2 = strpos($string1, $findme2);
unset($key);
$key = substr($string1, 0, $pos2-2);
$indexed[] = $key;
echo htmlentities($key);
print(" - $n<br>");
$n++;
}
}
fclose($handle);
}
print("<br><br><br>$n<br><br><br><b>Pagine su sitemap.txt:</b><br>");
$total = array();
$i = 0;
$handle = fopen("sitemap.txt", "r");
if ($handle) {
while (!feof($handle)) {
$string = fgets($handle, 4096);
$string = trim($string);
$i++;
print("$string - $i<br>");
$total[] = $string;
}
fclose($handle);
}
$result = array_diff($total, $indexed);
print("<b>Pagine su sitemap non su google:</b><br><pre>");
print_r($result);