Possiamo usare la tecnologia per snellire la parte operativa dell’attività di SEO?

Come abbiamo affrontato un problema operativo puntuale ottenendo una soluzione di carattere generale

Mettiamo la tecnologia al nostro servizio per semplificare l’attività di tutti i giorni e vediamo come automatizzare l’operatività SEO con Python in una serie di passaggi incrementali.

Se ti occupi di contenuti digitali, hai a che fare con la SEO. Puoi essere un blogger indipendente, un giornalista, un marketer, un creativo. Comunque produrrai testi che dovranno essere rilevanti per le ricerche della tua audience.

Purtroppo non potrai però occuparti solamente della parte creativa. Dovrai anche monitorare l’andamento del traffico su Google Analytics e Google Search Console. Controllare attraverso quali keyword e query di ricerca il traffico arriva alle tue property digitali. Monitorare il posizionamento dei tuoi competitor.

Automatizzare la parte creativa è un task non banale sebbene possibile che richiede utilizzo di modelli di intelligenza artificiale e apprendimento automatico, oltre a dataset di grandi dimensioni per la parte di training. In ogni caso è una strada non immediata e che richiede tempo e risorse notevoli.

Viceversa, automatizzare la parte operativa legata alla generazione di contenuti SEO è una strada che possiamo approcciare in modo agevole, avendo le giuste conoscenze tecniche e gli strumenti appropriati.

Per automatizzare l’operatività SEO con Python siamo partiti da un problema operativo specifico che ci riguardava da vicino, e, costruendo una soluzione via via sempre più complessa, abbiamo ottenuto una soluzione che permette di risolvere un range di problemi più ampio rispetto a quello per cui l’avevamo inizialmente progettata.

Ah, prima di partire, un piccolo appunto:  questo articolo si focalizza sulla parte di automazione, senza voler entrare nel merito di processi di SEO specifici.

Automatizzare l’operatività SEO con Python: leviamo di mezzo GA

Il primo spunto per questo lavoro di automazione mi è stato dato dalla necessità di lavorare sul dato grezzo di traffico sul sito per eseguire confronti statistici a piacimento su diversi periodi storici. Attività semplice da eseguire su un dato pulito, disponibile su un foglio di lavoro, ma tediosa se ogni volta devo esportare il dato da Google Analytics configurando prima il periodo e magari le metriche che devo esportare.

Ho creato allora un’automazione per fare questo lavoro premendo un tasto (o ancora meglio schedulando un’operazione pianificata una volta a settimana con Utilità di Pianificazione in Windows). Il primo passo è creare un canale di comunicazione tra la nostra macchina locale dove gira Python e il repository del dato, Google Analytics. Detto altrimenti, ci serve un connettore API. Per fortuna quando si ha a che  fare con Google, la documentazione è ricca e ben fatta: API v4 Python quickstart for service accounts. Primo step, done!

Dati provenienti da un account GA Test

Semplifichiamo anche la parte relativa a Google Search Console

Risolta questa parte in modo agevole, procediamo con lo step successivo. È fondamentale capire quali siano concretamente le keyword e le query di ricerca che portano traffico al tuo sito. Per questo lo strumento ideale è Google Search Console.

Anche qui però accedere ogni volta alla piattaforma e consultare il dato manualmente è abbastanza tedioso.

L’accesso A2A – Application to Application – ossia dalla macchina locale alla dashboard di GSC richiede la creazione di una credenziale OAuth2.0  assegnata a un’app specifica. In sostanza dobbiamo creare una carta d’identità per il servizio che andrà a “bussare” a GSC e chiedere i dati che ci servono. Ancora una volta, mettiamo mano alla documentazione e creiamo passo passo.

Fatto questo, occorre salvare questa carta d’identità, e farlo in chiaro nel codice non sembra una buona idea. La soluzione che ho trovato è stata quella di creare un file JSON che contiene le chiavi di accesso, da salvare localmente, e leggere sistematicamente. Questo permette di avere un unico punto di ingresso, invisibile a un eventuale utilizzatore dello script.

Sfruttando la potenza di Python in materia di elaborazione dei dati, ho creato tre diversi report, consultabili sia dall’IDE di Python, sia salvati in formato Excel per una veloce consultazione anche fuori dall’ambiente di sviluppo.

  • elenco puntuale di tutte le query di ricerca che hanno portato traffico alla proprietà desiderata
  • keyword cannibalizzate (tema che mi ha suggerito la lettura di quest’articolo dell’amico Massimo Fattoretto)
  • ranking delle keyword più significative per volume di ricerca sulla proprietà desiderata

Automatizzare l’operatività SEO con Python: dal particolare al generale

Abbiamo automatizzato l’operatività SEO relativa alle nostre proprietà. Ma se volessimo investigare anche il posizionamento dei nostri competitor?

Quanto abbiamo creato funziona solo avendo accesso agli account di Google Analytics e Search Console. Dobbiamo buttarci nel web pubblico e vedere quali informazioni possiamo estrarre, mantenendo l’assunto iniziale: ottenere informazioni rilevanti in modo semplice e automatico.

Il ranking nella SERP

Per prima cosa, quando decido di parlare di un argomento, e ho individuato una serie di keyword che reputo rilevanti, voglio sapere come sono presidiate nella SERP (Search Engine Result Page, l’ordine nel quale appaiono i risultati di una ricerca).

Ovviamente se abbiamo una sola parola chiave non serve nessuna automazione: la buttiamo su Google e vediamo cosa succede.

Ma se sto facendo un lavoro più professionale, magari devo scrivere diversi contenuti su più argomenti, non voglio fare questa ricerca per molte parole chiave e annotarmi i risultati a mano.

