Quando Google e altri motori di ricerca indicizzano i siti web, pare non facciamo utilizzo di Javascript. Questo sembra mettere i siti web formati da una sola pagina (i quali fanno un uso pesante di Javascript) in grosso svantaggio rispetto i siti web tradizionali.

Senza le giuste conoscenze del caso, tutto ciò potrebbe essere visto dai designer disinformati come un qualcosa di talmente scoraggiante da fargli abbandonare completamente l’idea dello sviluppo di un sito web a singola pagina.
Ecco dov’è l’errore invece! I tempi sono cambiati, e Google e gli altri motori di ricerca hanno accettato la sfida, cambiando la propria struttura e rendendo quindi possibile l’indicizzazione per i siti web a singola pagina. Non solo permetteno di indicizzare le pagine dinamiche, ma anche ottimizzare queste pagine dinamiche per i Crawlers.

In questo articolo ci concentreremo su Google, ma anche altri grandi motori di ricerca come Binh e Yahoo! sostengono lo stesso meccanismo.

Come funzionano i crawler i Google nei siti web a singola pagina

Quando Google indicizza un normale sito web, il suo web crawler (chiamato GoogleBot) per prima cosa effettua la scansione ed indicizza i contenuti dei file presenti nella radice del nostro dominio (per esempio www.miosito.it). Una volta completato, segue tutti i link presenti in quelle pagine indicizzandole, e cosi via fino a completare la scansione.

Quando il GoogleBot prova a indicizzare un sito web a singola pagina, ciò che vede un div vuoto, quindi non trova nulla da scansionare e nessun link da seguire e cosi finisce la storia con lo spostamento del sito nell’angolo remoto della scrivania di Google, dove finiscono tutti i “siti scartati”.

Se fosse davvero questo la fine della storia, sarebbe la fine dei siti web a pagina singola e di molte web app. Fortunatamente Google e gli altri motori di ricerca si sono accorti della questione, ed hanno realizzato alcuni tools da fornire agli sviluppatori per rendere l’indicizzazione di questi strani siti web anche migliore di quelli tradizionali.

Come impostare un sito web a pagina singola per la lettura da parte dei Crawler

Innanzitutto bisogna sapere che i nostri server possono capire se una richiesta è fatta da un crawler o da un utente che utilizza un browser e rispondere di conseguenza. Quando il visitatore è un utente che utilizza un browser, il server risponde normalmente, ma per un crawler, ritorna una pagina ottimizzata contenente esattamente ciò che vogliamo che il crawler legga, in un formato a lui leggibile.

Per la home page del nostro sito, a cosa assomiglia una pagina ottimizzata per i crawler? E’ probabilmente il nostro logo o altre immagini primarie che ci piacerebbe apparissero nei risultati di ricerca, un po di testo ottimizzato che spiega di cosa tratta il sito web, ed una lista di links HTML alle sole pagine che vogliamo vengano indicizzate. Ciò che la pagina NON ha è alcun stile CSS o strutture HTML complesse applicate ad esso. Nessun JavaScript o links che portano a pagina che non vogliamo vengano indicizzate. L’immagine sottostante mostra come una pagina venga mostrata a un browser (sulla sinistra) e a un crawler (sulla destra).

ottimizzazione per crawler

Personalizzare i contenuti per i crawlers

Tipicamente, i siti web a singola pagina puntano a contenuti differenti usando un hash bang (#!). Questi links non vengono seguiti allo stesso modo da utenti e crawlers.

Se nel nostro sito web a singola pagina un link alla pagina dell’utente assomiglia a /index.htm#!page=user:id,123, il crawler vedrà l’hash bang come il puntamento a una pagina del tipo /index.htm?_escaped_fragment_=page=user:id,123. Sapendo che il crawler seguirà questo percorso in cerca di quell’indirizzo, possiamo programmare il server perchè risponda con lo snapshot HTML della pagina che verrebbe normalmente “realizzata” da JavaScript nel browser.

Quello snapshot sarà indicizzato da Google, ma chiunque clicchi sulla nostra lista nei risultati di Google, sarà indirizzato a questo indirizzo /index.htm#!page=user:id,123. Il sito web a pagina singola realizzato in JavaScript andrà oltre, impostando la pagina comeci aspettavamo.

Questo permette ai programmatori di realizzare i propri siti web a pagina singola su misura per Google e gli utenti. Invece di avere 2 testi scritti entrambi leggibili per una persona e capibili dei crawler, le pagine possono essere ottimizzate per entrambi senza preoccuparsi degli altri. Il percorso del crawler attraverso il nostro sito può essere controllato, permettendoci di dirigere le persone dai risultati di ricerca di Google a uno specifico insieme di pagine d’entrata. Questo richiede maggiore lavoro dal lato della programmazione, ma può avere un ottimo torna conto in termini di risultati di ricerca.

Indentificare i crawler web di Google

Googlebot si è annunciato come un crawler del server realizzando richieste con una stringa da user-agent di Googlebot/2.1 (+http://www.googlebot.com/bot.html). Un’applicazione Node.js può controlalre per questa user-agent stringa e restituire la homepage ottimizzata per crawler se la stringa user-agent corrisponde. In alternativa, possiamo trattare la richiesta normalmente.

Questo processo sembra complicato da testare, fino a quando non possediamo un Googlebot. Comunque Google offre servizi per far ciò per pubblicizzare le produzioni disponibili di siti internet come parte dei Webmaster Tools, ma una via più semplice per testarlo è quella di imbrogliare la nostra stringa user-agent. Questo necessita di utilizzare alcuni comandi in linea, ma gli strumenti per developer di Chrome rendono tutto ciò semplice come cliccare un bottone:

Aprite gli strumenti da developer di Chrome cliccando il bottone con 3 righe orizzontali a destra della Google Toolbar, e selezionate Tools dal menu e cliccate su Developer Tools.

Nell’angolo in basso a destra dello schermo c’è l’icona di un ingranaggio: cliccateci sopra e visualizzate alcune opzioni avanzate come disabilitare la cache ed attivare all’avvio XmlHttpRequests.

Nel secondo tab, chiamato Overrides, cliccate il check box vicino all’etichetta User Agent e selezionate qualsiasi numero di user agents dal menu a cascata da Chrome a Firefox, a IE, iPad e altri. Il Googlebot agent non è un’opzione did efault. Per usarla selezionate Altro e copiate e incollate la stringa user-agent nella casella di input.

Ora il tab sta imbrogliando se stesso come un Googlebot, e quando apriamo qualsiasi URI nel nostro sito, dovremmo vedere la pagina per il crawler.

16 consigli per aumentare il traffico e le visite al tuo Sito Web

LASCIA UN COMMENTO