Slide 1

Slide 1 text

Advanced Link Analysis: nozioni ed esempi di automazione Gianluca Campo Twitter: @giancampo Email: [email protected]

Slide 2

Slide 2 text

Chi sono Gianluca Campo Head of SEO @ Nucleus Geek, non Nerd NON SONO: • uno sviluppatore • tantomeno un matematico

Slide 3

Slide 3 text

Agenda e obiettivi 1. Nozioni di base 1. Teoria dei grafi e analisi delle reti 2. PageRank 3. Calcolo del PageRank 4. Evoluzione del PageRank 5. Cosa sappiamo oggi sui link 2. Distribuzione del PageRank 1. TIPR: True Internal PageRank 2. Screaming Frog 3. Python e Colab 1. Capire davvero come funziona(va) il PageRank, senza averne paura 2. Analizzare il PageRank per migliorarne la distribuzione 3. Perché no, avvicinare alla programmazione

Slide 4

Slide 4 text

Nozioni di base

Slide 5

Slide 5 text

Teoria dei grafi e analisi delle reti

Slide 6

Slide 6 text

E’ possibile attraversare tutti i ponti una volta sola?

Slide 7

Slide 7 text

La prima formalizzazione di un problema sui grafi fu realizzata da Eulero nel 1736, con Il problema dei sette ponti di Koenigsberg Eulero è stato il primo a dimostrare che una passeggiata che attraversasse tutti ponti una volta sola è impossibile Un qualsiasi grafo è percorribile se e solo se ha tutti i nodi di grado pari, o due di essi sono di grado dispari [...] Ce lo spiega la teoria dei grafi

Slide 8

Slide 8 text

Vediamo meglio cosa sono i grafi Sono configurazioni costituite da: • nodi o vertici (punti) • collegamenti (linee) Se i collegamenti: • non sono orientati si parla di spigoli e di grafo non orientato o semplice • sono orientati si parla di archi e di grafo orientato o digrafo Si parla di grado per indicare il numero di collegamenti verso un particolare nodo Grafo non orientato Digrafo (orientato)

Slide 9

Slide 9 text

Dai grafi alle reti sociali La Social Network Analysis (SNA) è nata molto prima della nascita del Web Jacob Levi Moreno nel 1934 ha infatti pubblicato il primo libro con sociogrammi, rappresentazioni grafiche di reti sociali: Who shall survive? La teoria delle reti sociali studia le connessioni e le distanze nei grafi e attinge a piene mani dalla teoria dei grafi

Slide 10

Slide 10 text

A metà anni ‘90 gli studi in information retrieval hanno cominciato a concentrarsi sull’uso: • di link e testi per migliorare la classificazione in argomenti • dei link per stimare popolarità e autorità in modo da restringere il set di risposte dei motori di ricerca In quegli anni si è iniziato ad applicare lo studio delle reti per studiare il Web Arriviamo alla SEO

Slide 11

Slide 11 text

Quale nodo è il più importante? E’ una delle domande principali che si pone lo studio delle reti La misura dell’importanza di un nodo in una rete è detta centralità ?

Slide 12

Slide 12 text

La risposta è... dipende Degree Centrality Quanti nodi può raggiungere direttamente questo nodo? Obiettivo: trovare i nodi che possono trasmettere informazioni al maggior numero possibile di altri nodi 2 4 4 3 1 1 1

Slide 13

Slide 13 text

La risposta è... dipende Eigenvector Centrality* Quanto questo nodo è connesso ad altri nodi molto connessi? Obiettivo: trovare i nodi con collegamenti più rilevanti 2 3 2 2 1 1 1 *calcolo semplificato

Slide 14

Slide 14 text

PageRank

Slide 15

Slide 15 text

Ideato a fine anni ‘90 http://infolab.stanford.edu/~backrub/google.html

Slide 16

Slide 16 text

PageRank ≈ Eigenvector Centrality Il PageRank è una variante della Eigenvector Centrality. La differenza è che PageRank si applica ad un digrafo perché tiene in conto link in entrata e in uscita.

Slide 17

Slide 17 text

Calcolo del PageRank

Slide 18

Slide 18 text

Come si calcola il PageRank della pagina A? PageRank (A) = PageRank (B) + PageRank (C) + PageRank (D) B C D A

Slide 19

Slide 19 text

Ma occorre dividere per i link in uscita B C D A PageRank (A) = PageRank (B) / 3 + PageRank (C) / 1 + PageRank (D) / 3

Slide 20

Slide 20 text

E il PageRank della pagina B? B C D A PageRank (B) = PageRank (D) / 3

Slide 21

Slide 21 text

E il PageRank della pagina C? B C D A PageRank (C) = PageRank (A) / 1 + PageRank (B) / 3 + PageRank (D) / 3

Slide 22

Slide 22 text

E il PageRank della pagina D? B C D A PageRank (D) = PageRank (B) / 3

Slide 23

Slide 23 text

