Slide 1

Slide 1 text

Contenuto riservato e confidenziale. Google alla prova dei fatti: sfatiamo alcuni miti Gianluca Campo, Demetrio Orecchio #SEOMythbusting #SMConnect

Slide 2

Slide 2 text

Gianluca Campo Head of SEO & Analytics Demetrio Orecchio SEO & Analytics Specialist Senior

Slide 3

Slide 3 text

Indice 1. Introduzione e premesse 2. Cosa accade se inseriamo disallow e noindex? 3. Il nofollow è trattato come suggerimento? 4. Google preferisce HTTPS a HTTP? 5. Google scansiona i link in JavaScript? 6. Intermezzo (Analisi dei log con KNIME e SEO Log File Analyser) 7. Indexing API: aiutano l'indicizzazione? 8. Dopo quanti redirect hop Google non scansiona? 9. Inserire h1nell'head lo rompe? 10. Il noindex nel body viene considerato? 11. Cosa accade con noindex e canonical insieme? 12. I dati strutturati influenzano il ranking?

Slide 4

Slide 4 text

Premesse

Slide 5

Slide 5 text

Premesse 1. I test eseguiti sono soprattutto volti a riflettere sui fondamenti di scansione, indicizzazione e posizionamento a volte ignorati 2. Non c’è alcuna intenzione di screditare esponenti di Google o altri SEO, ma solo constatare il più possibile se qualcosa risulta vero o meno 3. Aggiornamenti di linee guida o documentazione possono essere avvenuti nelle ultime settimane, dunque i nostri test possono essere stati superati da novità recenti 4. In alcuni casi i test non hanno portato risultati significativi o a conclusioni diverse da quanto previsto

Slide 6

Slide 6 text

Come abbiamo condotto i test 1. Abbiamo effettuato i nostri test in maniera più semplice ed efficace possibile cercando di rimuovere elementi che potessero comprometterne la validità 2. I metodi utilizzati per svolgere i test hanno puntato sulla rapidità, a discapito della rigorosità in alcuni casi 3. Abbiamo usato solo Google Search Console per favorire la scansione, nessun altro metodo (a parte alcuni link esterni per la prima indicizzazione della homepage) 4. Tutti gli screen delle SERP sono state fatte con browser in incognito, per limitare l'influenza delle preferenze dei nostri browser sui risultati di ricerca

Slide 7

Slide 7 text

No content

Slide 8

Slide 8 text

Passo 1. Avere un sito su cui effettuare i test Il primo passo è stato scegliere e registrare un dominio su cui effettuare i test. Abbiamo registrato il dominio https://nkseolab.com/ che abbiamo popolato con pagine HTML molto basilari, a volte un po' di JavaScript e qualche CSS.

Slide 9

Slide 9 text

Passo 2: Configurazione Google Search Console e prima indicizzazione Appena creato il sito, abbiamo configurato Google Search Console e ispezionato la URL dell'homepage. Con nostra grande sorpresa Google non indicizzava la homepage perché il contenuto canonico selezionato era https://www.dapupetta.it (un ristorante qualunque di Vercelli ☺)

Slide 10

Slide 10 text

Test #1 Cosa accade se inseriamo disallow e noindex?

Slide 11

Slide 11 text

Google: ‘’For the noindex to be effective, the page must not be blocked’’ Fonte: https://developers.google.com/search/docs/crawling-indexing/block-indexing

Slide 12

Slide 12 text

Indicizziamo una pagina qualunque

Slide 13

Slide 13 text

Inseriamo un noindex su codice ma anche un Disallow nel robots.txt https://nkseolab.com/londra6.html

Slide 14

Slide 14 text

Il primo risultato è che Google non può più scansionare

Slide 15

Slide 15 text

Restiamo in attesa che Google segnali la pagina bloccata da robots.txt

Slide 16

Slide 16 text

Google: ‘’For the noindex to be effective, the page must not be blocked’’ Fonte: https://developers.google.com/search/docs/crawling-indexing/block-indexing

Slide 17

Slide 17 text

Test #2 Il nofollow è trattato come suggerimento?

Slide 18

Slide 18 text

