ActionScript, ActionScript 2, ActionScript 3, Flash, Open Source

SEO con Javascript per Actionscript Flash Flex AJAX, si chiama asual SWFAddress ed è opensource

Utilizzare tecnologie client side quali Flash, Flex, Ajax all’interno di un website può aumentare l’usabilità del sito stesso, può rendere pi√π gradevole l’interfaccia, pi√π intuitiva la navigazione, ma rende decisamente pi√π difficile ed impervia l’ottimizzazione per i motori di ricerca (SEO).

Uno dei metodi utilizzati per il posizionamento di siti fortemente aggrappati alle tecnologie client è creare delle “landing pages” che rimandino in qualche modo al sito flash ajax flex ecc.. ma il buon esito non è certo assicurato, anzi.

SEO con Flash e Ajax


Da come ho impostato l’inizio dell’articolo sembra quasi che voglia vendervi un rimedio miracoloso per il seo su siti “client” 🙂
invece no, tutto gratuito, ed oltre tutto open source! 😀 In Bulgaria c’è un’aziendina, la “asual“, che si è inventata l’ SWFAddress, ossia un sistema basato su javascript e fortemente legato a SWFObject che permette il deep linking con flash, ajax e le altre tecnologie lato client.

Come si usa e come è stato fatto
La logica è quella dell’url rewriting e dei permalink, ma questi vengono creati runtime dagli script residenti sul client.

Le classi per Actionscript 2 e 3 di SWFAddress forniscono delle API al player per interagire con l’oggetto “asual” nella libreria javascript che si andrà ad includere nella pagina.

Nel codice html della pagina basterà includere SWFObject e SWFAddress (ricordarsi, prima uno e poi l’altro, altrimenti non funzia)


Nel codice actionscript bisognerà importare ed istanziare la classe SWFAddress e definire i pattern di navigazione desiderati.
In linea di massima ogni qual volta si “cambierà sezione” del sito basterà aggiungere alla funzione qualcosa tipo

SWFAddress.setValue('/nomesezione/');

e nella barra del browser cambierà l’url.
Per quanto riguarda il processo inverso (ossia forzare una sezione del sito in flash partendo da un url digitato sulla barra del browser) invece è necessario definire gli stessi pattern all’interno del metodo

SWFAddress.onChange

in modo che venga a crearsi una reciproca corrispondenza tra funzioni flash e url nel browser.

SWFAddress per flash è basato su “ExternalInterface” disponibile dal flash player 8 (classe dedita all’interazione tra actionscript e javascript).
L’oggetto javascript asual dichiarato nella libreria di SWFAddress definisce varie funzioni che permettono di riscrivere secondo la sintassi desiderata l’url della pagina in permanenza partendo da un url dinamico, di decodificare un URL riscritto precedentemente e addirittura di inserire gli indirizzi codificati a runtime delle pagine nella history del browser.
Il tutto è reso possibile dalla rivalutazione del token html “#”. Il cancelletto # indica le ancore all’interno di una pagina html, cliccando su un’ancora la pagina si “sposta” focalizzando sul punto visibile pi√π vicino all’ancora ma non viene ricaricata la pagina benchè l’URL della pagina stessa venga riscritto.

IMHO
Il difetto maggiore di SWFAddress a mio avviso è la mancanza di link effettivi. Questo “hack delle ancore” (passatemi il termine) non risolve il problema principale in materia SEO di piattaforme RIA come Flash: l’assoluta assenza di collegamenti. Sicuramente SWFAddress è un passo da giganti per flash, il “novello” flex, e ajax, tanto che aziende affermate come 2advanced sfruttano questo tipo di hack per la navigazione del proprio sito, tuttavia ribadisco che la mancanza di link tra le pagine è una forte limitazione in termini di ottimizzazione per i motori di ricerca.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s