Occorre ripetere più volte il calcolo Start Iterazione 1 Iterazione 2 Iterazione N PageRank (A) 0,25 PR(B)/3 + PR(C)/1 + PR(D)/3 = 0,42 PR(B)/3 + PR(C)/1 + PR(D)/3 = 0,47 PR(A) PageRank (B) 0,25 PR(D)/3 = 0,08 PR(D)/3 = 0,03 PR(B) PageRank (C) 0,25 PR(A)/1 + PR(B)/3 + PR(D)/3 = 0,42 PR(A)/1 + PR(B)/3 + PR(D)/3 = 0,47 PR(C) PageRank (D) 0,25 PR(B)/3 = 0,08 PR(B)/3 = 0,03 PR(D) TOT PageRank 1 1 1 1

Slide 24

Slide 24 text

Fino a “convergere” http://ilpubs.stanford.edu:8090/422/1/1999-66.pdf

Slide 25

Slide 25 text

Ma smorziamo con il random surfer model Il PageRank intende simulare il modello di comportamento di un utente sul Web Il cd. random surfer model prevede che: 1. l’utente clicchi casualmente i link in pagina 2. ad un certo punto cambi pagina senza seguire alcun link Per rispettare il secondo punto, al calcolo visto si aggiunge un damping factor (fattore di “smorzamento”) 1 link link link link link link link link link 2 link link link link link link link link link

Slide 26

Slide 26 text

Evoluzione del PageRank

Slide 27

Slide 27 text

Alcune caratteristiche menzionate nel brevetto Associate ai link: • dimensione del font • posizione del link • parole usate nell’anchor text Associate alle pagg. linkanti: • il topical cluster a cui appartiene • numero di link in pagina Infine, altre caratteristiche riguardano: • le pagg. di di destinazione • dati sul comportamento utente Un brevetto di Google - depositato nel 2004 e concesso nel 2010 - sembra suggerire un nuovo approccio [...] reasonable surfer model that indicates that when a surfer accesses a document with a set of links, the surfer will follow some of the links with higher probability than others. [...] Il brevetto cita in modo esplicito alcune caratteristiche che possono essere usate per valutare l’importanza di un link Il reasonable surfer model (2004/2010) patents.google.com seobythesea.com

Slide 28

Slide 28 text

Le seed pages (2006/2015) In un altro brevetto Google introduce il concetto di seed pages, cioè pagine di fiducia da cui ricavare informazioni su pagine da rankare. [...] One possible variation of PageRank that would reduce the effect of these techniques is to select a few “trusted“ pages (also referred to as the seed pages) [...] [...] The system next computes shortest distances from the set of seed pages to each page in the set of pages based on the lengths of the links between the pages. [...] patents.google.com seobythesea.com

Slide 29

Slide 29 text

Modifiche al reasonable surfer model (2012/2016) Nel 2012 Google aggiorna il brevetto con un continuation patent, modificando alcuni claim. Nel nuovo brevetto Google sembra focalizzarsi meno sui documenti e sul comportamento dell’utente. Sembra che nel continuation patent ci sia un maggior focus sui link e - secondo Bill Slawski - sugli anchor text patents.google.com seobythesea.com

Slide 30

Slide 30 text

Un PageRank esiste ancora? Nel 2019 un ex ingegnere di Google su HackerNews spiega che “il PageRank non è più utilizzato dal 2006” “L’algoritmo che lo sostituisce viene ancora chiamato PageRank in Google quindi tecnicamente è vero che esiste ancora” Spiega infine che il nuovo algoritmo effettua computazioni più rapide, necessarie a causa della forte crescita del Web. https://www.seroundtable.com/google-hasnt-used-pagerank-since-2006-27891.html https://news.ycombinator.com/item?id=20440079

Slide 31

Slide 31 text

Sì, una forma di PageRank comunque esiste ancora https://twitter.com/JohnMu/status/1232014208180592641 https://twitter.com/methode/status/829755916895535104

Slide 32

Slide 32 text

Cosa sappiamo oggi sui link

Slide 33

Slide 33 text

Quanto incide la posizione di un link? Dicevamo che secondo il reasonable surfer model la posizione di un link può impattare nel calcolo del PageRank Dalla versione 13 anche Screaming Frog ha introdotto la posizione dei link, facilmente personalizzabile

Slide 34

Slide 34 text

Esperimento: link nel menu VS link nel footer 1 2 1 2 Inserisco due link a pagg. con pari possibilità di posizionarsi per una chiave inventata Google premia la pag. con link nel menu

Slide 35

Slide 35 text

Il nofollow è oggi solo un suggerimento? A settembre 2019 Google ha introdotto gli attributi rel=”sponsored”, rel=”ugc” Ha inoltre comunicato che: 1. da quel momento in avanti nofollow sarebbe stato considerato un suggerimento lato ranking 2. a marzo 2020 il nofollow sarebbe diventato solo un suggerimento anche lato scansione e indicizzazione 1 2 https://webmasters.googleblog.com/2019/09/evolving-nofollow-new- ways-to-identify.html

