TestSEO: robots e bot

Da qualche settimana sto disperatamente cercando di fare un test SEO per verificare il comportamento di googlebot con diversi tipologie di link e di non-link, ovvero link scritti in formato non canonico.

Il test l’ho fatto su un dominio praticamente vergine, in preparazione al corso seo di marzo che tengo con lo Studio. Test banale: una decina di pagine più o meno linkate, con una parola chiave “inedita” alle serp come sentinella. [Link] solo dalla root verso le landing page. Nessun altra struttura di collegamenti. Inoltre, le pagine di destinazione sono rimaste assolumatemente vergini anche alla navigazione: messe online, mai fatto un accesso e i log ce lo confermano.

Purtroppo (per fortuna!!!) per una serie di eventi errati (mancato isolamento delle variabili) il test ancora non è finito e ancora non è andato a buon fine, ma in questa fase transitoria sono nate due interessanti cose:

  • se fate test sulle pagine non usate Chrome che è uno spione e probabilmente il bot lo usa come unofficial crawler allo stesso modo in cui lo usa per trarne dati sulla velocità di una pagina e del suo processo di loading (vedi risposta di FilTro)
  • Google indicizza ma non legge: questa è cosa curiosa

Google indicizza ma non legge

Non sono ubriaco, almeno per ora, ma è quanto è successo. Durante il test (dopo la pubblicazione e dopo il primo passaggio del bot) nel sito qualcuno fuori dal mio controllo (mi tiro le orecchie da solo) ha inserito un robots.txt con un bel Disallow:/ (in realtà è stata una generazione dinamica dovuta ad un settaggio di un wordpress in privacy…)

Il test è molto semplice: c’è una decina di forme diverse di link e non link e – in ogni pagina – c’era un banale logger in php che registra su un file di testo le informazioni: ip, referral, agent, … insomma un log personale tanto per non dover disturbare i log di apache.

Dopo qualche settimana (non sapevo del robots) mi accorgo che il bot è passato solo nella root del test (alla quale avevo regalato un paio di buoni link) e nel link tradizionale, uno standard <a href=””>. Corretto: poi è arrivato il robots.txt con il disallow.

Una cosa è fondamentale: il bot è passato solamente due volte nel sito, quando il robots non c’era. Poi non è più passato: il risultato che potete vedere sotto è frutto della prima scansione e degli unici 2 record del googlebot presenti nel log!

21/01/13 18:06:10	66.249.73.196	Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)	www.***.it/***/	NoReferer
21/01/13 18:15:28	66.249.73.196	Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)	www.***.it/***/***.php	NoReferer

Ovviamente il bot (ovviamente equivale ad una bella conferma!!!) non è entrato in alcuna delle pagine linkate e inibite dal robots, ma la cosa interessante è un’altra:

Risultati senza "Omessi"

Quindi…

Risultati con "Omessi"

Dove è passato Cosa il robots ha visto (il title è generato usando dominio e anchor text):

  • root: linkata esternamente e crawlata prima del disallow (infatti ha anche il meta description)
  • esempio 2: link href follow (prima del disallow)
  • esempio 4: span con onclick=”document.location=’***’;”
  • esempio 6: span con onclick=”function(***)” (la function fa un document.location)
  • esempio 1: solo url scritta in modo completo nel html (no tag)
  • esempio 3: link href con dentro javascript:document.location=’***’ follow
  • esempio 5: link href con dentro javascript:function(***); follow

Dove non è passato:

  • esempio 7: link href con nofollow
  • esempio 8: link href con javascript:document.location e nofollow
  • esempio 9: link href con javascript:funzione (location) e nofollow

A voi le conclusioni… adesso intanto vedo di liberare il bot dal robots.txt. Quello che dico io è che Google oramai vede qualsiasi forma di cosa che possa assomigliare ad un link. L’unica cosa che ancora rispetta è il nofollow!

Dopo qualche settimana…

E’ passata qualche settimana: ecco i risultati di scansione del bot. Avendo fatto due test simili, su stesso dominio, anche se con path diverso, Google sembra annoiato, però un paio di conclusioni si possono tirare. Una sicuramente è: il nofollow funziona a dovere. L’altra è che il robots.txt bisogna usarlo sempre con molta attenzione e che non serve per deindicizzare. Infine: il javascript non tutela che Google non passi!

Pagina Tipologia Link Googlebot Gmobile

(samsung)

