Slide 1

Slide 1 text

Automazione per la SEO con KNIME Gianluca Campo @giancampo [email protected]

Slide 2

Slide 2 text

Gianluca Campo Head of SEO & Analytics @ Nucleus

Slide 3

Slide 3 text

Agenda 1. Fondamenti della SEO • Cos’è la Search Engine Optimization • Funzionamento dei motori di ricerca • Attività e strumenti della SEO 2. Esempi di automazione per la SEO • Analisi dei file di log in ottica SEO • Automazione di Google Search Console • Raggruppamento semiautomatico di ricerche organiche

Slide 4

Slide 4 text

Fondamenti della SEO

Slide 5

Slide 5 text

La SEO aumenta il traffico ad un sito sfruttando i risultati organici SEO, Search Engine Optimization significa ottimizzazione per i motori di ricerca. Fare SEO significa utilizzare tutte le tecniche e le strategie possibili per spingere verso l'alto i risultati di un sito nelle pagine dei motori di ricerca, facendo guadagnare visite di qualità e opportunità di business. Le visite acquisite grazie alla SEO sono di qualità perché rispondono direttamente ad un'esigenza espressa dall'utente. Risultati organici: su questi lavora la SEO SEO Risultati a pagamento Google Ads

Slide 6

Slide 6 text

Come funziona un motore di ricerca Internet Crawler Scheduler Parser Indexing Index URLs Search Fonte: https://searchengineland.com/how-search-engines-work-really-171556

Slide 7

Slide 7 text

• Cos’è un web crawler • Funzionalità del parser • Cosa fa lo scheduler Scansione Internet Crawler Scheduler Parser Indexing Index URLs Search

Slide 8

Slide 8 text

• Cos’è l’indicizzazione • Indice e indice invertito Indicizzazione Internet Crawler Scheduler Parser Indexing Index URLs Search

Slide 9

Slide 9 text

• Posizionamento • Algoritmi di ranking • Machine learning Ranking Internet Crawler Scheduler Parser Indexing Index URLs Search

Slide 10

Slide 10 text

Come si ottengono ranking migliori? • Ottimizzazione tecnica: rappresenta la base di un buon progetto, perché un piccolo errore in questa parte riduce l'efficacia di tutto il resto. • Ottimizzazione (ed eventuale espansione) dei contenuti: è la parte in cui è più facile crescere, in quanto la produzione di contenuti è poco onerosa ed aumenta linearmente il numero di keyword per cui il sito si può posizionare. • Ottimizzazione dell'autorevolezza: si tratta della variabile più difficile da far aumentare, ma anche quella che determina un vantaggio competitivo di lungo periodo. Ottimizzazione tecnica Contenuti Autorevolezza Traffico organico

Slide 11

Slide 11 text

Alcune attività e strumenti per la SEO Ottimizzazione tecnica • Analisi sulla scansione • Analisi sull'indicizzazione • Indicazioni per il ranking • Migrazione di URL e piani di redirect • … Contenuti • Analisi delle ricerche degli utenti • Progettazione dell'architettura informativa • Espansione dei contenuti testuali e multimediali • … Trust building • Analisi qualitativa e quantitativa dei backlink in ingresso • Digital PR e outreach • …

Slide 12

Slide 12 text

Analisi file di log in ottica SEO

Slide 13

Slide 13 text

Cos’è un file di log? 1. Un client richiede una risorsa HTTP 2. Il server restituisce la risorsa richiesta, se possibile 3. Il server registra questa informazione in un ‘’diario’’ Questo diario è chiamato comunemente file di log (logfile): anche i crawler di Google sono tracciati in questo file.

Slide 14

Slide 14 text

Esempio di record dai log invalid_host.log.2020052023:www.dominio.it [21/May/2020:01:49:16 +0200] [21/May/2020:01:49:16 +0200] XXXX GET /wp-content/uploads/2019/12/01.jpg HTTP/2.0 200 | 253827 https://www.google.it/ Mozilla/5.0 (Linux; Android 8.1.0; SAMSUNG SM-J730F Build/M1AJQ) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/8.2 Chrome/63.0.3239.111 Mobile Safari/537.36 8179 miss - Mobile - true 217.196.141.207 217.196.141.207 245 254045 0 0 Metodo HTTP e risorsa richiesta Protocollo HTTP Codice di stato HTTP Referrer HTTP (da dove arriva la visita) User agent

Slide 15

Slide 15 text

Scarichiamo i file di log e li salviamo in una cartella sul desktop Spesso i file di log sono compressi

Slide 16

Slide 16 text

Usiamo questo workflow https://kni.me/w/2I8SovxW2EEt407b

Slide 17

Slide 17 text

Impostiamo il nodo Web Log Reader

Slide 18

Slide 18 text

Con il nodo Country Extractor gli IP vengono convertiti in Paesi

Slide 19

Slide 19 text

La tabella di output si presenta ora leggibile e con una colonna Country

Slide 20

Slide 20 text

Nel secondo ramo del workflow filtriamo le chiamate per ‘’.*googlebot’.*’