Slide 36

Slide 36 text

Esperimento: inserimento nofollow 1 2 1 2 Inserisco due link a pagg. con pari possibilità di posizionarsi per una chiave inventata Google premia la pag. con link nel menu

Slide 37

Slide 37 text

In effetti sembra ancora non sia così A metà giugno, nel podcast “Search Off The record”, Gary Ilyes ha affermato che (minuto 2:32): • Google si è “concesso” di considerare nofollow un suggerimento • non hanno ancora nulla di nuovo da annunciare • stanno lavorando su alcune cose che potrebbero essere utili a web e webmaster http://search-off-the-record.googledevelopers.libsynpro.com/pop-filters- nofollow-core-web-vitals-and-more

Slide 38

Slide 38 text

Distribuzione del PageRank

Slide 39

Slide 39 text

TIPR: True Internal PageRank

Slide 40

Slide 40 text

Kevin Indig (ex Head of Tech SEO di Atlassian/Trello/Jira) al Tech SEO Boost 2019 ha presentato questo modello JR Oakes, (celebre Tech SEO) ha realizzato uno script che automatizza il processo descritto da Indig Come nasce il True Internal PageRank https://twitter.com/jroakes/status/1101954879810093056

Slide 41

Slide 41 text

Il PageRank classifica i nodi di una rete in base al numero di link in ingresso mettendo in risalto i nodi molto conosciuti e popolari Il CheiRank si limita a invertire la direzione dei collegamenti rispetto al PageRank, quindi classifica i nodi in base al numero di link in uscita mettendo in risalto i nodi più comunicativi Prima una nota sul CheiRank

Slide 42

Slide 42 text

Come funziona il TIPR 1. Calcolare il PageRank per individuare i nodi che ne ottengono più valore 2. Calcolare il CheiRank per identificare i nodi che trasmettono più valore 3. Inserire i backlink nelle computazioni in modo da ponderare PR e CR 4. Monitorare i file di log per verificare come Google recepisce le modifiche ai link interni (maggiori info qui) https://www.kevin-indig.com/internal-link-optimization-with-tipr/

Slide 43

Slide 43 text

Come funziona il TIPR 1. Calcolare il PageRank per individuare i nodi che ne ottengono più valore 2. Calcolare il CheiRank per identificare i nodi che trasmettono più valore 3. Inserire i backlink nelle computazioni in modo da ponderare PR e CR 4. Monitorare i file di log per verificare come Google recepisce le modifiche ai link interni (maggiori info qui) https://www.kevin-indig.com/internal-link-optimization-with-tipr/

Slide 44

Slide 44 text

Screaming Frog

Slide 45

Slide 45 text

Scansioniamo le pagine più interessanti

Slide 46

Slide 46 text

Attiviamo le API di MOZ

Slide 47

Slide 47 text

Esportiamo i file necessari internal_html.csv allinlinks.csv

Slide 48

Slide 48 text

Python e Colab

Slide 49

Slide 49 text

Introduzione a Google Colab https://colab.research.google.com/notebooks/intro.ipynb

Slide 50

Slide 50 text

Copiare il notebook sul proprio Colab/Drive https://colab.research.google.com/drive/1OcqhCSr7yWCfIDLYTO7qcYZYDYNQMfm8?usp=sharing

Slide 51

Slide 51 text

Eseguire la prima cella e seguire le istruzioni per collegare Drive

Slide 52

Slide 52 text

Installare/importare le librerie necessarie e inserire alcune variabili

Slide 53

Slide 53 text

Creiamo delle funzioni da usare dopo per consolidare le URL

Slide 54

Slide 54 text

Carichiamo e leggiamo internal_html.csv

Slide 55

Slide 55 text

Carichiamo e leggiamo allinlinks.csv

Slide 56

Slide 56 text

Costruiamo i grafi, quindi ne calcoliamo PR e CR

Slide 57

Slide 57 text

Adesso possiamo disegnare le distribuzioni di PR e CR Decommentare se si desidera un file .graphml da importare in Gephi o Cytoscape

Slide 58

Slide 58 text

E soprattutto esportare i dati in csv

Slide 59

Slide 59 text

Analizziamo le metriche External equity normalizzata (fonte: Moz) # normalizzato di outgoing links per pag. Valori normalizzati di PR e CR Valore normalizzato di equity per link

Slide 60

Slide 60 text

PRO • Offre una stima il più possibile vicina a quello che potrebbe essere ancora oggi il funzionamento del PageRank • Uno dei pochi modelli ad offrire un sistema di monitoraggio così efficace sulla distribuzione di PageRank, tenendo anche conto di backlink esterni e log CONTRO • I segnali di ranking di Google sono molti più che il solo PageRank Conclusioni • Non esiste ancora un peso ben definito delle componenti EVOLUTIVE • Predire il successo di una struttura di link interni a partire da ambienti di staging • Inserire elementi come la posizione dei link tra i pesi iniziali da dare in input al modello

Slide 61

Slide 61 text

Grazie!