Google: ‘’nofollow will become a hint as of March 1, 2020’’ Fonte: https://developers.google.com/search/blog/2019/09/evolving-nofollow-new-ways-to-identify

Slide 19

Slide 19 text

Creiamo due pagine diverse ma che puntano allo stesso target https://nkseolab.com/esperimento-nofollow-2.html https://nkseolab.com/esperimento-nofollow-1.html Target, presente anche nel title

Slide 20

Slide 20 text

Indicizziamo entrambe le pagine

Slide 21

Slide 21 text

Sistemiamo i link in menu e footer, ma mettendo un nofollow nel menu Menu della homepage Footer della homepage

Slide 22

Slide 22 text

Il posizionamento premia la pagina senza nofollow, malgrado sia nel footer

Slide 23

Slide 23 text

Google: ‘’nofollow will become a hint as of March 1, 2020’’ Fonte: https://developers.google.com/search/blog/2019/09/evolving-nofollow-new-ways-to-identify

Slide 24

Slide 24 text

Test #3 Google preferisce HTTPS a HTTP?

Slide 25

Slide 25 text

Google: ‘’Google prefers to index the HTTPS version’’ Fonte: https://support.google.com/webmasters/answer/11396518

Slide 26

Slide 26 text

Creiamo una pagina orfana raggiungibile sotto HTTP e HTTPS Codice di risposta di https://nkseolab.com/milan.html Codice di risposta di http://nkseolab.com/milan.html

Slide 27

Slide 27 text

Dopo nostro invio su GSC Google le ha scansionate entrambe

Slide 28

Slide 28 text

Google indicizza la versione HTTPS, selezionandola come canonica

Slide 29

Slide 29 text

Google: ‘’Google prefers to index the HTTPS version’’ Fonte: https://support.google.com/webmasters/answer/11396518

Slide 30

Slide 30 text

Test #4 Google scansiona i link in JavaScript?

Slide 32

Slide 32 text

Indicizziamo una pagina con due link a pagine altrimenti orfane https://nkseolab.com/roma.html

Slide 33

Slide 33 text

Attenzione: entrambi i link sono inseriti dinamicamente Screaming Frog con JS abilitato trova solo il primo link Screaming Frog con JS disabilitato non trova alcuno dei due link

Slide 34

Slide 34 text

Anche nei log notiamo che Google ha scansionato solo il primo link

Slide 36

Slide 36 text

Analisi dei log con KNIME e SEO Log File Analyser Intermezzo

Slide 37

Slide 37 text

KNIME Analytics Platform • KNIME Analytics Platform è una piattaforma gratuita no-code/low- code per la data science, che usa la programmazione visuale per costruire sequenze di attività. • La piattaforma è basata su un’interfaccia drag & drop in cui si costruiscono pipeline di blocchi e ognuno di questi corrisponde ad un’attività precisa. • KNIME nasce per la data science dunque è trasversale a diversi ambiti per propria natura. • KNIME è nato nel 2006 nei laboratori dell’Università di Costanza: a questo deve il suo nome KN (Konstanz) IM (Information Miner) E. https://en.wikipedia.org/wiki/KNIME

Slide 38

Slide 38 text

Composizione della workbench

Slide 39

Slide 39 text

KNIME // Usiamo questo workflow https://kni.me/w/RHTIZn7EEJSlQn4C

Slide 40

Slide 40 text

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

Slide 41

Slide 41 text

KNIME // 2. Impostiamo il nodo Web Log Reader

Slide 42

Slide 42 text

…dal file di log alla tabella: il risultato del nodo Web Log Reader

Slide 43

Slide 43 text

KNIME // 3. Pre-processiamo un po’ i dati Convertiamo gli IP in paesi Modifichiamo le date e rimuoviamo il quarto ottetto dagli IP per semplificare la successiva ricerca

Slide 44

Slide 44 text

KNIME // 4. Un metanodo per interpretare il JSON con indirizzi IP di Google Il metanodo è un gruppo di nodi, una sorta di mini-workflow Leggiamo il JSON scaricato da https://developers.google.com/static/ search/apis/ipranges/googlebot.json Processiamo fino ad ottenere una tabella utile ai nostri scopi

Slide 45

