JS, AJAX, RIA e impatti su SEO

Approfitto di una richiesta di informazioni di un cortese utente per condividere alcune considerazioni in merito agli impatti su SEO dell’impiego di tecniche AJAX e soluzioni RIA. Segue la mia risposta, con ulteriori note di approfondimento.

[...]Indubbiamente, negli ultimi anni, Google ed altri motori di ricerca hanno introdotto numerosi miglioramenti nei propri spider e ciò rende più efficace e meno rischioso l’uso di librerie che forniscono soluzioni AJAX e altri approcci RIA (Rich Internet Application).

L’uso di AJAX potrebbe introdurre qualche difficoltà se i contenuti attivi sono caricati da risorse esterne (file esterni) eventualmente anche indicizzabili. Queste ultime risorse, una volta indicizzate, potrebbero comparire in SERP e non essere ottimizzate (essendo state pensate per integrarsi in altri contenuti). Ma questo è solo un esempio di un problema facilmente risolvibile.

[...] l’uso di AJAX, dal punto di vista dei motori di ricerca è come se equivalesse all’uso dei vecchi GOTO in certi linguaggi di programmazione. Dal punto di vista dell’utente finale cambia poco, se il software è ben scritto. Invece, dal punto di vista di chi deve manutenere il codice, nel caso di un’implementazione “spaghetti-like”, risalire all’organizzazione del codice (diciamo pure alla sua architettura) potrebbe diventare un compito molto arduo e altamente time-consuming.

Analogamente, su Web, l’obiettivo dovrebbe essere quello di organizzare il sito (e le scelte tecnologiche) in modo da favorire la “comprensione”/esplorazione dell’architettura del sito ai motori di ricerca e senza penalizzare la fruibilità dal punto di vista dell’utente umano (soggetto principale).

In aggiunta, [..]poichè AJAX è una tecnica basata su JS (anche se l’uso di JS non è obbligatorio), ti consiglio di inquadrare le tue valutazioni in un’analisi più estesa relativa all’uso di JS e agli effetti collaterali in tema SEO.

Per esempio, un tema importante riguarda la necessità di visualizzare, secondo modalità diverse, i medesimi contenuti in relazione alle capability dei browser e nel rispetto delle policy di Google (per non incorrere in penalizzazioni).

Alcune citazioni ufficiali dalle policy di Google:

Da Istruzioni per i webmaster
[..]Utilizza un browser di testo come Lynx per esaminare il tuo sito, in quanto la maggior parte degli spider dei motori di ricerca rileva il sito allo stesso modo di Lynx. Se funzioni creative come JavaScript, cookie, ID di sessione, frame, DHTML o Flash ti impediscono di visualizzare l'intero sito in un browser di testo, anche gli spider dei motori di ricerca potrebbero riscontrare problemi durante la scansione del tuo sito.[..]

Da Cloaking, comandi di reindirizzamento JavaScript non ammessi e pagine doorway
[..]Accertati di fornire gli stessi contenuti in entrambi gli elementi (ad esempio, lo stesso testo in JavaScript e nel tag noscript). L'inserimento di contenuti sostanzialmente diversi nell'elemento alternativo può provocare un intervento di Google sul sito.[..]
N.D.A. Nella stessa pagina consiglio la lettura delle sezioni "Comandi di reindirizzamento JavaScript non ammessi" e "Pagine doorway".

Da Linee guida per l'uso di Flash e altri formati multimediali - sezione Best Practice
[..]Utilizza i formati multimediali solo dove è necessario. Consigliamo di utilizzare HTML per i contenuti e la navigazione. Ciò rende il tuo sito maggiormente conforme alle indicazioni di Google e accessibile a un numero maggiore di utenti tra cui, ad esempio, i lettori con problemi visivi che necessitano di screen reader, gli utenti che utilizzano browser obsoleti o non standard e gli utenti con connessioni limitate o a bassa velocità, quali quelle dei cellulari o dei dispositivi mobili.[..]
[..]Fornisci versioni di testo delle pagine.[..]
[..]Prendi in considerazione la possibilità di utilizzare robots.txt per bloccare i file multimediali. Se fornisci versioni di testo dei contenuti, potresti considerare la possibilità di utilizzare robots.txt per bloccare l'accesso alle versioni multimediali.

Sottopongo, infine, alcuni spunti di riflessione. Volendo usare Flash, come gestiresti il caso in cui il browser non supporta il player Flash e tu hai comunque la necessità di presentare i contenuti chiave in modo alternativo alla presentazione Flash e in linea con le policy? Caricheresti i contenuti da file esterni? Useresti il tag noscript? Imposteresti la pagina in modo tradizionale, ma con un codice JS che sostituisce il testo statico con una chiamata a contenuto attivo Flash? Come eviti il cloaking?

Tutti questi argomenti sono fortemente correlati e sarebbe bello poterli analizzare in profondità. Sul discorso Flash, JS, ecc.. propongo un sito che trovo abbastanza educativo dal punto di vista della soluzione applicata http://www.jacuzzi.eu/res/youngproject/IT/splash.htm
Prova a navigarlo, a dare uno sguardo al codice statico e a quello in elaborazione (usa Firebug). Imparare dal lavoro degli altri, soprattutto se compententi, è sempre una grande cosa! ;)

Per concludere, sul trattamento di contenuti Flash, seguono alcune utili note che estraggo dal capitolo “Elementi di base” di SEO Strategy:

[..]Google è in grado di indicizzare contenuto Flash. In particolare, il motore indicizza tutto il testo che un utente vede quando interagisce con il componente Flash. Il contenuto testuale può anche essere utilizzato per creare la descrizione del sito nella SERP. Il testo che appare nei file Flash può essere abbinato ai termini utilizzati nelle ricerche su Google. Se un file Flash contiene dei link alle pagine del sito, Google può utilizzarli per meglio scansionare ed indicizzare il sito. Se il file Flash carica file HTML, XML o altro SWF, Google indicizzerà separatamente queste risorse e non verranno considerate parte del contenuto del file.

Leave a comment

Your comment