Slide 21

Slide 21 text

Aggreghiamo per Paese/URI, ordiniamo per # di richieste, teniamo 10 righe

Slide 22

Slide 22 text

Con il nodo Bar Chart visualizziamo in anteprima il risultato

Slide 23

Slide 23 text

Infine, esportiamo tutti i dati in un file Excel Nota: sono state aggiunte ulteriori porte di input cliccando i tre puntini

Slide 24

Slide 24 text

I dati sono correttamente esportati su Excel

Slide 25

Slide 25 text

Automazione di Google Search Console

Slide 26

Slide 26 text

Dati disponibili sulle ricerche che hanno generato traffico

Slide 27

Slide 27 text

Andiamo alle impostazioni di KNIME 1 2

Slide 28

Slide 28 text

Procediamo all’installazione di Palladian, un’estensione di KNIME

Slide 29

Slide 29 text

Installiamo Palladian, adesso disponibile

Slide 30

Slide 30 text

Scarichiamo un workflow da NodePit e importiamolo in KNIME

Slide 31

Slide 31 text

Il secondo ramo del workflow è quello che ci interessa

Slide 32

Slide 32 text

No content

Slide 33

Slide 33 text

Creiamo un progetto su Google Cloud Platform 1 2

Slide 34

Slide 34 text

Generiamo un client OAuth

Slide 35

Slide 35 text

Selezioniamo applicazione desktop e avanziamo

Slide 36

Slide 36 text

Recuperiamo Client ID e Client Secret

Slide 37

Slide 37 text

No content

Slide 38

Slide 38 text

Inseriamo Client ID, Client Secret e autorizziamo l’accesso

Slide 39

Slide 39 text

Eseguiamo i passaggi necessari per la POST request alle API

Slide 40

Slide 40 text

Inseriamo l’indirizzo del sito di cui vogliamo i dati

Slide 41

Slide 41 text

Modifichiamo la riga 3, inserendo l’URL tra le virgolette

Slide 42

Slide 42 text

Configuriamo qui i dati che vogliamo scaricare

Slide 43

Slide 43 text

Configuriamo nel nodo il request body in formato JSON ?

Slide 44

Slide 44 text

Capire il request body di Google Search Console (Search Analytics) - #1 https://developers.google.com/webmaster-tools/v1/searchanalytics/query

Slide 45

Slide 45 text

Capire il request body di Google Search Console (Search Analytics) - #2 https://developers.google.com/webmaster-tools/v1/searchanalytics/query

Slide 46

Slide 46 text

Un semplice copia e incolla

Slide 47

Slide 47 text

Inviamo la richiesta ed elaboriamo il JSON di risposta

Slide 48

Slide 48 text

Tasto destro e visualizziamo la tabella finale

Slide 49

Slide 49 text

Tabella finale che possiamo esportare su Excel o Google Sheets

Slide 50

Slide 50 text

Raggruppamento semiautomatico di ricerche organiche

Slide 51

Slide 51 text

Come raggruppiamo le query più frequenti?

Slide 52

Slide 52 text

Usiamo questo workflow! https://kni.me/w/_Yt-MdeKkGXDF0sZ

Slide 53

Slide 53 text

Connettiamo KNIME a Google Drive e leggiamo lo Sheets con i dati

Slide 54

Slide 54 text

Sfruttiamo il nodo Rule Engine per classificare i valori Attenzione all’ordine delle regole!

Slide 55

Slide 55 text

