SEO Italy blog: articoli, video e tutorial di approfondimento su posizionamento web e motori di ricerca

E' ufficiale: Google indicizza i siti in AJAX - basta seguire queste semplici (insomma...) regole

4
Mar
2010
Avere un sito in AJAX fa molto "Web 2.0" - la rotellina che gira, i DIV che si aggiornano in maniera indipendente dal resto della pagina, maggiore interattività - tutto molto figo. Purtroppo il prezzo da pagare fino a poco fa era la scarsa indicizzazione delle pagine in AJAX da parte dei motori di ricerca: d'altro canto, si tratta di una tecnica piuttosto avanzata (anche se vecchia come il cucù) di Javascript e non possiamo pretendere che gli spider sappiano interpretarla.

Ma tutto questo ormai non è che un brutto ricordo! Google ha pubblicato oggi le istruzioni per far indicizzare anche il proprio sito AJAX e quindi con qualche semplice (vedremo...) mossa è finalmente possibile raggiungere il posizionamento che le nostre pagine meritano sui motori di ricerca senza dover rinunciare alla nostra fantastica rotellina AJAX.

Vediamo come, in un italiano che speriamo sia comprensibile e chiaro...
  1. Indichiamo allo spider di Google che il nostro sito supporta il nuovo "schema" di indicizzazione per AJAX
    Di solito una URL in AJAX contiene un hash "#" per indicare i diversi "stati" della nostra applicazione. Ipotizziamo di avere un sito con diversi tab e di usare AJAX per passare da uno all'altro aggiornando dinamicamente il contenuto della pagina, e ipotizziamo poi che il secondo tab (tab2) contenga la descrizione della nostra azienda. Passare da un tab all'altro di solito significa avere una URL tipo
    http://www.miosito.com/index.html#tab2

    che non ricarica l'intera pagina ma cambia solo il contenuto che a noi interessa variare (in questo caso il DIV centrale dove va inserito dinamicamente il testo di descrizione della nostra azienda).
    Fino ad adesso un sito del genere era visto, dagli spider, come un sito con una sola pagina: i motori di ricerca non erano infatti in grado di "cliccare sui link" (o meglio, per loro erano frammenti di una singola pagina) e dunque tutti gli altri contenuti che vengono dinamicamente cambiati tramite AJAX rimanevano invisibili agli spider.
    Ora, quello che Google ci chiede di fare è di aggiungere un punto esclamativo subito dopo il cancelletto, così:
    http://www.miosito.com/index.html#!tab2
    In questa maniera diremo allo spider che siamo in grado di accettare la procedura di indicizzazione in AJAX

  2. Il crawler cambierà la URL richiesta
    Nel momento in cui lo spider di Google vede una URL come quella che abbiamo detto (cioè #!tab2) ci manderà una richiesta per questa URL
    http://www.miosito.com/index.html?_escaped_fragment_=tab2
    In sostanza quella che prima era una URL che attivava un evento AJAX all'interno di una stessa pagina adesso diventa una URL che richiede l'invio di uno snapshot (cioè di un fammento di HTML, per essere chiari il pezzo della nostra pagina con cui avremmo aggiornato i contenuti del tab)

  3. Noi rispondiamo con i contenuti del frammento
    Quello che dobbiamo fare è rispondere alla richiesta con quei contenuti che avremmo inserito dinamicamente attraverso la chiamata in AJAX: nel nostro esempio dobbiamo dunque inviare i contenuti della "pagina" (o meglio, del tab) con la descrizione della nostra azienda. Questo soluzione è piuttosto facile da implementare quando si utilizza un linguaggio server-side tipo PHP o ASP - se l'architettura del sito è fatta bene non si deve cambiare praticamente nulla del proprio codice.
Alcune considerazioni
Non è chiarissimo come veranno indicizzate le pagine in AJAX (si vedranno solo i frammenti o la pagina "composta"?): un metodo per togliersi il dubbio - e per verificare che il tutto funzioni correttamente - è utilizzare il "Fetch as Googlebot" (cioè visualizza come il robot di Google) per vedere che cosa viene visto delle nostre pagine da parte dello spider di Google.

In ogni caso, ad essere sinceri, questa ci pare una soluzione un po' arzigogolata: il nostro approccio è, quando possibile, avere due siti paralleli, uno in AJAX (non indicizzato dai motori di ricerca) e uno che offra le stesse caratteristiche di navigazione e di contenuti ma in HTML "semplice": come dicevamo prima strutturando correttamente il proprio codice si può ottenere senza troppo sforzo e, a nostro modo di vedere, è a tutt'oggi il modo migliore di essere ben indicizzati senza sacrificare alcuni abbellimenti di navigazione che AJAX offre.
Seguici su Twitter La nostra fan page su Facebook Il nostro canale YouTube RSS Feed
Contattaci per un'analisi gratuita e senza impegno del tuo sito web e scopri il nostro SEO garantito: noi guadagnamo solo se tu ottieni dei risultati concreti >>

+39 06 20368162
+39 06 87465994
info@seoitaly.it