Gmobile Index
home page si si si si
esempio1.php URL no si si si
esempio2.php link normale si si si si (sec)
esempio3.php document.location no si si si (sec)
esempio4.php onclick: document.location no si si si (sec)
esempio5.php funzione che richiama document.location no si si si (sec)
esempio6.php onclick: funzione che richiama document.location no si si si (sec)
esempio7.php link normale, nofollow no no no no
esempio8.php document.location, nofollow no no no no
esempio9.php funzione che richiama document.location, nofollow no no no no

ps: un ringraziamento particolare a Marcio (Paul) per la pazienza e il lavoro sporco!

Loading Facebook Comments ...

20 pensieri su “TestSEO: robots e bot

  1. Andrea Moro

    Non vedo cosa ci sia di strano. Avendo tu o chi per te bloccato il sito dalla lettura hai esplicitamente chiesto al motore di ricerca di turno di evitare che tali pagine venissero di fatto restituite organicamente.
    Di qui l’esclusione in prima battuta di queste pagine dalla serp primaria e l’oscuramento dello snippet con relativo dito puntato contro il robots.

    Mi pare che le linee guida siano molto chiare al riguardo.
    http://support.google.com/webmasters/bin/answer.py?hl=it&answer=156449

    Quanto alla lettura ed esecuzione del codice javascript, anche qua da tempo e’ risaputo che Google e’ in grado di andare oltre il semplice codice ed interpretare un eventuale link. Il fatto che il nofollow sia rispettato, anche in tale situazione e’ quindi buona cosa in tutti i sensi.

    Grazie comunque per il tempo speso per mettere assieme l’articolo.

    Rispondi
    1. Merlinox Autore articolo

      Concordo con te: la cosa particolare è che quelle pagine le ha indicizzate (o quasi indicizzate) senza entrarvi. Non mi sembra una banalità.
      Per quanto riguarda JS era tacito (avevo fatto io stesso dei test) che eseguisse codice asincrono, portandolo a tempo zero. Non ero così convinto seguisse anche i link “location js”.
      In ultima, il riconoscimento dell’url plain/text, proprio in questi giorni se ne parlava in giro.

      Rispondi
      1. Andrea Moro

        Direi che “Google spione” e l’uso di Chrome o di un altro browser che utilizza HTML 5 e ogni altro sito che supportano la Timing experience ha fatto il resto.

        Del resto se devono traccare la pagina e poter dire “ci vuole x tempo”, questo tempo deve pure essere assegnato ad una “ID” particolare, quindi ad una pagina.
        Da li la complessita’ dell’algoritmo nell’aver associato la struttura delle pagine viste con il robots bloccato.

        Tuttavia, non escluderei l’ipotesi che sia stato utilizzato un diverso user-agent.

        Rispondi
        1. Merlinox Autore articolo

          Guarda ho i logo davanti agli occhi e non c’è veramente nulla di sospetto. Inoltre – aggiorno anche il post – le URL di destinazione sono rimasti vergini da navigazione, ovvero non ci abbiamo proprio MAI navigato e i log lo confermano!

          Rispondi
          1. Andrea Moro

            Da qualche parte le pagine sono state viste… non e’ possibile che sia finite li per magia.

            Forse, e dico forse, il nofollow e’ stato aggiunto dopo che la pagina era stata quanto meno letta all’inizio?
            Una concomitanza di eventi, letta, memorizzati gli URL per procedere a successiva indicizzazione poi bloccati?

            Rispondi
            1. Merlinox Autore articolo

              Andrea capisco la tua titubanza, ma era questa la cosa particolare del test. La root e la prima pagina sono state viste dal googlebot. Le altre “non” sono state visitate, ma ha creato una sorta di indice “secondario” basandosi sui link della root, tant’è che serp appare la scritta “description non disponibile a causa del robots bla bla bla”.

              Rispondi
              1. zanna86

                Forse non ho ben capito io…

                Ma è normale che Google non abbia mai richiesto tali pagine essendo in disallow nel robots.txt.

                Ed è altrettanto normale che alcune di loro siano state indicizzate: ricevevano dei link follow (ma non potevano essere richieste a causa del robots.txt)

                Google per creare lo snippet delle URL bloccate da robots si è basato su altri fattori, come per esempio l’anchor text con cui venivano linkate.

                Rispondi
                1. Merlinox Autore articolo

                  Io non vedo del tutto normale vedere in SERP delle pagine che il bot non ha visitato, sinceramente! Potrebbe esserci dentro qualsiasi cosa.

                  Rispondi
                  1. Andrea Moro

                    Come ti ha detto Zanna86 le pagine sono state indicizzate, ovvero hai un link che puo’ essere stato recuperato, ma poi per via del robots non hai snippet.

                    Tutto regolare per me.

                    Rispondi
  2. zanna86

    Ciò che dici, invece, è il normale comportamento di Google. Il bot non le ha visitate perchè gli hai proibito di richiederle da robots.txt.

    Ma nulla gli impedisce di indicizzare l’URL, anche se non può richiederle!

    L’unico modo per non far comparire una URL che restituisce status code 200 OK nelle SERP è il noindex (come meta tag o negli headers http).

    Prova a fare qualche ricerca sul robots.txt e il noindex…forse ne aveva parlato anche Enrico Altavilla sul suo blog.

    Rispondi
    1. Merlinox Autore articolo

      E’ un’assunzione di responsabilità che io come motore non mi prenderei di andare a inserire in un indice “visibile” pagine che non ho avuto la possibilità di verificare.
      Lo stesso Altavilla al Convegno GT parlava della possibilità di avere il sito rimosso dalla SERP nel caso in cui il robots.txt desse errore 500 (ma siamo OT). Test poi rivisto anche da Martin.

      Rispondi
  3. Merlinox Autore articolo

    @andrea moro: certo che è regolare, ma non è regolare che si prenda la responsabilità di linkare qualcosa solo perché è indicizzato senza fare una verifica. Dentro potrebbe esserci qualsiasi cosa e lui – responsabile dei risultati – dovrebbe andarne a verificare il contenuto. Se il robots.txt (il rispetto del…) non glielo consente allora secondo me non sarebbero contenuti elargibili.
    Io – se fossi google – non inserirei risultati in una ricerca che i miei algoritmi NON possono verificare.

    Rispondi
  4. zanna86

    Sono d’accordo con te, Merlinox, quando dici che questo meccanismo può essere pericoloso per il motore di ricerca.

    Pagine bloccate da robots.txt, solitamente rimangono confinate nell'”indice secondario”, ovvero quello accessibile solamente cliccando su “ripetere la ricerca includendo i risultati omessi” (parametro filter=0). Per esempio cercando site:cittaconla.it , entrando in quello che io chiamo “indice secondario”, puoi trovare un mio scherzetto fatto sul sito di un mio amico (ultimo risultato dell’indice secondario). E’ bastato un link sul mio blog per 2 o 3 giorni…e sono anche riuscito a dare alla URL il title che volevo io, ovvero “Impariamo a usare il robots.txt”.

    Altre volte, quando i fattori esterni sono molto forti, Google si prende la responsabilità di mettere tali URL nell’indice primario. Ad esempio per la ricerca [link assistant price], il primo risultato è bloccato da robots.txt.

    Ciao

    Rispondi
  5. Enrico Ferretti

    Ultimamente wordpress e google hanno giocato un brutto scherzo anche a me. In pratica su un blog che era online da mesi nel quale non c’era il file robots.txt ad un certo punto google è come se ne avesse generato uno virtuale, piazzandoci un bel disallow e deindicizzando tutte le pagine. Anche dal webmaster tool mi è apparso un messaggio che indicava l’impossibilità dello spider di accedere alle varie pagine web, ma il robots.txt non esisteva. A questo punto ne ho creato uno nuovo e l’ho caricato nella root, ma google per qualche strano motivo lo spider ha continuato a non riuscire ad accedere. Alla fine dopo 5 giorni di madonne, ho risolto con questo stratagemma, ho pubblicato 4 article marketing, linkando il file robots.txt nuovo e alla fine questo è stato recepito correttamente.

    Rispondi
    1. Merlinox Autore articolo

      Non è che avevi tenuto wordpress in modalità privacy e magari, essendo un sito nuovo, aveva bisogno di più giorni per ripassare a vedere il robots.txt aggiornato?

      Rispondi
  6. Enrico Ferretti

    No no, sito online da mesi, indicizzato tranquillamente, di punto in bianco questo messaggio nel webmaster tool e il comportamento descritto. D’ora in poi il file robots.txt è la prima cosa che preparo per siti sviluppati su wordpress… 🙂

    Rispondi
    1. Merlinox Autore articolo

      Strano però. Io ho notato che wordpress genera un robots.txt da solo, ma il sito era in modalità privacy. Sicuro che senza mettere il robots.txt wordpress stesso non generi uno strano codice diverso da 200 e 40*? Facci sapere.

      Rispondi

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *