Differenze tra Disallow del Robots.txt e meta tag Noindex


In passato avevo spiegato diverse volte cosa cambia tra scansione e indicizzazione. Nel caso ti fossi perso i riferimenti puoi ripartire leggendo Come indicizzare un sito web su Google e Come funziona Google (Easy Mode). Ricapitolando in estrema sintesi: la scansione è la prima attività che Googlebot esegue quando trova una nuova pagina, se il contenuto è unico lo indicizza e se il contenuto è ricco di informazioni di qualità lo posiziona meglio degli altri. Perché ripeto tutto ciò? Semplice, perché Disallow e Noindex agiscono su due momenti diversi del processo che porta una pagina dall’essere trovata dagli spider all’essere posizionata nei risultati di ricerca…

Leggi l’articolo completo.

Annunci

Un commerciale per la SEO serve davvero?


Dal 2012 lavoro come Head of SEO in Searcus Swiss Sagl, agenzia SEO e PPC di origine Danese con sedi in Danimarca e Svizzera. Nel 2015 quando il socio fondatore si è trasferito negli USA sono diventato socio di maggioranza della sede Svizzera e ho seguito insieme al mio socio lo sviluppo di questa piccola realtà ripartita da zero. Dopo un 2015 e 2016 positivi a livello di fatturato e utili, abbiamo pensato diverse strategie per far crescere la società. La prima idea che abbiamo valutato è stata quella di assumere nuovi agenti commerciali investendo tempo e denaro nella formazione di queste figure…

Leggi l’articolo completo.

Come migrare un sito web mobile da URL m. a responsive