Slide 45 text

…dal JSON alla tabella: il risultato del metanodo *ATTENZIONE, nota tecnica su IPv6: non è corretto modificarne la notazione!

Slide 46

Slide 46 text

KNIME // 5. Filtriamo la tabella con i log applicando gli IP di Google

Slide 47

Slide 47 text

KNIME // 6. Scriviamo i risultati in un file Excel

Slide 48

Slide 48 text

No content

Slide 49

Slide 49 text

Cos’è SEO Log File Analyser? Uno strumento estremamente utile per l'analisi dei log è SEO Log File Analyser di Screaming Frog.

Slide 50

Slide 50 text

Come impostare il file di log Lo strumento di Screaming Frog riesce, quasi sempre, a riconoscere i campi principali. Dove non riesce, è possibile settare manualmente i campi.

Slide 51

Slide 51 text

I dettagli del tab Events Il tab event contiene i dati Row importati nella fase precedente e permette di ordinare o filtrare le richieste in base al Timestamp, useragent, path URL, etc.

Slide 52

Slide 52 text

Test #5 Indexing API: aiutano l'indicizzazione?

Slide 53

Slide 53 text

Google: ‘’the Indexing API can only be used to crawl pages with JobPosting…’’ Fonte: https://developers.google.com/search/apis/indexing-api/v3/quickstart

Slide 54

Slide 54 text

Costruiamo una pagina senza i requisiti richiesti da Google La pagina non presenta alcun tipo di dato strutturato ed ha contenuto testuale generato casualmente e senza senso. https://nkseolab.com/c18/n2.html

Slide 55

Slide 55 text

Inviamo la pagina mediante Indexing API La pagina è orfana e quindi non linkata mai internamente né tramite Sitemap né inviata mediante Google Search Console. È stata inviata solo tramite le API per verificare se venisse scansionata ed indicizzata da Google mediante Indexing API. Script usato per fare le chiamate alle Indexing API

Slide 56

Slide 56 text

No content

Slide 57

Slide 57 text

Creiamo un progetto su Google Cloud Platform 1 2

Slide 58

Slide 58 text

Generiamo un account di servizio

Slide 59

Slide 59 text

Diamo il nome che più ci piace al nostro servizio

Slide 60

Slide 60 text

Aggiungiamo una chiave al nostro servizio

Slide 61

Slide 61 text

Aggiungiamo una chiave al nostro servizio #1

Slide 62

Slide 62 text

Aggiungiamo una chiave al nostro servizio #2

Slide 63

Slide 63 text

Aggiungiamo la mail tra i proprietari di Google Search Console

Slide 64

Slide 64 text

Google ha indicizzato la pagina anche se non è un JobPosting! La pagina a distanza di poche ore è stata indicizzata da Google.

Slide 65

Slide 65 text

Google: ‘’the Indexing API can only be used to crawl pages with JobPosting…’’ Fonte: https://developers.google.com/search/apis/indexing-api/v3/quickstart

Slide 66

Slide 66 text

Test #6 Dopo quanti redirect hop Google non scansiona?

Slide 67

Slide 67 text

John Mueller: ‘’up to 5 hops in the chain per crawl attempt’’ Fonte: https://www.searchenginejournal.com/googles-john-mueller-recommends-less-than-5-hops-per-redirect-chain/344664/

Slide 68

Slide 68 text

Posizioniamo una pagina orfana alla fine di una catena oltre i 5 hop 3 salti 4 salti 5 salti 6 salti 301 https://nkseolab.co m/aaaa 301 https://nkseolab.co m/a 301 https://nkseolab.co m/aaa 301 https://nkseolab.co m/ab 301 https://nkseolab.co m/bbbb 301 https://nkseolab.co m/b 301 https://nkseolab.co m/bbb 301 https://nkseolab.co m/bc 301 https://nkseolab.co m/cccc 301 https://nkseolab.co m/c 301 https://nkseolab.co m/ccc 301 https://nkseolab.co m/cd 200 https://nkseolab.co m/c15/qq.html 301 https://nkseolab.co m/d 301 https://nkseolab.co m/ddd 301 https://nkseolab.co m/de 200 https://nkseolab.co m/c15/q.html 301 https://nkseolab.co m/eee 301 https://nkseolab.co m/ef 200 https://nkseolab.co m/c15/qqq.html 301 https://nkseolab.co m/ge 200 https://nkseolab.co m/c15/qqqq.html Scansionata? Sì Scansionata? Sì Scansionata? Sì Scansionata?

