SEO & psiche

Amore e Psiche di Francois Edouard Picot, 1819
 


"Psiche si farà prendere dallo sconforto perché le prove sono difficili,
ma ci saranno delle piccole creature che la aiuteranno per portare a fine il compito."



Folgorato sulla via di Damasco da Paul Saphiro di  searchwilderness.com (Semantic Keyword Research with KNIME and Social Media Data Mining) ho provato ad utilizzare sistemi di data analytics in funzione della produzione di contenuti per ottimizzare la posizione di un sito. Difficile compito; ma piccole creature di data analytics possono essere d'aiuto.

Per pescare qualche indicazione su cosa scrivere (sul come ne abbiamo parlato altrove) propongo di partire da un caso reale: il sito di uno studio professionale di poche persone vuole riuscire ad apparire nelle migliori posizioni per alcune keyword di settore; il mercato è agguerrito, ci sono molti concorrenti, si ricerca visibilità soprattutto a livello locale.

Lo studio professionale è costituito da una associazione di psicologi; i problemi trattati riguardano ansia, depressione, fobie; per questi motivi i clienti si dovrebbero rivolgere allo studio e, presumibilmente, cercare in rete chi li possa aiutare.

E' a questo punto che si inserisce la promozione del sito sui motori di ricerca.

I fattori che influenzano il ranking sui motori di ricerca possono essere raggruppabili in:

correttezza della esposizione tecnica del sito

Facilmente controllabile con sistemi automatici, in questo caso è stato utilizzato sia seoMoz che Screaming Frog per verificare che non vi siano problemi; dopo aver eseguito un crawling del sito si è controllata l'assenza di contenuti duplicati, la corretta lunghezza dei parametri di testo principali come titoli, descrizioni e keyword, eventuali redirect e canonical.

Numero di link a disposizione

In diverse modalità si è fatta una analisi dei possibili siti adatti ad ospitare link verso il dominio; l'elenco dei possibili link è stato inviato al committente perchè ne possa richiedere una presenza utile e in siti autorevoli.
Sono state proposte alcune directory indicizzate per l'inserimento di link, sono stati proposti siti di contenuti geolocalizzati per curarne l'indicizzazione a livello locale.
Una azione specifica relativa al social marketing è stata programmata per il futuro.

Storia pregressa del dominio e relativa autorità

In questo caso poco si può fare, se non verificare lo stato dell'arte.

Presenza di contenuti rilevanti

Proprio su questo punto si vuole intervenire, creando delle linee guida per la redazione di contenuti adatti per ottimizzare la presenza online del sito e perchè possano essere condivisi sui social network, se ciò può essere utile all'ottimizzazione (a fine documento un'analisi siu questo punto).

Dapprima viene eseguita una analisi delle keyword utili, dopodichè si passa a cercare in rete quali siano i contenuti più indicizzati per tali keyword per capire come siano stati sviluppati i contenuti ed ispirarsi ad essi per la creazione di nuovi testi per il sito, quindi viene fatta un'analisi sull'utilità dell'essere presente in directory indicizzate come dmoz e quindi sui social network.

Analisi generale


Per verificare quali siano le keyword più utilizzate vendono utilizzati sia lo strumento apposito di adWords che i suggerimenti che Google propone nelle ricerche; viene utilizzata  anche l'apposita utility messa a disposizione su questo sito.
Alla fine del processo (riportato in questo articolo), le keyword vengono presentate al committente ordinate per visibilità online e per convenienza di promozione (tenendo in conto sia la visibilità che la concorrenza) ed il committente sceglie un pool di keyword sulle quali concentrare la scrittura di contenuti per la promozione del sito.
Utilizzando seoMoz e strumenti di analisi dell'andamento storico delle keyword per il sito in esame e per i siti individuati come competitor si isola un sottoinsieme di keyword sulle quali concentrare l'analisi per la scrittura dei contenuti.

Immaginiamo che l'elenco delle keyword su cui basare la creazione di contenuti sia questo:
Ansia, fobia, depressione, psicologo, autolesionismo, adolescenza.
Immaginiamo ancora che la ricerca venga fatta su una città aggiungendone il nome al termine della query.

