Lo scorso mercoledì mattina, attraverso l'account Twitter ufficiale, Google ha annunciato la pubblicazione della documentazione relativa al "dynamic rendering" (in ambito SEO) e alla sua implementazione. Questa soluzione è particolarmente indicata per le pagine/applicazioni Web basate su Javascript e l'ottimizzazione dei risultati derivanti da crawling e indicizzazione.
Nell'attuale era di scripting infatti, Javascript si sta sostituendo sempre di più all'HTML, nella produzione (o resa) dinamica delle pagine Web. A seconda della tecnologia utilizzata può essere prodotta un'applicazione dal DOM virtuale, template a singola pagina ricchi di richieste ed aggiornamenti asincroni e template HTML custom fortemente dinamici. Sebbene in un'ottica moderna questa sia la soluzione più avanzata per sviluppare applicazioni Web, presenta una problematica riguardante l'indicizzazione corretta dei contenuti.
Il "dynamic rendering" è un concetto la cui descrizione ci viene fornita direttamente da Google: intercambiare tra un contenuto client-side "rendered" a uno "pre-rendered" per user-agents specifici.
In poche parole, servire a Google una versione HTML della pagina mentre viene fornita all'utente "umano" la versione prodotta da Javascript. Big G sostiene che attualmente è difficile processare Javascript e non tutti i motori di ricerca sono in grado di analizzarlo in modo corretto ed immediato. Nell'attesa di trovare una soluzione definitiva (che sa tanto di "fix") è lo stesso Google ad offrire la soluzione tampone: il dynamic rendering come aggiramento temporaneo dell'ostacolo. Cosi come l'AJAX Crawling Scheme, anche questa soluzione potrebbe dunque essere abbandonata una volta risolto il problema alla radice.
Google puntualizza giustamente che non tutte le pagine Web hanno necessità di utilizzare il dynamic rendering. Le più indicate sono, come dichiarato in precedenza, quelle il cui contenuto cambia rapidamente (e dunque possiedono natura fortemente dinamica) o utilizzano feature Javascript che non sono supportate dai crawler presi in considerazione in fase di sviluppo.
Il dynamic rendering richiede la capacità server di individuare i crawler. Le richieste dai crawler vengono nuovamente indirizzate ad un contenuto già prodotto, mentre quelle provenienti dagli utenti "umani" vengono prodotte normalmente. Un esempio di contenuto per i crawler potrebbe essere una pagina HTML statica. E' possibile scegliere di applicare il dynamic rendering per tutte le pagine o solo per quelle indicate.
Per utilizzare al meglio il servizio, vi rimando alla documentazione ufficiale di Google che offre istruzioni pratiche step-by-step utili ad implementare questa strategia.