Al giorno d’oggi quando si sceglie la configurazione grafica di un sito web la scelta più gettonata è senza ombra di dubbio il design responsive. John Mueller di Google ha detto in un hangout di Google Webmaster Central che, se si prevede di migrare da un m-dot (ad esempio, http://m.dominio.com) ad un design responsive mobile-friendly, allora è meglio farlo prima dell’avvio del Mobile-first Indexing. Non c’è fretta, abbiamo tempo ma giustamente ha detto che prima si effettua la migrazione e meglio è. Come sempre prevenire è meglio che curare…

Leggi l’articolo completo.

Come confrontare due testi e file HTML per trovare le differenze


Mi capita spesso di dover confrontare due testi, sia che si tratti di due pagine HTML, PHP o semplice testo scritto in file Word o PDF (ricordi quando sono uscite le nuove linee guida per i quality rater di Google?). A volte non mi ricordo cosa cambia tra una versione di uno script e la precedente e mi torna comodo un metodo per confrontare due stringhe di testo per trovare le differenze. Per questa funzione, tanto utile quanto semplice, io uso Notepad++, un semplice editor di testo gratuito che in automatico mostra le differenze tra due testi simili. Notepad++ è uno degli editor di testo più versatili ed ha il grande vantaggio di essere open source e quindi libero…

Leggi l’articolo completo.

Abilitare il Keep Alive per ridurre i tempi di download


Cos’è il Keep Alive? Keep alive è un metodo che consente una conversazione server-client HTTP sulla stessa connessione TCP, invece che aprirne una per ogni nuova richiesta. In altre parole, è una comunicazione tra il web server e il browser che dichiara “puoi scaricare più di un file alla volta”. Il Keep Alive viene anche chiamato “Connessione persistente/persistant connection” e permette di ridurre i tempi di download delle risorse necessarie a comporre una pagina web. Come abilitare il keep-alive Il messaggio Keep-alive è abilitato utilizzando l’intestazione HTTP “Connection: Keep-Alive”…

Leggi l’articolo completo.

Guida al posizionamento di Magento su Google


Dopo aver scritto la guida SEO per Prestashop e le linee guida SEO per un sito eCommerce multi lingua, non potevo ignorare Magento. Magento è considerata una delle piattaforme di eCommerce più impegnative dal punto di vista dello sviluppo e dell’ottimizzazione per i motori di ricerca. La causa di questa “cattiva” fama, tra le altre cose, è da ricercarsi nella complessità del suo motore di riscrittura, nella dipendenza dal contenuto dinamico e dal codice di base più complesso rispetto ad altre piattaforme in PHP.

Non fraintendere quanto ho detto, Magento non è un cattivo CMS anzi, è la Ferrari degli eCommerce, tuttavia per ottimizzare questa macchina complessa serve un meccanico davvero bravo e competente.

Detto questo, tutti i problemi SEO associati alla piattaforma Magento possono essere risolti, basta sapere cosa sistemare e dove mettere le mani.

Indicizzazione Google Gratis


Avere un sito web non indicizzato è come avere un telefono di cui nessuno conosce il numero.

In situazioni normali Google è in grado di individuare nuovi siti web, scansionarli ed indicizzarli in totale autonomia. In altre situazioni è utile dare uno o più aiuti a Google per fargli scoprire il tuo sito e ritrovarlo nei risultati di ricerca.

Hai un sito e nessuno lo trova? Cerchi il nome della tua azienda e Google si appella al quinto emendamento? – la facoltà di non rispondere – ndr.

Non stupirti, non sei solo. Dal 2010 ad oggi mi è capitato più volte di analizzare siti web realizzati da web agency, note e meno note, che avevano “dimenticato” la tag noindex nelle pagine del sito del cliente.

Come calcolare e valutare l’indicizzazione di un sito web


Come calcolare e valutare l’indicizzazione di un sito web su Google

Quante volte ti sei chiesto (o ti hanno chiesto) se un sito web è ben indicizzato su Google? Leggi questa guida, alla fine sarai in grado di rispondere con numeri e dati analitici.

Leggi l’articolo completo: Come calcolare e valutare l’indicizzazione di un sito web

Le condivisioni social mi fanno posizionare meglio su Google?


Tutte le condivisioni sui social network non sono altro che backlink, tuttavia sono backlink taggati nofollow oppure con catene di redirezioni nascoste (vedi Linkedin).

Un link nofollow non trasmette PageRank e un redirect nascosto (bloccato da Robots.txt) non trasmette PageRank. Possiamo poi discutere sull’utilità di un link nofollow se proprio dobbiamo: meglio un backlink nofollow che non avere un backlink, non trovi?

Inoltre alcune pagine dei social non sono aperte agli spider di Google, vedi i gruppi chiusi di Facebook oppure i profili personali con privacy ristretta (ad esempio solo Sempronio vede il mio post). Una pagina chiusa agli spider non può essere utile a finalità SEO dato che Google non può leggerla.

Serve migrare da HTTP a HTTPS?

Come migrare WordPress da HTTP a HTTPS su hosting condiviso


Questa guida spiega come migrare da HTTP ad HTTPS ed è valida per tutti i siti web in hosting condivisi, come ad esempio Register.it, Serverplan, Netsons, Godaddy, Hostgator, ecc. Il processo richiede poco tempo ma, sebbene all’apparenza possa sembrare tutto semplice, stai attento: un errore potrebbe disabilitare il sito o farlo de-indicizzare dai motori di ricerca.

Come migrare WordPress da HTTP a HTTPS su hosting condiviso

  • Prima di tutto assicurati di aver installato il certificato HTTPS oppure di averlo attivato se usi servizi come Cloudflare o simili.
  • Modifica il file wp-config.php di WordPress per forzare il login sotto SSL. Inserisci la stringa define('FORCE_SSL_ADMIN', true); salva e ricarica online il file.
  • Attiva le redirezioni da HTTP a HTTPS via file .htaccess. La stringa da inserire è la seguente (sostituisci http://www.example.com con il tuo dominio):
    RewriteEngine On
    RewriteCond %{SERVER_PORT} 80
    RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L]
  • Accedi a Impostazioni > Generali di WordPress. Modifica i campi “indirizzo sito” e “indirizzo WordPress” cambiando l’URL da HTTP in HTTPS

Finito! Il tuo sito dovrebbe essere raggiungibile solo da HTTPS e tutte le vecchie pagine saranno redirezionate alla nuova versione con URL sicuro.

Approfondimenti

Ci sono online alcune guide valide e fin troppo approfondite, se ti interessa andare più a fondo alla questione ti consiglio questi articoli:

Caricamenti veloci delle pagine web con ASYNC e DEFER


Caricamenti veloci delle pagine web senza blocchi nel rendering. Usiamo gli attributi #async e #defer per chiamate asincrone alle dipendenze #JavaScript, anche su #WordPress.

L’elemento HTML <script> consente di definire quando il browser deve iniziare ad eseguire il codice JavaScript nella tua pagina. Gli attributi async e defer sono stati aggiunti al WebKit a Settembre 2010. Gli attributi async e defer per gli elementi script sono utili per ottimizzare il caricamento della pagina evitando stop nel rendering della pagina HTML causati da elementi di blocco come dipendenze JavaScript.

Come fare SEO avanzata con AngularJS per farsi indicizzare da Google


Da un punto di vista tecnologico, strumenti per lo sviluppo di app e siti web come AngularJS, Angular 2.0 e React stanno lentamente prendendo piede: ad oggi quasi mezzo milione di siti web sviluppati in AngularJS.

Per un consulente SEO, capire come i motori di ricerca interagiscono con questi framework permette di lavorare su nuovi e stimolanti progetti. I progressi di Googlebot nell’interpretazione di JavaScript sono rapidi e migliorano giorno dopo giorno, ma non è ancora stata raggiunta la perfezione assoluta, anzi…

Gli elementi da impostare in un sistema sviluppato in AngularJS sono molti e tutti importanti.

Devi ottimizzare un sito web sviluppato in AngularJS e non sai da che parte cominciare? Non preoccuparti, ci sono diverse strade percorribili per avere un sito indicizzabile dai motori di ricerca. Con questa guida spero di aiutarti ad avere le idee un pochino più chiare.

Intento di ricerca delle parole chiave


Quando si parla di parole chiave spesso ci si concentra solo su fattori come i volumi di traffico, la competizione #PPC e la competizione #SEO. Un aspetto che non sarebbe mai da dimenticare è l’intento della ricerca rappresentato dalla parola chiave. La parola che tanto ci piace è un termine che lancia una ricerca informativa o commerciale? Cosa si aspetta l’utente che esegue questa query (ricerca)? Informazioni oppure un prodotto da acquistare rapidamente online?
Distinguere le parole chiave per intento è molto importante, vediamo perché.

https://www.evemilano.com/2016/12/intento-di-ricerca/

Alternate Hreflang per la SEO multi lingua


Esistono siti web che ricevono visitatori da tutto il mondo, con contenuti tradotti e destinati a persone di uno specifico paese o zona geografica. Google utilizza gli attributi rel=”alternate” hreflang=”x” per visualizzare, nei risultati di ricerca, la pagina del sito destinata alla località e alla lingua dell’utente. Non importa che il sito sia sviluppato in WordPress, Joomla, Drupal, oppure fatto totalmente a mano, gli attributi alternate hreflang aiutano ad migliorare la visibilità delle pagine in lingue differenti e dovrebbero sempre venire implementati in siti multi lingua.

Introdotto da Google a Dicembre 2011, l’attributo hreflang permette di dichiarare ai motori di ricerca la relazione esistente tra pagine in lingue differenti. L’hreflang è utile quando si creano contenuti specifici destinati ad un target localizzato in nazioni con lingue differenti.

L’attributo hreflang indica ai motori di ricerca quale pagina mostrare ad un utente di una specifica nazione e linguaggio.

Perché usare l’attributo hreflang

In passato, prima dell’esistenza dell’attributo hreflang, cercando un brand famoso poteva accadere che Google mostrasse nei risultati di ricerca la homepage in lingua inglese. Questo capitava perché, in genere, la homepage più autorevole, con PageRank più alto è quella in inglese, ed in SERP vinceva la pagina più forte.

Con l’attributo hreflang invece, l’utente di lingua spagnola visualizzerà nei risultati la homepage in spagnolo, con hreflang=”es”, a prescindere dall’autorevolezza. Offrendo risultati localizzati è possibile ridurre il bounce rate, migliorare il conversion rate ed offrire un’esperienza utente migliore.

Con l’attributo hreflang è possibile localizzare il contenuto anche per varianti della stessa lingua. La homepage in spagnolo per la Spagna userà l’attributo hreflang=”es-es”, mentre la homepage in spagnolo per il Messico userà l’attributo hreflang=”es-mx”. Se hai un ecommerce multi lingua saprai già quanto sia importante avere offerte nella valuta locale, informazioni sulla spedizione specifici per il paese del cliente, differenziare offerte per festività ed eventi locali, sono tutte strategie che migliorano l’utilizzo del sito web da un pubblico internazionale.

Un altro problema dei siti multi lingua è che si possono generare contenuti duplicati. Ad esempio la pagina “chi siamo” per UK avrà probabilmente lo stesso contenuto della pagina “chi siamo” per USA. Per evitare di trasmettere a Google contenuti considerati duplicati è necessario implementare l’attributo hreflang.

L’attributo hreflang serve essenzialmente ad ovviare a questi due problemi: mostrare risultati localizzati in SERP e ridurre i contenuti duplicati.

L’hreflang è un segale oppure una direttiva?

Hreflang è un segnale, non una direttiva. Questo significa che i motori di ricerca non sono obbligati a rispettarla, altri fattori SEO potrebbero annullare l’effetto dell’attributo hreflang e far posizionare nei risultati di ricerca un’altra pagina al posto di quella locale. Per essere sicuro di inviare ai motori di ricerca segnali chiari sulla lingua, segui le linee guida per un sito SEO multilingua.

Quali motori di ricerca interpretano l’attributo hreflang?

Alla data in cui scrivo Google e Yandex considerano l’attributo hreflang, Bing invece usa la meta tag language.
https://gist.github.com/evemilano/3a8bf6c98a57479f77cf3fdb10d58282.js

Implementazione e linee guida

Per ottenere i massimi benefici dall’attributo hreflang dovresti seguire questi semplici consigli:

Dove inserire l’attributo hreflang

L’attributo hreflang dovrebbe essere presente in tutte le pagine che hanno copie tradotte in altre lingue. Deve essere inserito in una, e una soltanto, delle seguenti opzioni:

Come si scrive l’attributo hreflang

L’attributo hreflang deve includere una referenza alla pagina in cui è incluso e a tutte le pagine servite in lingue alternative.
https://gist.github.com/evemilano/9e12a6d0b4b2827f5934366d376300e6.js

ISO Language e Codici Regionali

Google supporta il formato ISO 639-1 per le lingue, ma è possibile usare il formato più specifico ISO 3166-1 Alpha 2 per definire le regioni geografiche in target.

Valori supportati per le lingue

Il valore dell’attributo hreflang identifica la lingua (nel formato ISO 639-1) e, facoltativamente, l’area geografica (nel formato ISO 3166-1 Alpha 2) di un URL alternativo. Ad esempio:

  • es: contenuti in spagnolo, indipendentemente dalla regione
  • es-ES: contenuti in spagnolo per utenti della Spagna
  • es-MX: contenuti in spagnolo per gli utenti del Messico

Non specificare soltanto il codice del paese. Google non ricava automaticamente la lingua dal codice del paese. Puoi specificare soltanto il codice della lingua se desideri semplificare la codifica. Aggiungi il codice del paese dopo la lingua per limitare la pagina a zona geografica specifica.

Esempio:

  • be: lingua bielorussa, indipendentemente zona geografica (non francese belga)
  • nl-be: olandese per il Belgio
  • fr-be: francese per il Belgio

Per le varianti della scrittura di una stessa lingua, la scrittura corretta viene dedotta dal paese. Ad esempio, se specifichi zh-TW per utenti zh-TW, la scrittura della lingua viene ricavata automaticamente (in questo esempio il cinese tradizionale). Puoi anche specificare esplicitamente la scrittura utilizzando ISO 15924, come segue:

  • zh-Hant: cinese (tradizionale)
  • zh-Hans: cinese (semplificato)

In alternativa, puoi anche specificare una combinazione di scrittura e regione, ad esempio utilizza zh-Hans-TW per specificare cinese (semplificato) per gli utenti taiwanesi.

Infine, il valore “x-default” viene utilizzato per indicare i selettori/reindirizzatori della lingua che non sono specifici di una lingua o di una zona geografica, ad esempio la tua homepage che mostra una mappa del mondo su cui è possibile fare clic (language gate).

Targeting generico con x-default

Come avrai visto nell’esempio postato sopra con le righe di alternate hreflang, l’ultima riga comprende l’attributo x-default. Questo attributo dice ai motori di ricerca che la pagina linkata non targettizza nessuna lingua/regione in particolare.

Hreflang ed impatti sulla SEO

Non è detto che implementando l’attributo hreflang aumenti il traffico dai motori di ricerca, l’obiettivo di questo attributo è far servire dai motori di ricerca il contenuto corretto all’utente corretto. L’hreflang è un segnale che aiuta i motori di ricerca a posizionare la versione della pagina specifica per la località e la lingua dell’utente che esegue la ricerca.

La differenza tra hreflang e canonicalizzazione delle risorse

La canonicalizzazione delle risorse è uno strumento per indicare ai motori di ricerca la versione predefinita dell’URL di una data pagina, per evitare problemi di duplicazione dei contenuti. L’attributo hreflang invece è uno strumento per indicare quale pagina è più adatta in base a località e lingua dell’utente. Le due tag hanno funzioni e finalità differenti.

Canonical e hreflang insieme?

Google consiglia di non usare la tag rel=”canonical” su pagine che targettizzano paesi o lingue differenti. La tag rel canonical invece andrebbe usata su pagine che targettizzano la stessa lingua o paese. In pratica però si vede spesso convivere canonical e hreflang insieme, vedi le pagine di booking.com:
https://gist.github.com/evemilano/e1678509e215f3744708b12a22c0227c.js
Come puoi verificare, la riga 1 (canonical tag) punta lo stesso URL della riga 11 (hreflang).

Quando è meglio usare hreflang

Di seguito sono riportati alcuni scenari in cui è consigliabile utilizzare rel=”alternate” hreflang=”x”:

  • Mantieni i contenuti principali in una sola lingua e traduci soltanto il modello, ad esempio la barra di navigazione e il piè di pagina. Si tratta di una soluzione comune per le pagine con contenuti generati dagli utenti come i forum.
  • I tuoi contenuti presentano piccole varianti locali ma le pagine hanno contenuti simili in un’unica lingua. Ad esempio, potresti avere contenuti in inglese destinati a utenti di Stati Uniti, Gran Bretagna e Irlanda.
  • I contenuti del tuo sito sono completamente tradotti. Ad esempio, per ogni pagina hai le versioni in tedesco e in inglese.
  • Utilizzo delle annotazioni per la lingua

    Immagina di avere una pagina in lingua inglese in hosting all’indirizzo http://www.esempio.com, e una versione diversa in spagnolo all’indirizzo es.esempio.com. Puoi comunicare a Google che l’URL spagnolo è l’equivalente in lingua spagnola della pagina in inglese in uno dei tre metodi spiegati di seguito:

    Elemento link HTML nell’intestazione

    Nella sezione head del codice HTML di http://www.esempio.com/, aggiungi l’elemento hreflang che rimandi alle versione spagnola della pagina web all’indirizzo http://es.esempio.com/.

    Hreflang nell’intestazione HTTP

    Se pubblichi file in formato diverso da HTML (ad esempio PDF), puoi utilizzare l’intestazione HTTP per indicare una versione o più versioni in lingua alternativa di un URL:
    https://gist.github.com/evemilano/d871ce34cd071e37f8c49a1774cd18b3.js

    Href nella Sitemap.xml

    Invece di utilizzare il markup, puoi inserire le informazioni sulla versione in lingua nella sitemap.xml. Se hai versioni di un URL in più lingue, per la pagina in ogni lingua devi identificare le versioni in tutte le lingue, inclusa quella in questione. Ad esempio, se il tuo sito ha contenuti in francese, inglese e spagnolo, la versione spagnola deve contenere un link rel=”alternate” hreflang=”x” per se stessa oltre a link che rimandino alle versioni in francese e inglese, mentre queste ultime devono includere ognuna gli stessi riferimenti alle versioni in francese, inglese e spagnolo.

    Vedi questo esempio:
    https://gist.github.com/evemilano/1659ee8178fa9178c0f9635eecc510f0.js

    Puoi specificare URL in più lingue nello stesso dominio oppure utilizzare URL di un dominio diverso. Se hai numerosi URL alternativi indirizzati a utenti con la stessa lingua ma situati in località diverse, è opportuno specificare un URL generico per gli utenti la cui area geografica non è specificata. Ad esempio, potresti avere URL specifici per utenti anglofoni in Irlanda (en-ie), Canada (en-ca) e Australia (en-au), ma potresti volere che per tutti gli altri utenti anglofoni venga visualizzata la tua pagina generica in inglese (en) e che per tutti gli altri venga visualizzata la home page. In questo caso devi specificare la pagina generica in lingua inglese (en) per gli utenti che eseguono ricerche nel Regno Unito, ad esempio. Puoi annotare questo cluster di pagine utilizzando un file Sitemap o tag link HTML, come segue:
    https://gist.github.com/evemilano/dc10b8923e8d8f2c114b3a792e9bd438.js
    Per selettori di lingua/Paese o le home page con reindirizzamento automatico, devi aggiungere un’annotazione anche per il valore “x-default” di hreflang:
    https://gist.github.com/evemilano/0496ac516a3169fbd1cc09a0704ab925.js

    Errori comuni

    Assicurati che il valore hreflang specificato sia effettivamente valido, l’URL inserito deve esistere (status code 200). Presta particolare attenzione ai due errori più frequenti:

    • Assenza di link di conferma. Se la pagina A rimanda alla pagina B, la pagina B deve rimandare alla pagina A. Se non è così per tutte le pagine che utilizzano le annotazioni hreflang, tali annotazioni potrebbero essere ignorate o interpretate scorrettamente.
    • Codici lingua sbagliati. Assicurati che in tutti i codici lingua utilizzati siano identificate la lingua (in formato ISO 639-1) e, facoltativamente, zona geografica (in formato ISO 3166-1 Alpha 2) di un URL alternativo. La specifica soltanto dell’area geografica non è valida.

    Spero che questa guida ti abbia aiutato a comprendere meglio le finalità di questa importante tag per la SEO. Se qualcosa non ti fosse ancora chiaro lascia un commento!