Resta aggiornato con le ultime news SAEP!

come-indicizzare-una-single-page-application.jpg

Le Single Page Application non vanno di pari passo con la SEO? Ni. Si possono sviluppare buone applicazioni SPA strizzando l’occhio ai motori di ricerca. Attenti ai dettagli, però.

Single page application e SEO: la quadratura del cerchio

In un precedente articolo spiegavamo cosa sono le Single Page Application e in quali casi si rivelano particolarmente utili. Da un punto di vista “tecnico” una Single Page Application non è altro che un singolo file html che richiama uno o più file Javascript: in parole povere è un’applicazione che carica dinamicamente il proprio contenuto generato in Javascript.

Perché spieghiamo questa cosa? Perché a Google piace l’HTML, un po’ meno il Javascript.
Quindi? Niente SEO per le Single Page Application?
Non proprio, una soluzione si può trovare.
Per capire come, andiamo a vedere cosa succede quando Google incontra sul suo cammino una pagina sviluppata come Single Page Application.

Il Talk al Google I/O 2018 e le nuove policy d’indicizzazione per le SPA

La fonte forse più interessante per capire i processi e le policy di Google sono i risultati emersi nel corso dell’ultimo Google I/= Talk, di cui riportiamo il video qui sotto.

https://www.youtube.com/embed/PFwUbgvpdaQ

Dove viene ben illustrato come “Deliver search-friendly JavaScript-powered websites: learn about the best practices to build and deploy indexable sites and web-applications with JavaScript frameworks” , ovvero: in effetti è possibile realizzare pagine dinamiche scritte come Single WEB Application indicizzabili da Google.

Ma torniamo al momento topico in cui il buon Googlebot arriva sulla nostra “fresca di deploy” SPA .

  • La prima cosa che non gli passa inosservata è che la pagina è generata con Javascript.
  • Immediatamente dopo, può decidere di elaborarla oppure no. Nel caso in cui decida per il sì, la elabora e ok. Ma come vedremo è ancora – per il momento – uno sforzo non indifferente da parte del Googlebot, quindi in molti casi preferisce non elaborare il rendering, e rimandarlo ad un momento successivo.
    Elaborare bundle spesso anche complessi di risorse javascript è molto impegnativo: il Google bot deve fermarsi per spacchettare e renderizzare il codice.
    E questo su ogni singola SPA in rete.
    Un lavoro immane, su cui il bot temporeggia e rimanda finché non ha abbastanza risorse per farlo.
    Come dargli torto, direte voi.
    Certo, si stanno facendo sforzi per migliorare l’ottimizzazione del codice e sicuramente il futuro ci riserva buone sorprese e -si spera- felici semplificazioni, ma per il momento non siamo ancora a quel punto. Ma attenzione, è già emersa una nota importante: non è che Google non indicizza del tutto le SPA, solo non lo fa in tempo reale. Dopo un po’ di tempo, circa una settimana, ci ripassa e se ha maggiore risorse a disposizione, la renderizza.
    “Una settimana ci può anche stare dai”, direte voi.
    Oibò, dipende.
    Se è una pagina informativa può anche non essere un fattore determinante, ma se invece è una pagina di un prodotto in offerta sul mio eCommerce? Un articolo sponsor sul mio blog? Potrebbe essere un po’ più fastidioso. In ogni caso, si tratta non di SE ma di QUANDO.

Nel frattempo che si fa? Su cosa possiamo lavorare – ad oggi – per aiutare l’indicizzazione delle mie SPA?

Il canonical tag: evitiamo il dinamico (e pure il redirect) come la peste.

Su questo preciso aspetto Google è stato molto chiaro finora: il famoso tag canonical, che definisce la URL unica, ovvero l’indirizzo unico di un progetto web non viene letto da Google se generato dinamicamente.
Ma non è che -come sopra- non lo legge subito, però poi ripassa e ci riprova: non lo legge proprio! Un vero no-no-no.
Come risolvere il problema?