Esempio di regola utilizzata $Query più frequenti$ MATCHES "(.*10 buoni propositi.*)|(.*24bottles.*)|(.*2jewels.*)|(.*4us cesare paciotti.*)|(.*ab aeterno.*)|(.*adidas.*)|(.*alv alviero martini.*)|(.*alviero martini prima classe.*)|(.*ambrosia.*)|(.*amen.*)|(.*ania haie.*)|(.*argenesi.*)|(.*armani exchange.*)|(.*arti & mestieri.*)|(.*a.s. roma.*)|(.*atalanta.*)|(.*avion.*)|(.*bagutta.*)|(.*barbieri.*)|(.*barbosa.*)|(.*beloved.*)|(.*bering.*)|(.*b&g.*)|(.*bliss.*)|(.*bmw.*)|(.*boccadamo.*)| (.*bologna f.c..*)|(.*bottega boccadamo.*)|(.*brand.*)|(.*breil.*)|(.*brosway.*)|(.*bulova.*)|(.*calvin klein.*)|(.*calypso.*)|(.*candlehand.*)|(.*capital.*)|(.*casio.*)|(.*cesare paciotti.*)|(.*chronostar.*)|(.*ciclòn.*)|(.*citizen.*)|(.*cluse.*)|(.*comete.*)|(.*connoisseurs.*)|(.*daniel wellington.*)|(.*david lian.*)|(.*designworks ink.*)|(.*diamonfire.*)|(.*diesel.*)|(.*disney.*)|(.*doodle.*)|(.*dvccio.*)|(.*egan.*)|(.*eleonora giordani.*)|(.*emporio armani.*)|(.*emporio armani swiss.*)|(.*engelsrufer.*)|(.*enrico coveri.*)|(.*erbolinea.*)|(.*esteban.*)|(.*even code.*)|(.*festina.*)|(.*fiorentina.*)|(.*fitbit.*)|(.*flik flak.*)|(.*for you jewels.*)|(.*fossil.*)|(.*furla.*)|(.*garmin.*)|(.*gc.*)|(.*gerba.*)|(.*giannotti.*)|(.*g-shock.*)|(.*guess.*)|(.*hamilton.*)|(.*harry potter.*)|(.*hip hop.*)|(.*hoops.*)|(.*hugo boss.*)|(.*inter.*)|(.*jack&co.*)|(.*jewelcandle.*)|(.*julie julsen.*)|(.*juventus.*)|(.*kamawatch.*)|(.*karlsson.*)|(.*kate spade new york.*)|(.*kidult.*)|(.*kikou.*)|(.*kulto.*)|(.*kulto925.*)|(.*l'angolo delle idee.*)|(.*le carose.*)|(.*leonardo argenti.*)|(.*liujo.*)|(.*locman.*)|(.*lorenz.*)|(.*lorus.*)|(.*lotus.*)|(.*lotus style.*)|(.*luca barra.*)|(.*lucien rochat.*)|(.*mabina gioielli.*)|(.*marc jacobs.*)|(.*maserati.*)|(.*melitea.*)|(.*michael kors.*)|(.*milan.*)|(.*millefiori milano.*)|(.*misfit.*)|(.*morellato.*)|(.*muhà.*)|(.*mvmt.*)|(.*namuri.*)|(.*nanan.*)|(.*nautica.*)|(.*nom.composable.*)|(.*nomination.*)|(.*olivia burton london.*)|(.*ops objects.*)|(.*ottaviani.*)|(.*oui&me.*)|(.*paddywax.*)|(.*pdpaola.*)|(.*pepe jeans.*)|(.*philipp plein.*)|(.*philip watch.*)|(.*pierre cardin.*)|(.*pierre lannier.*)|(.*pietro ferrante.*)|(.*pineider.*)|(.*pininfarina.*)|(.*pinko.*)|(.*polar.*)|(.*police.*)|(.*pomme pidou.*)|(.*present time.*)|(.*rebecca.*)|(.*rosato.*)|(.*rosenthal.*)|(.*sagapò.*)|(.*scuderia ferrari.*)|(.*sector.*)| (.*skagen.*)|(.*smarty.*)|(.*smile solar.*)|(.*sovrani.*)|(.*spark.*)|(.*s.s. lazio.*)|(.*s.t. dupont.*)|(.*stilarte.*)|(.*sting.*)|(.*superdry.*)|(.*superga.*)|(.*superstuff.*)|(.*swarovski.*)|(.*swatch.*)|(.*tamashii.*)|(.*techmade.*)|(.*tecnochic. *)|(.*timberland.*)|(.*timex.*)|(.*ti sento milano.*)|(.*tissot.*)|(.*tommy hilfiger.*)|(.*too late.*)|(.*torino f.c..*)|(.*trussardi.*)|(.*unoaerre.*)|(.*unoaerre fashion jewellery.*)|(.*unode50.*)|(.*vagary by citizen.*)|(.*valenti argenti.*)|(.*venini.*)|(.*versace.*)|(.*versus.*)|(.*woodwick.*)|(.*xiaomi.*)|(.*yankee candle.*)|(.*you bottles.*)|(.*zancan.*)|(.*zitto.*)" => "marchi venduti"

Slide 56

Slide 56 text

Il più è già fatto!

Slide 57

Slide 57 text

Convertiamo alcune stringhe in numeri

Slide 58

Slide 58 text

Eseguiamo la scrittura su altro file di Google Sheets La porta di colore verde serve a collegare il nodo alla connessione già aperta con GSheets

Slide 59

Slide 59 text

Output finale su Google Sheets

Slide 60

Slide 60 text

Inoltre, visualizziamo rapidamente i click per raggruppamento

Slide 61

Slide 61 text

Conclusioni

Slide 62

Slide 62 text

Key takeaways 1. Alcuni semplici passaggi consentono di automatizzare processi anche molto dispendiosi 2. Sfruttando le API e KNIME possiamo bypassare i limiti imposti dalle UI degli strumenti che utilizziamo 3. La piattaforma ha vaste potenzialità: un coltellino svizzero dell’automazione che consente attività dall’analisi dei log al web scraping

Slide 63

Slide 63 text

Altre attività SEO che possiamo fare con KNIME… String matching per piani di redirect automatici Categorizzazione di keyword per revisione architettura informativa Clustering di schede prodotto per creazione categorie ecommerce Applicazioni di text mining e applicazione di TF-IDF, LDA Text generation per meta tag, anche con GPT-3

Slide 64

Slide 64 text

Grazie!

Slide 65

Slide 65 text