Le keyword sono quindi:
ansia torino
adolescenza torino
autolesionismo torino
depressione torino
fobie torino
psicologo torino


Nota: queste keyword sono prese come base ed esempio per la scrittura di questo articolo; non sono rappresentative dell'obbiettivo da raggiungere e l'aggiunta del nome della città non è certo il miglior modo per ottenere risultati localizzati. Tuttavia si sono dovute effettuare alcune limitazioni per poter generare i dati necessari all'analisi che viene proposta come metodo generale per l'individuazione dei contenuti da proporre per ottimizzare l'indicizzazione del sito. Sarebbe necessario scegliere keyword in maggior numero, con significati più precisamente individuati, raggiungere un totale di almeno mille documenti indicizzati, utilizzare un motore di ricerca in qualche modo localizzato per ottenere risultati più affisabili; tutto ciò viene eseguito nelle analisi professionali SEO di Linkomm verso i propri clienti.



A questo punto eseguiamo su google [italiano] una ricerca che escluda i risultati privati e prendiamo nota dei primi venti risultati per ognuna delle keyword; otterremo 120 indirizzi web rappresentativi della "conoscenza" che google ha dell'argomento circoscritto dalle keyword.

Su questi 120 link possiamo già eseguire qualche analisi, per esempio estraendo il nome di dominio e cercando di capire se qualcuno compare più volte ed in diverse ricerche.
Analizzando quelli che compaiono più di una volta il risultato è questo:


possiamo già vedere qualche dato importante, data la presenza di:
- social network (youtube / facebook / linkedin / twitter) che ci suggerisce che sull'argomento potrebbe essere utile impostare una campagna di social marketing. Twitter in particolare ci consente di 'tastare il polso' allo scambio veloce di notizie sull'argomento. Più avanti dedicheremo una sezione ai 'twit'.
ncbi.nlm.nih.gov, springer.com e gipsicopatol.it (journal of Psycopatology), che riportano contenuti scientifici; suggerisce l'importanza di avere pubblicazioni online per chi vuole promuovere il proprio sito sull'argomento
- wikipedia: potebbe essere utile riportare, nei propri articoli, link a specifiche definizioni su wikipedia, fonte spesso ritenuta attendibile e che aumenta la qualità dei link del sito.

Per quanto riguarda i restanti circa ottanta domini che si presentano una volta, possiamo identificarli nel tagcloud in grigio:


Si nota che sono presenti domini che sembrano non essere in relazione con le parole cercate; ciò è dovuto all'ampio significato dei termini di ricerca. Per esempio 'depressione torino' può portare, invece che a siti di studi di psicologi, a forum di tifosi calcistici delusi dai granata.

Visto che la nostra promozione SEO deve essere focalizzata sul territorio potrebbe essere interessante capire dove sono fisicamente posizionate le entità che fanno riferimento alle pagine trovate dai motori di ricercca.
Non avrebbe naturalmente senso georeferenziare gli IP dei siti; un sito di Torino potrebbe essere in hosting in California.

Potrebbe invece essere utile cercare nelle 120 pagine dei risultati riferimenti ad indirizzi fisici, che possano indicare la presenza di una attività localizzata. Per questo possiamo utilizzare un algoritmo di estrazione degli indirizzi che abbinato con un indice dei luoghi (abbiamo utilizzato come location source Gazetteer) può fornire un elenco degli indirizzi riportati nelle pagine indicizzate.

Depuriamo questa lista dagli indirizzi al di fuori dell'Italia e, georeferenziandoli, possiamo ottenere la mappa della distribuzione italiana degli enti/aziende con siti che rimandano all'argomento:


Come c'era da aspettarsi, viste le query impostate, la maggior parte dei punti si addensa intorno a Torino; tuttavia sono ben visibili anche punti in altre parti d'Italia, ciò ci conferma che parecchie realtà che non insistono su Torino vengono comunque espresse nei risultati di Google, evidentemente perchè contengono contenuti ritenuti comunque rilevanti per l'argomento.

analisi delle parole (keyword)


