Monitora prestazioni e UX dei tuoi siti con Knime e l'API di Google PageSpeed Insights

Il workflow "Google PageSpeed - Get data via API", per Knime Analytics Platform, sfrutta l'API PageSpeed Insights di Google per raccogliere dati sulle prestazioni e l'usabilità di un sito. Puoi quindi usarlo per ottenere un report di benchmark del tuo sito web con quelli dei tuoi concorrenti. Questo workflow è disponibile gratuitamente su Knime Hub.

Workflow di Knime per caricare i dati di PageSpeed Insights via API
Knime carica, tramite l'API PageSpeed Insights, i KPI di prestazione e UX di più siti e produce un report di benchmark

Prima di iniziare due parole su Knime

Knime è un software per l'analisi dei dati con numerosi punti di forza:

  1. Facilità di apprendimento: Knime è estremamente intuitivo da usare e permette di ottenere i primi  risultati in pochissimo tempo, anche dopo solamente qualche ora di utilizzo.
  2. Risorse didattiche online: online è disponibile una vasta gamma di corsi video per imparare ad usare knime e conseguire, se si desidera, le certificazioni professionali. Sempre online è possibile scaricare manuali ed ebook utili per approfondire le proprie conoscenze e padroneggiare appieno questo software.
  3. Chiarezza. Grazie alla sua natura grafica del workflow, le fasi e i passaggi sono chiari e facili da spiegare anche ai "non addetti". A mio parere questo è uno degli aspetti più interessanti di Knime: riuscire a spiegare ogni passaggio al proprio capo in modo trasparente non ha prezzo!
  4. Community collaborativa: Knime può vantare una community attiva e collaborativa. Nel forum è facile trovare la soluzione al problema che ti sta bloccando e, in caso contrario, ci sarà sempre qualcuno pronto ad offrire assistenza.
  5. Potenza e completezza: Knime consente di realizzare una vasta gamma di analisi e modelli; sì, anche lavorare con uno di quei modelli linguistici oggi tanto di moda 😃 (se ti interessa vedi https://www.knime.com/blog/guide-to-build-your-own-LLM-solutions).
  6. Gratuità: Knime è completamente gratuito. È importante ribadire che nonostante la sua gratuità, Knime è un software professionale e potente, non è un ripiego.

Puoi scaricare gratuitamente Knime da questo link: https://www.knime.com/downloads. Anche se la registrazione non è obbligatoria, la consiglio vivamente, in quanto ti permette di accedere alle risorse del forum e di essere parte attiva della community.

Ed ora passiamo a...

....PageSpeed Insights

Google PageSpeed Insights (PSI) è uno strumento online fornito gratuitamente da Google che valuta le prestazioni di un sito web su dispositivi mobili e desktop: ne analizza le pagine e fornisce suggerimenti per migliorarne la velocità di caricamento e l'esperienza utente.

Puoi provarlo visitando il sito web dedicato (https://pagespeed.web.dev/) e inserendo l'URL del sito web che desideri analizzare: dopo qualche secondo PageSpeed Insights fornirà un report con cinque KPI (uno per ogni categoria analizzata: Prestazioni, Accessibilità, Best practices, SEO e Progressive Web App) e un elenco di suggerimenti per migliorare le prestazioni e l'esperienza utente sul sito. L'analisi della voce Prestazioni, a sua volta, dettaglia le performance del sito rispetto alle seguenti metriche: First content Painful, Largest Content Painful, Total Blocking Time, Cumulative Layout Shift, Speed Index.

Uno degli aspetti più interessanti di Google PageSpeed Insights è che permette di analizzare qualsiasi sito; non essendo richiesta una verifica della proprietà del dominio è quindi possibile utilizzarlo per studiare anche i siti della "concorrenza" e fare un benchmark con i nostri siti.
Per farlo abbiamo due alternative:

  • andare sul sito di PSI, inserire uno alla volta gli url da analizzare (il nostro e quelli della "concorrenza") e annotarci manualmente i risultati su di un foglio di lavoro (Excel o Google Sheet);
  • oppure possiamo chiedere a Knime di fare il lavoro "sporco", facendogli recuperare i dati del nostro sito, e di tutti gli altri siti che vogliamo, tramite la API di PageSpeed Insights e facendogli poi produrre un bel report di benchmark (vedi la figura più sotto) con due diagrammi di Kiviat (o grafico a radar), uno per la navigazione in modalità "desktop", l'altro per la navigazione in modalità "mobile". In questo secondo caso Knime lavora, e noi ci possiamo concentrare sulla ben più interessante fase di analisi dei dati.

Report di performance PageSpeed Insights
Benchmark tra le prestazioni di siti diversi con PageSpeed Insights e Knime

Io, ovviamente, ho scelto la seconda strada: è più divertente e, soprattutto, una volta predisposto il workflow lo posso rieseguire tutte le volte che voglio con un semplice clic. 

Il workflow è articolato in tre fasi:

  • la prima permette di configurare la propria API key e di indicare le url dei siti da monitorare;
  • la seconda recupera, per ogni sito indicato, le informazioni da PageSpeed Insight e le elabora;
  • la terza scarica i dati elaborati in locale (per eventuali e ulteriori analisi successive) e li prepara per la rappresentazione a video.

Prima di eseguire il workflow (lo puoi scaricare dal Knime Hub a questo link: https://hub.knime.com/-/spaces/-/~d1XTiU-e2x2qP5cn/current-state/) sono opportune alcune precisazioni:

  • non è necessaria una chiave API per provare API PageSpeed Insights. Ne avrai bisogno se prevedi di eseguire più di due query al secondo: puoi ottenerla cliccando su questo link (https://developers.google.com/speed/docs/insights/v5/get-started?hl=it) oppure, se hai un account sviluppatore, creando un progetto in Google Cloud (https://console.cloud.google.com/). Nel workflow è richiesto l'inserimento dell'API key.
  • l'API di PageSpeed Insights restituisce un file json talmente ricco di informazioni da risultare disorientante. Per questo report io mi sono limitato a raccogliere gli indicatori di riepilogo principali (Prestazioni, Accessibilità, Best Practices, SEO e PWA) ma, con un po' di pazienza, è possibile importare in Knime il punteggio associato a tutte le altre metriche di prestazione e usabilità calcolate da Google. Per il dettaglio dei parametri della richiesta http e della struttura della risposta puoi consultare questa pagina: https://developers.google.com/speed/docs/insights/v5/reference/pagespeedapi/runpagespeed?hl=it#response.
  • la fase di recupero dei dati tramite PageSpeed Insights API è piuttosto lunga. Quindi non preoccupatevi se vedere i nodi di Knime lavorare (non stanno girando a vuoto!).
  • nel workflow che scaricate troverete in realtà due workflow. Il primo in alto (racchiuso nella cornice verde) è quello finale; più sotto ho lasciato (nella cornice azzurrina) anche una versione intermedia ("DRAFT"), una bozza di lavoro che permette di vedere più facilmente alcuni passaggi che nella versione finale sono meno intuitivi. Anche la versione "DRAFT" è perfettamente funzionante, ricordatevi solo di inserire la vostra chiave API (nei nodi "PSI - mobile" e "PSI - desktop")

Prima di salutarvi, condivido qualche link utile per approfondire questo argomento e personalizzare a piacere il workflow:

Commenti

Post popolari in questo blog

Building a high-performance data and AI organization - MIT report 2023

AI Will Transform the Global Economy. Let’s Make Sure It Benefits Humanity. - IFM blog

Dove trovare raccolte di dati (dataset) utilizzabili gratuitamente