By Andrea Volpini

5 anni ago

Come aumentare il CTR organico di un sito web? In questo post, ti illustrerò come effettuare l’analisi dei dati della Google Search Console attraverso l’Intelligenza Artificiale, allo scopo di ottenere informazioni rilevanti su quali pagine possano essere ottimizzate per migliorare il traffico organico di un sito web aziendale. Nello specifico, utilizzerò il k-Meansclustering, una tecnica di raggruppamento […]

Come aumentare il CTR organico di un sito web? In questo post, ti illustrerò come effettuare l’analisi dei dati della Google Search Console attraverso l’Intelligenza Artificiale, allo scopo di ottenere informazioni rilevanti su quali pagine possano essere ottimizzate per migliorare il traffico organico di un sito web aziendale. Nello specifico, utilizzerò il k-Meansclustering, una tecnica di raggruppamento dati che utilizza il machine learning ed andrò a evidenziare le nozioni che ho acquisito durante l’utilizzo di questa tecnica per l’ottimizzazione SEO di un sito web.

Questo post mi ha anche aiutato a scoprire qualcosa di nuovo sui nostri clienti: quando propongo di utilizzare direttamente i loro dati, la reazione in generale è sempre di estremo sollievo, si sentono sollevati all’idea che l’Intelligenza Artificiale possa occuparsi di un compito banale e ripetitivo come l’analisi dei dati della GSC. Questo permette effettivamente ai clienti del nostro servizio di gestione SEO su misura, e al nostro team, di concentrarsi su compiti più complessi e a dedicarsi alla creazione del valore aggiunto sui contenuti, occupandosi di scrittura ed eventualmente di monetizzazione.

Il machine learning è divertente

Questo esperimento può essere svolto da chiunque e non prevede alcuna abilità specifica in termini di programmazione. Una buona padronanza di Google Sheet è, infatti, più che sufficiente per iniziare ad occuparsi del data mining dei dati della Google Search Console del proprio sito web.

Abbiamo utilizzato Orange, uno strumento open-source basato su Python e sviluppato per il data mining e l’analisi, che utilizza un chiaro sistema di programmazione visuale (un’interfaccia utente grafica che permette di svolgere i compiti che  sviluppatore Python porterebbe a termine scrivendo codice su un Jupyter Notebook, evviva!).

È possibile installare Orange da Anaconda, una nota piattaforma per il Data Science in Python, o semplicemente scaricarlo e installarlo dal loro sito web. Durante l’esperimento, inoltre, sarà possibile estrarre informazioni sulla lunghezza del titolo e della meta description e, per farlo, è possibile usare un account WooRank, Sitebulb o qualsiasi altro web crawler a tua scelta.

Sulle spalle dei giganti

Iniziare a lavorare con il machine learning prevede, innanzitutto, un cambio di paradigma. Si tratta sostanzialmente di fornire alla macchina dati sufficientemente accurati per permetterle di apprendere da questi e di autoprogrammarsi, aiutandoci nell’analisi attraverso il raggruppamento dei dati, l’elaborazione delle previsioni e ricavando modelli rilevanti all’interno del nostro dataset. Scegliere i punti di riferimento e curare il dataset, quando si lavora con il machine learning, è un passaggio strategico fondamentale tanto quanto la scrittura di un programma nell’informatica tradizionale.

Decidendo con quale tipo di dati alimentare la macchina, le trasferiamo le conoscenze necessarie all’addestramento. Per farlo, avremo bisogno dei cosiddetti domain expert: quando ho iniziato questo esperimento, mi sono imbattuto in un tweet di Bill Slawski che mi ha aperto gli occhi sull’importanza di confrontare le impression con i click in pagina, forse uno dei dati più rilevanti che ci vengono forniti dal Google Search Console.

Ho scoperto poi un’altra interessante conversazione sull’argomento tra Aleyda Solis e Cyrus Shepard.

Dopo aver letto questi interventi, ho deciso di compilare un dataset composto dai seguenti attributi. I primi 6 provengono da GSC, mentre gli altri 2 derivano dal crawling delle pagine.

L’idea generale, come spiegato da Bill Slawski, è di ottimizzare il titolo e la meta descrizione su quelle pagine che ricevono un buon numero di impression e un basso numero di click.

“Vuoi sapere di più sui dati del Google Search Console? Ecco un approfondimento esaustivo sul blog di WooRank.”