E' ora tempo di analizzare il corpus dei 120 documenti scaricati per eseguire alcune analisi che possono essere utile per la redazione dei contenuti che si andranno a creare.

Analisi della co-occorrenza


Esistono in rete molti documenti che parlano della co-occorrenza e di come Google possa utilizzare le co-occorenze per indicizzare le pagine.
In poche parole se due termini molto spesso ricorrono insieme può darsi che alla ricerca di uno il motore di ricerca possa rispondere anche, a parità di altri fattori, con pagine che riportino solo l'altro.

L'analisi sui nostri documenti riporta a co-occorrenze che compaiono fino a 20 volte; questo il risultato per i valori più alti:


Questo invece il tagcloud che riporta le prime 50 co-occorrenze:


Potremmo utilizzare queste coppie di valori per redarre contenuti utili, ad esempio quando si vorrà scrivere un paragrafo o documento sull'ansia sarebbe bene tenere conto di tutte le relative parole che spesso le vengono correlate, nel nostro caso:

analisi della frequenza


L'analisi della frequenza ci indica quanto, in assoluto, una parola viene utilizzata all'interno del corpus (cioè dell'insieme totale dei testi) di documenti. Non ci è di aiuto direttamente per la redazione di contenuti ma lo è indirettamente; scoprendo qual è la parola più inflazionata ci si può rivolgere a sinonimi o a modi più originali di esprimere lo stesso concetto in modo da generare contenuti ritenuti diversi dalla massa e quindi meritevoli di attenzione.
L'analisi va fatta con attenzione: è chiaro che i termini utilizzati nelle query di ricerca che abbiamo impostato  siano i più ricorrenti, si deve utilizzare la propria conoscenza di dominio per stabilire tra le keyword quali siano le più inflazionate.
Ecco le parole più utilizzate e le relative frequenze:


Ed il relativo tagCloud:

Analisi delle keyword importanti

Dopo l'analisi delle parole più ricorrenti passiamo all'analisi delle parole più importani o originali; utilizzeremo tre diversi metodi: keygraph, chi-squared e TD-IDF.

Keygraph

Con questo metodo vengono analizzati i documenti ed estratte le keyword rilevanti utilizzando l'approccio descritto in  "KeyGraph: Automatic Indexing by Co-occurrence Graph based on Building Connstruction Metaphor" di Yukio Ohsawa, descritto come semplice, funzionale ed indipendente da specifici domini di conoscenza.
Questo il risultato:


Chi-squared


In questo caso vengono analizzati i documenti del corpus ed estratte le keyword secondo "Keyword extraction from a single document using word co-occurrence statistical information" di Y.Matsuo and M. Ishizuka

Senza essere esperti di settore non si può non notare che la parola più importante nell'analisi precedente, adolescenza, non compare qui.

TD-IDF


Da Wikipedia:

La funzione di peso tf-idf (term frequency–inverse document frequency) è una funzione utilizzata in Information Retrieval per misurare l'importanza di un termine rispetto ad un documento o ad una collezione di documenti. Tale funzione aumenta proporzionalmente al numero di volte che il termine è contenuto nel documento, ma cresce in maniera inversamente proporzionale con la frequenza del termine nella collezione. L'idea alla base di questo comportamento è di dare più importanza ai termini che compaiono nel documento, ma che in generale sono poco frequenti.


Fa parte di uno dei tanti brevetti che Google ha depositato per definire il proprio algoritmo di ricerca; ad oggi non si sa se tale vaore abbia un peso nella definizione del ranking.
Per noi serve per individuare le parole più originali nel corpus di documento.

Nel nostro caso troviamo ai primi posti una parola che sembra estranea ai temi trattati: "loading". Probabilmente in molti dei siti è utilizzata per indicare il caricamento dei documenti.
Questo il tagcloud:


Conclusioni sull'analisi delle keyword importanti


L'ultimo dei metodi, TD-IDF, è ritenuto uno dei più validi per l'estrazione di keyword importanti.
Ciò che possiamo prendere da questo insieme di parole è un suggerimento su quale parole è bene utilizzare nella redazione dei documenti per conservare una certa originalità; in linea di massima si potrebbe dire che è meglio non utilizzare quelle più frequenti ed utilizzare più frequentemente quelle ora riportate. Si possono inoltre trovare associazioni utili: per esempio la comparsa del termine 'bergamotto' potrebbe essere l'occasione per un approfondimento delle virtù dell'agrume come antistress.

N-grams


A questo punto, dopo aver studiato le parole, passiamo ad analizzare le frasi ricorrenti. Con n-grams si intendono gli insiemi di parole o lettere contigue che appaiono più frequentemente; altrove su questo sito trovate riferimento al fantastico n-gram viewer di google. La co-occorrenza riguardava la presenza di due parole in più documenti; qui invece trattiamo della posizione contigua di più parole, e l'analisi può compiersi anche per la presenza contigua di singole lettere.

Al solito mettiamo nel tritacarne il corpus dei 120 documenti ed estraiamone il tagcloud che rappresenta l'N-gram di due parole:

Quale può essere l'utilità degli n-grams? Possono farci riflettere sulle associazioni di parole o sulle frasi che più frequentemente vengono utilizzate.
Purtroppo non dispongo ad oggi di strumenti TOS (term-of-speech) per l'italiano con i quali analizzare le differenze grammaticali tra i termini, i verbi più usati ed in genere l'analisi del sentiment; sarà oggetto di approfondimenti futuri.
Possiamo ora analizzare ciò che capita aumentando il numero di parole 'vicine': proviamo con 3 e 4, analizzate come frequenza nel corpus, nel singolo documento, nella frase:

Ci sono frasi totalmente al di fuori del contesto (pubblicità? news?), mentre altre possono essere di ispirazione per la produzione di contenuti.

Ricerca degli argomenti ricorrenti


Cercando di salire di un livello di astrazione cerchiamo ora se riusciamo a raccordare le keyword trovate in argomenti o topics in modo da capire quali siano quelli più frequentemente riportati.
Va detto che questo tipo di ricerca funziona bene su un corpus coerente di molti documenti; se non lo è anche la ricerca degli argomenti risulterà... per lo meno strana.

Definiamo un argomento o topic come un concetto definito da più keyword; utilizziamo un algoritmo per trovare quali keyword possano appartenere ad un concetto.
L'algoritmo utilizzato è LDA (Latent Dirichlet allocation) : da Newman, Asuncion, Smyth and Welling, "Distributed Algorithms for Topic Models JMLR" (2009), con campionamento  SparseLDA e struttura dati da Yao, Mimno and McCallum, "Efficient Methods for Topic Model Inference on Streaming Document Collections", KDD (2009).
Questi metodi sono indipendenti dal linguaggio utilizzato; per una spiegazione del metodo vedi wikipedia.

Dai risultati ottenuti cerchiamo di costruire una rete di collegamenti, collegando ciascuna keyword con il proprio argomento e definendo lo spessore del collegamento proporzionale alla sua 'robustezza':

Da questo grafico possiamo desumere:
- a livello di topic, quali sono le keyword che indivisuano un argomento specifico; sta a chi ha la conoscenza di dominio desumere dalle keyword quale sia il "nome" dell'argomento, quantunque possa essere interessante rimettre le keyword che definiscono l'argomento nello stesso 'tritacarne' delle keyword di partenza e, di conseguenza, estrarne quelle rilevanti; una sorta di 'estrazione al quadrato' che magari farà parte di un prossimo esperimento.
- a livello di keyword di partenza, possiamo vedere che sono presenti al centro del grafico; più la keyword ha 'rami' che partono più è presente in tutti gli argomenti. Per esempio da 'adolescenza' si dipartono quattro rami, mentre 'autolesionismo' ne ha 5, è quindi una parola più 'diffusa' nei documenti.
- a livello generale possiamo trovare quelle keyword che assumono importanza avendo molti collegamenti; per esempio 'università' è in una posizione molto importante, così come 'studi': entrambe sono collegate a molti topics, potrebbe essere utile, nel redarre contenuti, fare spesso riferimento agli studi universitari.

analisi dei posizionamenti

Backlinks


Tutti riconosciamo l'importanza dei backlinks; utilizzando semRush facciamo ora un'analisi del numero di link che puntano alle pagine che compongono il nostro corpus.
In questo modo saremo in grado di prevedere quale sarà l'impegno da riservare alla costruzione di una campagna di backlinks per promuovere la pagina di contenuti che scriveremo.
In assoluto, indipendentemente da qualle delle 6 keyword viene cercata, il numero di backlinks è questo:

notiamo subito la presenza di un 'fuori scala' al primo posto, che influenzerà le successive analisi.
Notiamo nell'analisi che qualche indirizzo è condiviso tra le keyword, cioè appare sia per la ricerca di una keyword che per un'altra, è quindi più efficace nell'ottimizzazione; nell'immagine seguente vedete questi indirizzi in blu:

Uno di questi indirizzi, defotech.com, è un portale specializzato nella realizzazione di contenuti, probabilmente utilizzato nelle campagne SEO di alcuni dei siti per ottenere backlinks.
Per cercare di intuire visivamente l'importanza dei backlinks per ogni documento possiamo rimuovere i due 'fuori scala' con più di 1000 backlinks e tracciare i collegamenti tra la keyword ed il relativo documento indicato da google variandone l'ampiezza proporzionalmenrte al numero di backlinks:

Gli indirizzi riportati in blu corrispondono alle pagine con maggiore numero di backlinks.
A questo punto sarebbe interessante tracciare una matrice di correlazione, magari visualizzata con una heatmap, tra numero di backlinks e posizionamento Google; ci indicherebbe quanto sia probabile raggiungere le prime posizione anche senza avere molti backlinks, oppure viceversa che, senza backlinks, non si scala Google; tutto ciò per le keyword analizzate, non in generale per i domini. Anche questo farà parte di un prossimo progetto.

Dmoz


Ai fini del posizionamento conosciamo l'importanza di essere presenti in directory indicizzate; in questo caso analizziamo la presenza su dMoz dei domini dei siti segnalati.
Il risultato è che quasi tutti i siti che emergono da Google sono presenti in dMoz; nel nostro caso, per le prime tre keyword:

Le caselle in nero indicano la presenza del dominio in dMoz.
Da questa analisi ricaviamo una indicazione sull'importanza di essere presenti in questa directory indicizzata; sembra esserci una correlazione tra la presenza su dMoz ed il posizionamento.

Linkedin


Similmente a dMoz, verifichiamo quale sia la presenza delle pagine trovate da Google su Linkedin, o meglio quali pagine siano condivise suquesto social netword; i risultati, in questo caso, sono polarizzati e molto meno numerosi:


Il tagcloud di questi valori, facendo corrispondere ad ogni keyword di ricerca un colore diverso e visualizzando solo il nome di dominio:

In questo caso non sembra esserci una correlazione diretta tra la presenza su linkedin e l'indicizzazione; possiamo notarlo ordinando i domini a seconda della keyword e della posizione nei risultati, segnando a fianco il numero degli 'share' su linkedin (solo la kw 'depressione torino') è completa, ed anche in questo caso per brevità è riportato il solo nome di dominio):

twitter


Allo stesso modo possiamo analizzare quanti 'twit' contengono le pagine indicizzate, in modo da verificarne se ne esista una correlazione con il ranking; per farlo ordiniamo i risultati a seconda della keyword, quindi del ranking ottenuto e riportiamo il numero di twit che contengono l'indirizzo; ho eliminato le righe con valore 0 di twit.


Anche in questo caso non sembra emergere una chiara correlazione tra numero di twit e posizionamento, anche se questo dato meriterebbe un'analisi più approfondita.


Facebook

Non possiamo esimerci dall'analizzare quello che capita sul 're' dei social network.
Analizziamo il numero di 'like', 'shares' e di commenti; cominciamo con i dati grezzi, che riportano per i 120 risultati l'ordine per keyword, somma di likes+shares+comments ed eliminando quelli con valore zero:

(i numeri riportano keyword, url, likes, shares, commenti, likes+shares+commenti)


notiamo che sono riportati 60 valori; quindi la metà delle pagine indicizzate non ha alcun tipo di riferimento su Facebook, se ne deduce che la presenza sul social network può aiutare ma non risulta essere indispensabile per il posizionamento. Per ulteriore indagine inseriamo anche il valore di posizionamento e visualizziamo anche i  documenti con  somma likes+shares+comments pari a 0; possiamo ottenere qualche indicazione in più, ad esempio per 'psicologo torino':

che ci conferma la sostanziale ininfluenza, per la keyword cercata, dei valori relativi a facebook sul posizionamento.

A questo punto, visto che nessuno degli indicatori sui social network sembra esprimersi in modo chiaro, possiamo tentare un approccio più vasto sommando i valori ottenuti per i tre social network e cercando in questo modo indicazioni utili

Facebook + Twitter + Linkedin


Ecco i risultati ottenuti per le prime tre keyword (60 pagine) ordinati per posizionamento:

Anche in questo caso non sembra emergere una chiara correlazione tra posizionamento e indici di presenza sui social network per le keyword ricercate.
Tuttavia per poter dare indicazioni più certe sarebbe necessario ampliare il corpus di documenti ad un numero significativo ed eseguire analisi di correlazione rigorose; anche questo potrebbe far parte di successivi studi.

Per una prima, approssimativa analisi su questo (eccessivamente)  limitato set di documenti cerchiamo la correlazione tra le grandezze trovate; utilizziamo l'indice di correlazione di Pearson tra le grandezze per estrarre i valori di correlazione; questi assumono valori compresi tra - 1 (quando le variabili considerate sono inversamente correlate) e + 1 (quando vi sia correlazione assoluta cioè quando alla variazione di una variabile corrisponde una variazione rigidamente dipendente dall'altra), ovviamente un indice di correlazione pari a zero indica un'assenza di correlazione (wp).
Ottenuti i risultati li visualizziamo in una matrice di correlazione.