Slide 69

Slide 69 text

Google scansiona la pagina? Guardiamo il file di log 1 2 3 4 5 6

Slide 70

Slide 70 text

L’indicizzazione della pagina a 6 hop è inoltre avvenuta con successo

Slide 71

Slide 71 text

Tuttavia, le linee guida di Google sono intanto cambiate Martino Mosna ci ha segnalato che sono state aggiornate le linee guida. Per questa ragione abbiamo fatto altri 2 tentativi. Fonte: https://developers.google.com/search/docs/crawling-indexing/http-network-errors

Slide 72

Slide 72 text

Cosa accade dunque? 10 salti 11 salti 301 https://nkseolab.com/prova1 301 https://nkseolab.com/pro1 301 https://nkseolab.com/prova2 301 https://nkseolab.com/pro2 301 https://nkseolab.com/prova3 301 https://nkseolab.com/pro3 301 https://nkseolab.com/prova4 301 https://nkseolab.com/pro4 301 https://nkseolab.com/prova5 301 https://nkseolab.com/pro5 301 https://nkseolab.com/prova6 301 https://nkseolab.com/pro6 301 https://nkseolab.com/prova7 301 https://nkseolab.com/pro7 301 https://nkseolab.com/prova8 301 https://nkseolab.com/pro8 301 https://nkseolab.com/prova9 301 https://nkseolab.com/pro9 301 https://nkseolab.com/prova10 301 https://nkseolab.com/pro10 200 https://nkseolab.com/c15/qa.html 301 https://nkseolab.com/pro11 200 https://nkseolab.com/c15/qqaa.html Scansionata? Scansionata?

Slide 73

Slide 73 text

A 10 hop vediamo tutto scansionato correttamente 1 2 3 4 5 6 7 8 9 10

Slide 74

Slide 74 text

La pagina a 10 hop non sembra indicizzata, invece… Pagina di destinazione della catena Check indicizzazione pagina di origine della catena Check indicizzazione pagina di destinazione della catena

Slide 75

Slide 75 text

Anche 11 hop sono scansionati con successo! 1 2 3 4 5 6 7 8 9 11 10

Slide 76

Slide 76 text

L’indicizzazione è avvenuta come atteso Pagina di destinazione della catena Check indicizzazione pagina di destinazione della catena

Slide 77

Slide 77 text

John Mueller: ‘’up to 5 hops in the chain per crawl attempt’’ Fonte: https://www.searchenginejournal.com/googles-john-mueller-recommends-less-than-5-hops-per-redirect-chain/344664/

Slide 78

Slide 78 text

Test #7 Inserire h1nell'head lo rompe?

Slide 79

Slide 79 text

John Mueller: ‘’For us, this implicitly closes the head’’ Fonti: http://www.thesempost.com/avoid-non-head-html-tags-head-section-pages/ https://www.reddit.com/r/TechSEO/comments/87pxsu/comment/dwh3hd9/

Slide 80

Slide 80 text

Costruiamo una pagina con l’h1 posizionato nell'head prima del canonical https://nkseolab.com/c1/aa.html Il canonical punta a https://nkseolab.com/c1/aaa.html

Slide 81

Slide 81 text

Nonostante il canonical, la pagina rimane indicizzata

Slide 82

Slide 82 text

John Mueller: ‘’For us, this implicitly closes the head’’ Fonti: http://www.thesempost.com/avoid-non-head-html-tags-head-section-pages/ https://www.reddit.com/r/TechSEO/comments/87pxsu/comment/dwh3hd9/

Slide 83

Slide 83 text

Test #8 Il noindex nel body viene considerato?

Slide 84

Slide 84 text

Kristina Azarenko: ‘’Google respects the noindex tag found in the page ’’ Fonte: https://marketingsyrup.com/the-curious-case-of-noindexed-page/