Come abbiamo imparato dal tweet di Aleyda, un altro aspetto importante per vincere a questo gioco è quello di concentrarsi solo sulle pagine che hanno già una buona posizione (nello specifico lei parla di quelle tra la 3 e la 5). Questo consiglio è estremamente importante, poiché accelera il processo e ci porta a risultati quasi immediati. Ovviamente, questo range potrebbe essere diverso per i piccoli siti web (in alcuni casi potrebbe essere utile lavorare anche su pagine con una posizione compresa tra la 3 e la 10).

Come faccio a portare i dati dalla GSC su Google Sheet?

Fortunatamente, GSC fornisce un accesso veloce e affidabile ai propri dati tramite le API e basterà utilizzare un Google Sheet Add On chiamato searchanalyticsforsheets.com per recuperare automaticamente i dati e archiviarli su Google Sheet senza dover scrivere una riga di codice. È un tool gratuito, semplice da usare e ben documentato (complimenti al team di sviluppo ?).

Se si ha familiarità con Python, è possibile usare questo script di Stephan Solomonidis disponibile su GitHub, che può svolgere praticamente lo stesso lavoro con solo poche righe di codice.

Nel mio dataset, volevo creare un file che contenesse sia le query che le pagine. Una pagina, infatti, di solito si posiziona su più intenti ed è importante scoprire qual è la query principale che vogliamo ottimizzare per ottenere un risultato efficace.

Come posso accorpare due dataset in uno?

L’aggregazione dei dati dal crawler con i dati di GSC può essere eseguita direttamente su Orange utilizzando il widget per il merge dei dati, in grado di combinare orizzontalmente due dataset utilizzando la pagina come attributo chiave. Per il mio esperimento, invece, ho usato Google Sheet con una combinazione di ARRAYFORMULA (che esegue la funzione su un’intera colonna) e VLOOKUP (è questa la funzione che si occupa di creare la corrispondenza e di riportare il titolo e la meta descrizione nella stessa tabella).

=ARRAYFORMULA(VLOOKUP(A2:A,crawl_html!A6:C501,{1,2},false))
ARRAYFORMULA(VLOOKUP(search_key,range,index,[is_sorted]))
  • search_key (l’attributo utilizzato per creare la combinazione)
  • range (il foglio con i dati estratti dal crawler)
  • index (le colonne con i dataset del crawler che vogliamo importare per la lunghezza del titolo e della meta descrizione)   
  • is_sorted (di solito impostata sul valore “FALSO” poiché le due tabelle che andremo a unire non seguono lo stesso ordine)

Preparare i dati con cura

Quando si lavora con l’Intelligenza Artificiale, la cura dei dati è essenziale per ottenere risultati efficaci. La preparazione dei dati è, infatti, diversa per ogni algoritmo di machine learning in quanto richiede una gestione specifica a seconda dell’algoritmo con cui si lavora. Durante il mio esperimento, ho dovuto creare diverse interazioni prima di trovare la giusta combinazione di colonne e di fornire suggerimenti utili alla macchina. Le criticità che ho riscontrato riguardano principalmente la mancanza di dati rilevanti e una formattazione errata (durante la migrazione dei dati in Orange, nel nostro caso). Per quanto riguarda il primo problema esistono due soluzioni: rimuovere i data points o riempirli con valori in media (ci sono molte altre opzioni da considerare, ma questo è praticamente ciò che ho fatto nelle diverse interazioni). La formattazione, invece, è abbastanza semplice: l’importante è fare in modo che Orange visualizzi correttamente ogni funzione informativa come un numero (e non come una stringa).

Il dataset

Il dataset su cui abbiamo lavorato è composto da 15784 righe, ciascuna contenente una combinazione specifica di pagine e query. Ci sono 3 attributi chiave (feauture) nel dataset (click, impressions e posizione) e 5 attributi informativi (pagina, query, CTR, lunghezza del titolo e lunghezza della meta descrizione). La pagina e la query sono delle vere e proprie categorie (possiamo raggruppare i dati per la stessa query o per la stessa pagina). Il CTR è una formula che calcola i click / impressions * 100 e, per questo motivo, non è considerato un attributo chiave. I parametri di categoria (come pagine e query) o i valori calcolati (come CTR) non sono paramentri chiave perché non aiutano l’algoritmo a ragruppare i dati. Allo stesso tempo, però, sono estremamente utili per aiutarci a comprendere ed a leggere i patter ricorrenti nel nostro dataset.

Dataset configuration in Orange

Configurazione del dataset in Orange

Introduzione di k-Means per il clustering delle query

Quando si esaminano migliaia di combinazioni di query su centinaia di pagine web, selezionare le pagine con il potenziale più elevato in termini di ottimizzazione SEO può sembrare un compito difficile e spaventoso. Questo risulta particolarmente vero soprattutto se non si è mai effettuato questo tipo di analisi o se ci si riferisce a un sito web che non si conosce (come facciamo noi nella maggior parte dei casi, quando iniziamo a lavorare su un progetto con un nuovo cliente che utilizza la nostra tecnologia).

