際際滷

際際滷Share a Scribd company logo
Advanced SEO Tool  29 Marzo 2019, Rimini
@martinomosna - #advSEOtool
1/40
Keyword Discovery
Costruisci il tuo tool fatto in casa!
di Martino Mosna
Advanced SEO Tool  29 Marzo 2019, Rimini
@martinomosna - #advSEOtool
2/40

Specialista SEO dal 2006

Freelance dal 2011
Chi vi parla: Martino Mosna
Advanced SEO Tool  29 Marzo 2019, Rimini
@martinomosna - #advSEOtool
3/40
Di cosa parleremo...
1. Perch辿 costruirsi un tool da soli
2. Prepariamo gli strumenti ed il materiale
3. Costruiamo il tool!
4. Dimostrazione live
Buoni motivi per farselo da soli
Perch辿?
Advanced SEO Tool  29 Marzo 2019, Rimini
@martinomosna - #advSEOtool
5/40
Ci sono molti tool di Keyword Discovery

Google Ads Keyword Tool

Seo Hero

Ubersuggest

SuggestMrx

Molti altri...
Advanced SEO Tool  29 Marzo 2019, Rimini
@martinomosna - #advSEOtool
6/40

Sono lenti

Sono costellati di informazioni non rilevanti

Non sono aggiornati

Sono limitati

Costano troppo
...ma hanno tutti qualche problema.
Advanced SEO Tool  29 Marzo 2019, Rimini
@martinomosna - #advSEOtool
7/40
Ah, se solo ci fosse un tool...

Che mi dia solo le keyword

Velocemente

Senza fronzoli

Senza limiti