Slide 85

Slide 85 text

Facciamo indicizzare una pagina qualunque

Slide 86

Slide 86 text

Inseriamo un meta robots noindex dentro il body

Slide 87

Slide 87 text

Google in effetti rispetta il noindex anche se si trova nel body!

Slide 88

Slide 88 text

Rimuovendo il noindex la pagina torna disponibile

Slide 89

Slide 89 text

Kristina Azarenko: ‘’Google respects the noindex tag found in the page ’’ Fonte: https://marketingsyrup.com/the-curious-case-of-noindexed-page/

Slide 90

Slide 90 text

Test #9 Cosa accade con noindex e canonical insieme?

Slide 91

Slide 91 text

John Mueller: ‘’we pick the rel=canonical and use that over the noindex’’ Fonti: https://www.contentkingapp.com/academy/canonical/faq/noindex/ https://www.reddit.com/r/TechSEO/comments/8yahdr/comment/e2dey9i/

Slide 92

Slide 92 text

Abbiamo creato due pagine per il test 1. /dubai1.html (noindex + canonical verso la 2) 2. /dubai2.html (orfana ma riceve canonical) https://nkseolab.com/dubai1.html

Slide 93

Slide 93 text

noindex + canonical: vince il noindex 1 2

Slide 94

Slide 94 text

Googlebot ha scansionato tutte le pagine create Ricordiamoci questa data

Slide 95

Slide 95 text

La pagina indicata dal canonical viene indicizzata dopo nostro invio Non era già passato prima?

Slide 96

Slide 96 text

No content

Slide 97

Slide 97 text

Creiamo una pagina con canonical verso una pagina con noindex La pagina https://nkseolab.com/newyork1.html possiede un noindex La pagina https://nkseolab.com/newyork.html punta a https://nkseolab.com/newyork1.html

Slide 98

Slide 98 text

Dai log però vediamo che Google ha scansionato tutte le pagine

Slide 99

Slide 99 text

Google indicizza la pagina ignorando il canonical

Slide 100

Slide 100 text

John Mueller: ‘’we pick the rel=canonical and use that over the noindex’’ Fonti: https://www.contentkingapp.com/academy/canonical/faq/noindex/ https://www.reddit.com/r/TechSEO/comments/8yahdr/comment/e2dey9i/

Slide 101

Slide 101 text

Test #10 I dati strutturati influenzano il ranking?

Slide 102

Slide 102 text

SearchLiaison: ‘’ It has no impact on ranking’’ Fonte: https://twitter.com/searchliaison/status/1217854447449247745 Nostro sondaggio

Slide 103

Slide 103 text

Costruiamo due pagine con le stesse caratteristiche, ma non duplicate Le pagine sono: • orfane • testi diversi ma entrambi senza un senso logico • stesso h1 • stesso title • stessa meta description https://nkseolab.com/c20/sd2.html https://nkseolab.com/c20/sd1.html

Slide 104

Slide 104 text

Inseriamo dei dati strutturati di tipo Article nella pagina 1 https://nkseolab.com/c20/sd1.html

Slide 105

Slide 105 text

Per questa query si posiziona la pagina CON dati strutturati

Slide 106

Slide 106 text

Per quest’altra Google ritiene più rilevante la pagina SENZA dati strutturati

Slide 107

Slide 107 text

No content

Slide 108

Slide 108 text

Costruiamo due pagine con le stesse caratteristiche Le pagine sono: • con contenuto testuale molto simile • stesso h1 • stesso title • stessa meta description • inseriti nella Sitemap • linkati nel menu laterale del sito https://nkseolab.com/madagascar2.html https://nkseolab.com/madagascar1.html

Slide 109

Slide 109 text

Aggiungiamo i dati strutturati solo a pagina 1: si posiziona meglio

Slide 110

Slide 110 text

Aggiungiamo i dati strutturati solo a pagina 2: i risultati si invertono

Slide 111

Slide 111 text

SearchLiaison: ‘’ It has no impact on ranking’’ Fonte: https://twitter.com/searchliaison/status/1217854447449247745 Nostro sondaggio

Slide 112

Slide 112 text

Grazie!

Slide 113

Slide 113 text