In questo caso, dobbiamo essere in grado di raggruppare le combinazioni di pagine con una maggiore possibilità di successo, che possono essere migliorate ottimizzando il titolo e lo snippet che descrive l’articolo o la pagina. Il nostro obiettivo è, inoltre, imparare qualcosa di nuovo dai dati raccolti allo scopo di migliorare la qualità generale dei contenuti che andremo a produrre in futuro. Per questo il clustering rappresenta uno degli approcci migliori: ci aiuta a individuare le opportunità di miglioramento suddividendole in un numero limitato di gruppi e ci rivela i pattern ricorrenti che sottendono ai dati. Un cluster fa riferimento a una raccolta di data point aggregati sulla base della loro similarità.

Cos’è l’algoritmo di clustering k-Means?

Il clustering di k-Means è uno degli algoritmi di unsupervised machine learning  più semplici e popolari. Grazie a questo strumento, infatti, è possibile estrapolare inferenze utili partendo da una semplice analisi del dataset senza dover fornire alcun criterio di classificazione o senza identificare la variabile target.

A questo punto k-Means estrarrà una media dei dati identificado il centroide per ciascun cluster e raggrupperà tutti i dati in un numero limitato di cluster. Definiamo centroide il centro virtuale per ciascun cluster.

La pipeline di Orange

Passiamo ora a capire come funziona il flusso in Orange. Importiamo i dati CSV che abbiamo creato utilizzando il widget File e analizziamo rapidamente i dati utilizzando il widget di Distribuzione. Al centro del workflow abbiamo k-Means, che riceve i dati dal Select Row Widget (si tratta di un semplice filtro che ci permette di lavorare solo sulle posizioni della SERP tra la 3 e la 10 nel nostro caso) e invia l’output a un grafico di dispersione (Scatter Plot) che ci aiuta a visualizzare i cluster e a comprenderne i pattern sottostanti. Contemporaneamente, k-Means invia i dati al Data Table Widget che produce il report finale, con un elenco di pagine su cui è necessario lavorare e le loro rispettive query. Anche qui utilizziamo il widget Select Row per riportare nel nostro report finale solo il cluster più rilevante.

The data analysis pipeline in Orange

La pipeline di Orange

The distribution of rankings.

Ecco come è rappresentata la distribuzione dei ranking del sito.

Il profilo del punteggio di k-Means ci aiuta a capire quanto ogni combinazione sia simile al proprio cluster (coesione) rispetto ad altri cluster (separazione).

Il profilo del punteggio varia da 0 a 1 (un valore alto indica un oggetto molto vicino al proprio cluster). Usando questo valore l’algoritmo può definire il numero di cluster di cui abbiamo bisogno (a meno che non specifichiamo diversamente) e il livello di coesione di ciascun gruppo. Nel nostro caso, 3 cluster rappresentano il modo migliore per organizzare i nostri dati e per dare la priorità al nostro lavoro. Dai primi 15784 campioni (le righe nel nostro dataset) abbiamo ora selezionato 1010 istanze (queste sono tutte le combinazioni di pagine con posizione tra la 3 e la 10) che sono state poi raggruppate con k-Means.

k-Means configuration

Parametri di configurazione del k-Means

Cosa ci dicono i dati

Per leggere i dati allo scopo di trovare le informazioni che ci occorrono, basterà utilizzare la visualizzazione dei dati di Orange. Le proiezioni sono un elenco di coppie di attributi ordinate per il punteggio ottenuto in base a una classifica di accuratezza rispetto alla media, in grado di mostrarci i pattern sottostanti al nostro dataset. Di seguito mostriamo i primi 4 che abbiamo scelto di analizzare.

1. Molte impression e CTR basso: ecco l’elenco delle pagine da ottimizzare

CTR vs Impressions

Scatter Plot #1 – CTR vs Impressions  (la grandezza dei simboli indica il CTR)

Non ha senso lavorare sul cluster C1: ci sono pochissime impressions o il CTR è già alto. Il problema è, invece, sul cluster C3 e, in seguito, sul cluster C2.

Allo stato attuale, abbiamo un totale di 56 combinazioni di pagine e query che meritano decisamente la nostra attenzione (C2 e C3). Fuori da questo batch, ci sono 18 samples in C3 (il gruppo più rilevante di cui ci occuperemo) e questo in pratica significa che bisognerà lavorare su 16 pagine (2 pagine ricevono traffico da 2 query ciascuna).