Gratis
Advanced SEO Tool  29 Marzo 2019, Rimini
@martinomosna - #advSEOtool
8/40
Dividere il problema in due
1. un tool snello per raccogliere velocemente un
gran numero di parole chiave
2.esaminare la lista di parole chiave nel Keyword
Tool di Google Ads per raccogliere alla fonte i
dati aggiornati sui volumi
Prepariamo gli strumenti e il materiale
Come fare
Advanced SEO Tool  29 Marzo 2019, Rimini
@martinomosna - #advSEOtool
10/40
Avete un attacco di SEO?
Advanced SEO Tool  29 Marzo 2019, Rimini
@martinomosna - #advSEOtool
11/40
La magia del Suggest
Dove c竪 un Suggest, c'竪
quasi sempre un'API
pubblica
Il Suggest di Google
restituisce i dati in
formato JSON
Advanced SEO Tool  29 Marzo 2019, Rimini
@martinomosna - #advSEOtool
12/40
Il Suggest di Google
E' un JSON un po' poco
standard, ma pur sempre
qualcosa che assomiglia a
un JSON.
http://suggestqueries.google.com/complete/search?
client=firefox&q=google suggest&hl=it
Advanced SEO Tool  29 Marzo 2019, Rimini
@martinomosna - #advSEOtool
13/40
Il nostro coltellino svizzero
Advanced SEO Tool  29 Marzo 2019, Rimini
@martinomosna - #advSEOtool
14/40
La Funzione principale
=ImportJSON()
Custom Script
https://github.com/bradjasper/ImportJSON
Advanced SEO Tool  29 Marzo 2019, Rimini
@martinomosna - #advSEOtool
15/40
Altre Funzioni utili
=SPLIT( )
=DESTRA( )
=LUNGHEZZA( )
=UNIQUE( )
=SORT( )
=MATR.TRASPOST
A( )
=ARRAYFORMULA
( )
=CONCATENA( )
=SE( )
per suddividere il testo su pi湛 celle
per rimuovere del testo a partire da destra
per definire la lunghezza del testo
per restituire solo valori unici
per mettere in ordine alfabetico
per trasformare righe in colonne
per applicare una formula a un intervallo
di celle
per concatenare i valori di pi湛 celle
per creare delle condizioni sulla base di
variabili
Advanced SEO Tool  29 Marzo 2019, Rimini
@martinomosna - #advSEOtool
16/40
Altre opzioni da ricordare
La Convalida dei Dati:
per creare i menu a tendina
Advanced SEO Tool  29 Marzo 2019, Rimini
@martinomosna - #advSEOtool
17/40
Dimenticato qualcosa?
Costruiamo la griglia di estrazione dati
Fase 1
Advanced SEO Tool  29 Marzo 2019, Rimini
@martinomosna - #advSEOtool
19/40
Colonna 1
L'elenco alfanumerico sulla
base del quale andare a
costruire il listone di parole
suggerite
Advanced SEO Tool  29 Marzo 2019, Rimini
@martinomosna - #advSEOtool
20/40
Colonna 2
L'elenco di URL con la chiamata alle
API, cos狸 costruite...
1. la base URL:
http://suggestqueries.google.com/c
omplete/search?client=firefox&q=
2.la parola chiave
3.concateniamo dopo uno spazio la
lettera/numero della colonna 1
4.le opzioni di lingua
5.le opzioni del motore di ricerca
=CONCATENA("http://suggestqueries.google.com/complete/
search?client=firefox&q=";'Lista keyword'!$A$2;"
";A6;$B$2;$B$1)
Advanced SEO Tool  29 Marzo 2019, Rimini
@martinomosna - #advSEOtool
21/40
Colonna 3
Si accendono i
motori di
IMPORTJSON
Le funzioni
noTruncate e
noHeaders sono utili
per ripulire i dati
del JSON "sporco"
=IMPORTJSON(B5;"";"noTruncate,noHeaders")
Advanced SEO Tool  29 Marzo 2019, Rimini
@martinomosna - #advSEOtool
22/40
Colonna 4
Con una formula di elaborazione del testo andiamo a
rimuovere il testo della parola chiave iniziale (parola +
lettera/numero)
=DESTRA(C6;LUNGHEZZA(C6)-LUNGHEZZA('Lista
keyword'!$A$2)-3)
Costruiamo l'interfaccia operativa
Fase 2
Advanced SEO Tool  29 Marzo 2019, Rimini
@martinomosna - #advSEOtool
24/40
Le intestazioni
1. una cella per la keyword
2.una cella con la Convalida dei Dati a tendina
per le Propriet di Google
3.una cella con la Convalida dei Dati a tendina
per la lingua
Advanced SEO Tool  29 Marzo 2019, Rimini
@martinomosna - #advSEOtool
25/40
La formula magica /1
Formula CONCATENA applicata tramite
ARRAYFORMULA per concatenare tutte le righe
della colonna 4 del foglio di estrazione dati
=ARRAYFORMULA(CONCATENA('Dati grezzi'!
D5:D41 & ","))
Advanced SEO Tool  29 Marzo 2019, Rimini
@martinomosna - #advSEOtool
26/40
La formula magica /2
Aggiungiamo la formula SPLIT per separare il
testo concatenato su pi湛 celle in riga
=SPLIT(ARRAYFORMULA(CONCATENA('Dati
grezzi'!D5:D41 & ","));",")
Advanced SEO Tool  29 Marzo 2019, Rimini
@martinomosna - #advSEOtool
27/40
La formula magica /3
Aggiungiamo la formula MATR.TRASPOSTA per
trasformare la riga in colonna
=MATR.TRASPOSTA(SPLIT(ARRAYFORMULA(CONCATE
NA('Dati grezzi'!D5:D41 & ","));","))
Advanced SEO Tool  29 Marzo 2019, Rimini
@martinomosna - #advSEOtool
28/40
La formula magica /4
Ordiniamo tutto in ordine alfabetico discendente
=SORT(MATR.TRASPOSTA(SPLIT(ARRAYFORMULA(CO
NCATENA('Dati grezzi'!D5:D41 &
","));","));1;VERO)
Advanced SEO Tool  29 Marzo 2019, Rimini
@martinomosna - #advSEOtool
29/40
La formula magica /5
E infine, ripuliamo dai doppioni
=UNIQUE(SORT(MATR.TRASPOSTA(SPLIT(ARRAYFOR
MULA(CONCATENA('Dati grezzi'!D5:D41 &
","));","));1;VERO))
Gli ultimi ritocchi
Fase 3
Advanced SEO Tool  29 Marzo 2019, Rimini
@martinomosna - #advSEOtool
31/40
Gestire le opzioni a tendina /1
Vanno riservate delle
celle da compilare in
modo dinamico.
Advanced SEO Tool  29 Marzo 2019, Rimini
@martinomosna - #advSEOtool
32/40
Gestire le opzioni a tendina /2
Usiamo una serie di formule SE annidate una
dietro l'altra per porre le condizioni
=SE('Lista keyword'!B2="Web";"";
SE('Lista keyword'!B2="Youtube";"&ds=yt";
SE('Lista keyword'!B2="Images";"&ds=i";
SE ('Lista keyword'!B2="News";"&ds=n";
SE('Lista keyword'!B2="Shopping";"&ds=sh")))))
=SE('Lista keyword'!C2="Italiano";"&hl=it";
SE('Lista keyword'!C2="Tedesco";"&hl=de";
SE('Lista keyword'!C2="Inglese";"&hl=en")))
Advanced SEO Tool  29 Marzo 2019, Rimini
@martinomosna - #advSEOtool
33/40
Gestire le opzioni a tendina /2
Usiamo una serie di formule SE annidate una
dietro l'altra per porre le condizioni
=SE('Lista keyword'!B2="Web";"";
SE('Lista keyword'!B2="Youtube";"&ds=yt";
SE('Lista keyword'!B2="Images";"&ds=i";
SE ('Lista keyword'!B2="News";"&ds=n";
SE('Lista keyword'!B2="Shopping";"&ds=sh")))))
=SE('Lista keyword'!C2="Italiano";"&hl=it";
SE('Lista keyword'!C2="Tedesco";"&hl=de";
SE('Lista keyword'!C2="Inglese";"&hl=en")))
[ACCROCCHIO]
[ACCROCCHIO]
Andare oltre
Fase 4
Advanced SEO Tool  29 Marzo 2019, Rimini
@martinomosna - #advSEOtool
35/40
Cosa non si pu嘆 fare
Non si possono estrarre i dati
delle keyword correlate.
Per quelle va fatto per forza
di cose lo scraping di Google
e con Google Sheets non si
pu嘆.
Advanced SEO Tool  29 Marzo 2019, Rimini
@martinomosna - #advSEOtool
36/40
Cosa si pu嘆 fare in pi湛
Ci sono molte altre altre API accessibili
pubblicamente, ognuna con il suo formato
differente. Ad esempio...

Amazon

DuckDuckGo

Google Images

Bing

Alibaba

Wikipedia
Advanced SEO Tool  29 Marzo 2019, Rimini
@martinomosna - #advSEOtool
37/40
Come fare per scoprire gli endpoint
Utilizzare gli strumenti per sviluppatori dei browser
Nel momento in cui effettui una ricerca e compare un
suggerimento, lendpoint compare nelle richieste di rete
Dimostrazione LIVE!
Bonus
Advanced SEO Tool  29 Marzo 2019, Rimini
@martinomosna - #advSEOtool
39/40
Bibliografia
Custom Script per ImportJSON
https://github.com/bradjasper/ImportJSON
MEGASUGGESTONE  DEMO
https://docs.google.com/spreadsheets/d/1hnihSG21D_qVUmPMqukVhd-bPQgZsjjX3jw6vBlDEZI/edit?usp=sharing
Informazioni sulle opzioni delle API di Autocomplete di Google
https://shreyaschand.com/blog/2013/01/03/google-autocomplete-api/
Advanced SEO Tool  29 Marzo 2019, Rimini
@martinomosna - #advSEOtool
40/40
Grazie!
Spazio alle domande...
Per ulteriori informazioni
Email: info@martinomosna.com
Twitter: @martinomosna
LinkedIn: /in/martinomosna

More Related Content

Keyword Discovery: Costruisci il tuo tool fatto in casa!

  • 1. Advanced SEO Tool 29 Marzo 2019, Rimini @martinomosna - #advSEOtool 1/40 Keyword Discovery Costruisci il tuo tool fatto in casa! di Martino Mosna
  • 2. Advanced SEO Tool 29 Marzo 2019, Rimini @martinomosna - #advSEOtool 2/40 Specialista SEO dal 2006 Freelance dal 2011 Chi vi parla: Martino Mosna
  • 3. Advanced SEO Tool 29 Marzo 2019, Rimini @martinomosna - #advSEOtool 3/40 Di cosa parleremo... 1. Perch辿 costruirsi un tool da soli 2. Prepariamo gli strumenti ed il materiale 3. Costruiamo il tool! 4. Dimostrazione live
  • 4. Buoni motivi per farselo da soli Perch辿?
  • 5. Advanced SEO Tool 29 Marzo 2019, Rimini @martinomosna - #advSEOtool 5/40 Ci sono molti tool di Keyword Discovery Google Ads Keyword Tool Seo Hero Ubersuggest SuggestMrx Molti altri...
  • 6. Advanced SEO Tool 29 Marzo 2019, Rimini @martinomosna - #advSEOtool 6/40 Sono lenti Sono costellati di informazioni non rilevanti Non sono aggiornati Sono limitati Costano troppo ...ma hanno tutti qualche problema.
  • 7. Advanced SEO Tool 29 Marzo 2019, Rimini @martinomosna - #advSEOtool 7/40 Ah, se solo ci fosse un tool... Che mi dia solo le keyword Velocemente Senza fronzoli Senza limiti Gratis
  • 8. Advanced SEO Tool 29 Marzo 2019, Rimini @martinomosna - #advSEOtool 8/40 Dividere il problema in due 1. un tool snello per raccogliere velocemente un gran numero di parole chiave 2.esaminare la lista di parole chiave nel Keyword Tool di Google Ads per raccogliere alla fonte i dati aggiornati sui volumi
  • 9. Prepariamo gli strumenti e il materiale Come fare
  • 10. Advanced SEO Tool 29 Marzo 2019, Rimini @martinomosna - #advSEOtool 10/40 Avete un attacco di SEO?
  • 11. Advanced SEO Tool 29 Marzo 2019, Rimini @martinomosna - #advSEOtool 11/40 La magia del Suggest Dove c竪 un Suggest, c'竪 quasi sempre un'API pubblica Il Suggest di Google restituisce i dati in formato JSON
  • 12. Advanced SEO Tool 29 Marzo 2019, Rimini @martinomosna - #advSEOtool 12/40 Il Suggest di Google E' un JSON un po' poco standard, ma pur sempre qualcosa che assomiglia a un JSON. http://suggestqueries.google.com/complete/search? client=firefox&q=google suggest&hl=it
  • 13. Advanced SEO Tool 29 Marzo 2019, Rimini @martinomosna - #advSEOtool 13/40 Il nostro coltellino svizzero
  • 14. Advanced SEO Tool 29 Marzo 2019, Rimini @martinomosna - #advSEOtool 14/40 La Funzione principale =ImportJSON() Custom Script https://github.com/bradjasper/ImportJSON
  • 15. Advanced SEO Tool 29 Marzo 2019, Rimini @martinomosna - #advSEOtool 15/40 Altre Funzioni utili =SPLIT( ) =DESTRA( ) =LUNGHEZZA( ) =UNIQUE( ) =SORT( ) =MATR.TRASPOST A( ) =ARRAYFORMULA ( ) =CONCATENA( ) =SE( ) per suddividere il testo su pi湛 celle per rimuovere del testo a partire da destra per definire la lunghezza del testo per restituire solo valori unici per mettere in ordine alfabetico per trasformare righe in colonne per applicare una formula a un intervallo di celle per concatenare i valori di pi湛 celle per creare delle condizioni sulla base di variabili
  • 16. Advanced SEO Tool 29 Marzo 2019, Rimini @martinomosna - #advSEOtool 16/40 Altre opzioni da ricordare La Convalida dei Dati: per creare i menu a tendina
  • 17. Advanced SEO Tool 29 Marzo 2019, Rimini @martinomosna - #advSEOtool 17/40 Dimenticato qualcosa?
  • 18. Costruiamo la griglia di estrazione dati Fase 1
  • 19. Advanced SEO Tool 29 Marzo 2019, Rimini @martinomosna - #advSEOtool 19/40 Colonna 1 L'elenco alfanumerico sulla base del quale andare a costruire il listone di parole suggerite
  • 20. Advanced SEO Tool 29 Marzo 2019, Rimini @martinomosna - #advSEOtool 20/40 Colonna 2 L'elenco di URL con la chiamata alle API, cos狸 costruite... 1. la base URL: http://suggestqueries.google.com/c omplete/search?client=firefox&q= 2.la parola chiave 3.concateniamo dopo uno spazio la lettera/numero della colonna 1 4.le opzioni di lingua 5.le opzioni del motore di ricerca =CONCATENA("http://suggestqueries.google.com/complete/ search?client=firefox&q=";'Lista keyword'!$A$2;" ";A6;$B$2;$B$1)
  • 21. Advanced SEO Tool 29 Marzo 2019, Rimini @martinomosna - #advSEOtool 21/40 Colonna 3 Si accendono i motori di IMPORTJSON Le funzioni noTruncate e noHeaders sono utili per ripulire i dati del JSON "sporco" =IMPORTJSON(B5;"";"noTruncate,noHeaders")
  • 22. Advanced SEO Tool 29 Marzo 2019, Rimini @martinomosna - #advSEOtool 22/40 Colonna 4 Con una formula di elaborazione del testo andiamo a rimuovere il testo della parola chiave iniziale (parola + lettera/numero) =DESTRA(C6;LUNGHEZZA(C6)-LUNGHEZZA('Lista keyword'!$A$2)-3)
  • 24. Advanced SEO Tool 29 Marzo 2019, Rimini @martinomosna - #advSEOtool 24/40 Le intestazioni 1. una cella per la keyword 2.una cella con la Convalida dei Dati a tendina per le Propriet di Google 3.una cella con la Convalida dei Dati a tendina per la lingua
  • 25. Advanced SEO Tool 29 Marzo 2019, Rimini @martinomosna - #advSEOtool 25/40 La formula magica /1 Formula CONCATENA applicata tramite ARRAYFORMULA per concatenare tutte le righe della colonna 4 del foglio di estrazione dati =ARRAYFORMULA(CONCATENA('Dati grezzi'! D5:D41 & ","))
  • 26. Advanced SEO Tool 29 Marzo 2019, Rimini @martinomosna - #advSEOtool 26/40 La formula magica /2 Aggiungiamo la formula SPLIT per separare il testo concatenato su pi湛 celle in riga =SPLIT(ARRAYFORMULA(CONCATENA('Dati grezzi'!D5:D41 & ","));",")
  • 27. Advanced SEO Tool 29 Marzo 2019, Rimini @martinomosna - #advSEOtool 27/40 La formula magica /3 Aggiungiamo la formula MATR.TRASPOSTA per trasformare la riga in colonna =MATR.TRASPOSTA(SPLIT(ARRAYFORMULA(CONCATE NA('Dati grezzi'!D5:D41 & ","));","))
  • 28. Advanced SEO Tool 29 Marzo 2019, Rimini @martinomosna - #advSEOtool 28/40 La formula magica /4 Ordiniamo tutto in ordine alfabetico discendente =SORT(MATR.TRASPOSTA(SPLIT(ARRAYFORMULA(CO NCATENA('Dati grezzi'!D5:D41 & ","));","));1;VERO)
  • 29. Advanced SEO Tool 29 Marzo 2019, Rimini @martinomosna - #advSEOtool 29/40 La formula magica /5 E infine, ripuliamo dai doppioni =UNIQUE(SORT(MATR.TRASPOSTA(SPLIT(ARRAYFOR MULA(CONCATENA('Dati grezzi'!D5:D41 & ","));","));1;VERO))
  • 31. Advanced SEO Tool 29 Marzo 2019, Rimini @martinomosna - #advSEOtool 31/40 Gestire le opzioni a tendina /1 Vanno riservate delle celle da compilare in modo dinamico.
  • 32. Advanced SEO Tool 29 Marzo 2019, Rimini @martinomosna - #advSEOtool 32/40 Gestire le opzioni a tendina /2 Usiamo una serie di formule SE annidate una dietro l'altra per porre le condizioni =SE('Lista keyword'!B2="Web";""; SE('Lista keyword'!B2="Youtube";"&ds=yt"; SE('Lista keyword'!B2="Images";"&ds=i"; SE ('Lista keyword'!B2="News";"&ds=n"; SE('Lista keyword'!B2="Shopping";"&ds=sh"))))) =SE('Lista keyword'!C2="Italiano";"&hl=it"; SE('Lista keyword'!C2="Tedesco";"&hl=de"; SE('Lista keyword'!C2="Inglese";"&hl=en")))
  • 33. Advanced SEO Tool 29 Marzo 2019, Rimini @martinomosna - #advSEOtool 33/40 Gestire le opzioni a tendina /2 Usiamo una serie di formule SE annidate una dietro l'altra per porre le condizioni =SE('Lista keyword'!B2="Web";""; SE('Lista keyword'!B2="Youtube";"&ds=yt"; SE('Lista keyword'!B2="Images";"&ds=i"; SE ('Lista keyword'!B2="News";"&ds=n"; SE('Lista keyword'!B2="Shopping";"&ds=sh"))))) =SE('Lista keyword'!C2="Italiano";"&hl=it"; SE('Lista keyword'!C2="Tedesco";"&hl=de"; SE('Lista keyword'!C2="Inglese";"&hl=en"))) [ACCROCCHIO] [ACCROCCHIO]
  • 35. Advanced SEO Tool 29 Marzo 2019, Rimini @martinomosna - #advSEOtool 35/40 Cosa non si pu嘆 fare Non si possono estrarre i dati delle keyword correlate. Per quelle va fatto per forza di cose lo scraping di Google e con Google Sheets non si pu嘆.
  • 36. Advanced SEO Tool 29 Marzo 2019, Rimini @martinomosna - #advSEOtool 36/40 Cosa si pu嘆 fare in pi湛 Ci sono molte altre altre API accessibili pubblicamente, ognuna con il suo formato differente. Ad esempio... Amazon DuckDuckGo Google Images Bing Alibaba Wikipedia
  • 37. Advanced SEO Tool 29 Marzo 2019, Rimini @martinomosna - #advSEOtool 37/40 Come fare per scoprire gli endpoint Utilizzare gli strumenti per sviluppatori dei browser Nel momento in cui effettui una ricerca e compare un suggerimento, lendpoint compare nelle richieste di rete
  • 39. Advanced SEO Tool 29 Marzo 2019, Rimini @martinomosna - #advSEOtool 39/40 Bibliografia Custom Script per ImportJSON https://github.com/bradjasper/ImportJSON MEGASUGGESTONE DEMO https://docs.google.com/spreadsheets/d/1hnihSG21D_qVUmPMqukVhd-bPQgZsjjX3jw6vBlDEZI/edit?usp=sharing Informazioni sulle opzioni delle API di Autocomplete di Google https://shreyaschand.com/blog/2013/01/03/google-autocomplete-api/
  • 40. Advanced SEO Tool 29 Marzo 2019, Rimini @martinomosna - #advSEOtool 40/40 Grazie! Spazio alle domande... Per ulteriori informazioni Email: info@martinomosna.com Twitter: @martinomosna LinkedIn: /in/martinomosna