Ho pensato allora di lavorare sia sulla parte di automazione web, sia sulla  data visualization.

Il risultato è il seguente, qui per una ricerca sulle keyword “startup”, “digital transformation”, “trasformazione digitale”.

Il vantaggio è che posso filtrare comodamente le keyword di interesse e anche avere un insight sulle query più significative. Sono pronto a creare i miei contenuti con cognizione di causa.

Dietro le quinte, Python esegue uno scraping della SERP per i dati di input e salva i risultati su un Google Sheet. Questo a sua volta è la data source per un template di Google Data Studio.  Il nostro flusso è totalmente automatizzato e semplice da gestire.

Analizziamo le parole chiave preferite dai competitor

Automatizzare l’operatività SEO con Python significa anche avere uno strumento potente per analizzare il comportamento dei nostri competitor. O di un qualsiasi sito obiettivo. Con il vantaggio di poter salvare il dato e confrontarlo anche nel tempo molto facilmente.

Un’attività che mi capita spesso di fare è controllare di cosa parlino aziende competitor o comunque di interesse. Andare sui singoli siti, leggere un paio di articoli del blog e i testi è un’attività onerosa. Inoltre, se è relativamente semplice a colpo d’occhio cogliere la direzione, diverso è rendicontare quest’attività in modo puntuale, dobbiamo scrivere una sorta di report. No, non fa per me. Troppo ripetitivo!

Proviamo a metterci mano nuovamente.

Partendo da un sito obiettivo, ad esempio https://www.azionadigitale.com/, lo script esplora ogni parte del sito, restituisce la sitemap (che non  guasta) e per ciascuna pagina ci ritorna le parole che sono più rilevanti, utilizzando un algoritmo di data cleaning & sorting.

Possiamo analizzare qualsiasi sito e ottenere un dato ordinato e azionabile, su cui costruire facilmente analisi successive o visualizzazioni grafiche.

Il tocco finale: analisi matematica del testo

Vogliamo spingerci ancora oltre,  vogliamo un’analisi statistica puntuale. Un tipo di analisi più raffinata e che può essere utile se vogliamo comparare tra loro più contenuti a prima vista simili. Dalla SEO verso un lavoro di data mining.

Dobbiamo spostarci verticalmente nel mondo dell’analisi testuale e della programmazione, e ricorrere ai modelli matematici, che per fortuna le librerie Python ci mettono a disposizione senza dover riscrivere da zero lunghe sequenze di algoritmi. Parliamo qui dell’algoritmo TF-IDF, “Term Frequency-Inverse Document Frequency”.

Questo algoritmo è alla base di molte ricerche di analisi testuale e è citato anche spesso nei paper di Google per la rilevanza delle parole chiave, sebbene in tempi recenti sia stato sostituito da approcci più sofisticati.

Il tema merita un approfondimento tutto per lui, pertanto se vuoi proseguire la lettura qui una bella panoramica tecnica (Programming Historian), mentre un bellissimo e dettagliato articolo in italiano, con anche una relazione tra TF-IDF e SEO è stato fatto da Giovanni Sacheli per Eve (EVE Milano)

Questo il tipo di output che ritorna analizzando un insieme di articoli riguardanti la missione Mars 2020:

Automatizzare l’operatività SEO con Python: conclusioni

Siamo arrivati alla fine del nostro viaggio tra query, keyword, url e automazioni. Abbiamo fatto un discreto lavoro, esplorando sia i dettagli dei nostri contenuti rilevanti, e sia creando strumenti utili per analizzare e comparare i siti dei competitor.

I punti da ricordare?

Soluzioni a reali problemi, non features

Siamo partiti con in mente la risoluzione di un problema specifico, e non la creazione di una feature o di uno script da archiviare su GitHub e dimenticare.

Abbiamo grattato il nostro prurito come prima cosa, senza pensare a altro che risolvere un problema operativo che affrontavamo giornalmente.

Start small, but start

Sarebbe stato complicato pensare a scatola chiusa a uno script che affrontasse in via generale l’automazione per la ricerca e ottimizzazione keyword. Probabilmente l’alto effort iniziale avrebbe fatto arenare il progetto. Partendo invece da uno step minimo, apprezzandone il beneficio (e le lacune su cui lavorare ancora), siamo stati in grado di partire e costruire uno strumento strutturato layer dopo layer.

Parla con le persone

Siamo partiti dalla nostra esigenza, certo, ma questo non significa poi chiudersi ermeticamente agli input esterni. Strada facendo ci siamo confrontati con altri esperti, sopratutto verticali in ambito SEO, per recepire i loro spunti, commenti e considerazioni, ottenendo preziosi consigli e punti di vista per arricchire la nostra ricerca (grazie <3 Paola, Enrico, Luigi, Massimo, Giovanni, Bernardo)

Get out of the building!

Steve Blank, il padre fondatore del metodo Lean Startup

E dopo?

Il viaggio di ricerca non si ferma mai, e l’esplorazione e la ricerca, qui in Aziona, sono continui!

Sei interessato a saperne di più, ti piacerebbe utilizzare qualcuna delle automazioni di cui abbiamo parlato nella tua attività quotidiana, o da sviluppatore ti interessa dare un occhiata al codice e implementarli o migliorarli? Non ti resta che scriverci!

 

Scarica l’ebook “The digital transformation workbook”

Iscriviti alla newsletter e scarica l’ebook.
Ricevi aggiornamenti e news sulla tecnologia e la strategia che permettono alle aziende di sfruttare al massimo la trasformazione digitale.