Usare un Dynamic rendering: in questo caso è lo sviluppatore stesso a fornire a Google il contenuto, tramite server side rendering e dopo acver verificato che la richiesta di elaborazione viene da un crawler d Google, e non da una normale ricerca via browser.
E’ la soluzione Google indica come preferenziale per siti molto grandi, ricchi di pagine e di contenuti aggiornati frequentemente. Attenzione: al di là delle dimensioni del sito e della frequenza di aggiornamento, il differenziale è rappresentato da quanto ci tieni alla SEO.
Se la risposta sul progetto è “tanto”, allora varrà la pena mettere in piedi il Dynamic Rendering e non lasciare che sia la Single Page Application a gestire dinamicamente canonical tag e redirect.
In caso contrario, può darsi benissimo che i Googlebot non abbiano problemi a renderizzare i tuoi contenuti, se solo non hai problemi di tempo.

Sei una PMI o hai bisogno di sviluppare una strategia SEO? La nostra agenzia SEO di Milano ti offre tutto ciò di cui hai bisogno: SEO, progetta e sviluppo eccomerce, applicazioni WEB, Mobile e IoT: software gestionali scalabili, disegnati sulle concrete esigenze della tua azienda.

  • Categories:
  • Sviluppo WEB

Articoli correlati

sviluppo-single-page-application-milano.png__800x450_q85_crop_subject_location-800,495_subsampling-2.jpg#
Single Page Application: cosa sono, come funzionano e vantaggi
Le SPA o Single Page Application sono applicazioni web fruibili come singola pagina senza necessità di caricamento per pagine: scopriamone ...
software-gestionale.jpg#
Software Gestionale
Le soluzioni software gestionali Saep ICT e Saep Informatica nascono per soddisfare qualsiasi necessità di gestione aziendale: sommano l'esperienza di ...
pwa.png#
PWA: cosa sono le progressive web apps
Le PWA – Progressive Web Application sono applicazioni estremamente focalizzate sull’importanza della User Experience e che si distinguono per ben ...
consulenza-informatica-milano.png#
Cosa fa un Consulente IT nel 2019
La consulenza informatica: "IT Consulting" o "Business and Technology Consulting" è una forma di consulenza che consiste nella prestazione professionale, ...
sviluppo-ecommerce-responsive-mobile-first-indexing.jpg#
Perché avere un e-commerce responsive: il Mobile First Indexing
Se sul finire di questo 2018 qualcuno ancora stesse sottovalutando l'importanza di ottimizzare contenuti e servizi per la navigazione da ...
Consulenza SEO Milano#
Consulenza SEO a Milano
Che voi abbiate un sito aziendale o un'e-commerce da promuovere e rilanciare, probabilmente avete già sentito parlare del termine SEO ...
sviluppo-app-android-ios-milano.png#
Come scegliere una società di sviluppo app
Ecco alcune linee guida per aiutarti a trovare la giusta azienda di sviluppo app cui affidarti per trasformare la tua ...
quanto-costa-una-software-house.png#
Quanto costa lavorare con una software house
Probabilmente ti sei chiesto quanto costa una collaborazione con un'agenzia di sviluppo software, la cosiddetta software house.La creazione di soluzioni ...
check-list-fattori-ranking-on-page.jpg#
Fattori di ranking on-page: la checklist
SEO o Search Engine Optimization è il nome dato all'attività che tenta di migliorare il posizionamento di un sito web ...
significato-acronimo-ict.png#
ICT significato e definizione
Ti sarà capitato di chiederti cosa significhi ICT, l'acronimo che identifica l'attività di molte aziende e software house che lavorano ...
sviluppo-software-personalizzato.jpg#
Sviluppo software personalizzato
Il processo di sviluppo software è un'attività complessa che richiede un’attenta pianificazione, un costante controllo e una documentazione specifica e ...
landing-page.jpg#
Landing pages: Cos'è una Pagina di Destinazione
Nel marketing digitale, una landing page è una pagina web autonoma, creata appositamente ai fini di una campagna pubblicitaria o ...
sviluppo-in-python-milano.jpg#
Sviluppo software in Python - perché ci piace.
Cerchi un team che possa supportarti nello sviluppo di software in Python? Sviluppiamo applicazioni WEB di tipo Enterprise in Python ...
dns_pubblico_di_google.png#
DNS Google pubblico diventa 8.8.8.8
Google Public DNS è un servizio gratuito offerto agli utenti Internet di tutto il mondo da Google. Il DNS Google ...
Schermata 2019-04-17 alle 11.47.57.png#
Google Material Design - La nostra guida
Cos’è il Materiale DesignIl Material Design è uno stile, un codice, un linguaggio di design sviluppato da Google supportato nativamente ...