The final report with the pages to work on

Il report finale con le pagine da ottimizzare

Questa è la lista che il nostro content team dovrà ottimizzare. La scrittura di nuovi titoli e l’ottimizzazione della meta descrizione produrranno risultati migliori in poche settimane.

2. Le posizioni non contano quanto le impression 

Scatter Plot #2 - Positions vs Impressions  

Scatter Plot #2 – Positions vs Impressions

Come possiamo notare, i nostri 3 cluster sono ben distribuiti su tutte le posizioni selezionate. È preferibile – a meno che non vi siano ragioni strategiche per fare diversamente – migliorare il CTR di una pagina con una posizione più bassa ma un’esposizione più forte, invece di migliorare i click su un risultato con un ranking più alto ma su una parola chiave a basso volume di ricerca.

3. Scrivi titoli lunghi tra i 40 e gli 80 caratteri

Google visualizza solitamente i primi 50-60 caratteri di un title tag. A questo proposito, è possibile aspettarsi che circa il 90% dei titoli venga visualizzato correttamente se la sua lunghezza complessiva e al di sotto i 60 caratteri (ricerca MOZ). Dai dati raccolti abbiamo potuto notare che, mentre la stragrande maggioranza funziona con meno di 60 caratteri, è possibile ottenere un buon CTR con titoli fino a 78 caratteri ma non inferiori di 38 caratteri.

Scatter Plot #3 - CTR vs Title Length

Scatter Plot #3 – CTR vs lunghezza del titolo

4. Scrivi meta description lunghe tra 140 e 160 caratteri

All’inizio di maggio 2018, la lunghezza delle meta description di Google è stata nuovamente ridotta dopo che, con l’aggiornamento di dicembre 2017, era stata invece estesa a 290 caratteri. Questo ci fa capire che Google è ancora in fase di test, e se su desktop è possibile visualizzare fino a 920 pixel (pari a 158 caratteri), da mobile si può arrivare al massimo fino a 120 caratteri.  

Meta description length in 2019 according to blog.spotibo.com

Lunghezza delle meta description nel 2019 secondo blog.spotibo.com

Ciò significa che la lunghezza corretta dipende anche dalla percentuale di utenti che attualmente accedono al versione mobile del sito. Anche in questo caso volta possiamo chiedere ai dati quale dovrebbe essere il numero preferibile di caratteri guardando i cluster C2 e C3. Qui vediamo subito che la lunghezza vincente è tra 140 e 160 caratteri (CTR più alto = simboli di dimensione maggiore).

Scatter Plot #4 - CTR vs Meta Description Length

Scatter Plot #4 – CTR vs lunghezza delle Meta Description

E adesso?

Questi sono solo i primi passi verso un futuro in cui esperti SEO e responsabili marketing possano avere accesso immediato alle informazioni fornite dal machine learning in grado di portare a una crescita sempre più forte e sostenibile del traffico web, senza richiedere un enorme dispendio di tempo ed energie tra fogli di calcolo e metriche web.

Per quanto ci siano volute alcune settimane per impostare l’ambiente di sviluppo iniziale e per testare le combinazioni di tutte le funzionalità che mi hanno portato a condividere questo post, ora è possibile elaborare centinaia di migliaia di combinazioni in pochi minuti! È questo il bello di utilizzare uno strumento come Orange che, dopo la configurazione iniziale, non richiede alcun requisito tecnico o conoscenze di coding.

Continueremo a migliorare la metodologia utilizzata lavorando con i nostri clienti VIP, convalidando i risultati di questo tipo di analisi e migliorando il nostro prodotto per far ottenere questi risultati a un numero sempre più vasto di persone (tutti i clienti del nostro plugin semantico).

Continua a seguirci e non esitare a scrivermi per saperne di più sull’AI per la SEO!

Scopri come coltivare la SEO del tuo sito web con l'Intelligenza Artificiale: concentrati sui contenuti e potenzia il tuo traffico grazie all'AI che fa la SEO di WordLift.

Courtney McGhee

Digital Media Manager, WooRank

 

Da non perdere

L’Automazione SEO nel 2021
Migliora la SEO del tuo sito con l’Intelligenza Artificiale

Video SEO: 3 semplici mosse per raddoppiare la visibilità organica
Usa i video per aumentare il traffico del tuo sito web

Il potere del Product Knowledge Graph abbinato all’E-commerce
Scopri come sfruttare i dati nell’e-commerce

Schema Markup su WooCommerce: una Guida per Principianti
Come sfruttare appieno il potere della SEO

Are you ready for the next SEO?
Try WordLift today!