L'analisi condotta sulla keyword 'psicologo torino' mostra questi risultati della matrice:

Come si vede la posizione nei risultati di ricerca mostra valori positivi solo per linkedIn e per la somma dei dati; tuttavia valori molto prossimi allo zero, indicanti una minima o assente correlazione.
Anche con le restanti keyword i risultati sono simili.
Viene confermata da questa analisi una certa assenza di correlazione tra la condivisione su social networtk ed il posizionamento delle pagine; ciò va contro tutti i dettami SEO e ricerche di ben altra entità (ranking factors di searchmetrics) si esprimono in modo totalmente diverso. Imputo questa discordanza allo scarso set di documenti analizzati.

[post scriptum: un'analisi successiva è presente qui: Fare SEO con l'acqua calda]

Conclusioni


L'analisi del corpus di documenti costituito dai testi dei documenti presenti nelle prime posizioni di google per un set di keyword può essere utile per indicare sia quali contenuti redarre sia quanto e come utilizzare backlinks(da  social networks o meno)  ai fini della ottimizzazione del posizionamento di un sito.
Tuttavia per ottenere dati significativi è necessario un numero di documenti statisticamente significativo, superiore ai 120 utilizzati in questa analisi; è pure necessario  stabilire keyword che individuino precisamente il dominio di conoscenza con la collaborazione di esperti di settore, che devono collaborare anche nell'analisi dei risultati.
Piccole creature come questi strumenti di data analytics possono dare un grande aiuto nell'indagare l'indicizzazione dei documenti nei motori di ricerca.


Strumenti utilizzati


Per la ricerca e analisi dei dati proposti in queto documento sono stati utilizzati:

Knime, piattaforma di data analyticsver  2.12.0 Copyright by KNIME GmbH, Konstanz, Germany
Dati da searchmetrics, seoMoz, semRush, openLinkProfiler
Keyword discovering tool dal sito www.linkomm.net
Strumenti SEO linkomm

Flusso dei nodi Knime utilizzati:




fonti



Paul Saphiro,  Semantic Keyword Research with KNIME and Social Media Data Mining
Bill Slawski, How G