• User

    Sito multilingue: come inserire rel="alternate" hreflang="it"

    Salve,

    vorrei chiedere un piccolo aiuto:

    ho un portale, miosito.com in multilingue (italiano, inglese, tedesco). Ho usato le cartelle sulla root per ciascuna lingua, quindi miosito.com/it, miosito.com/en e miosito.com/de

    In questi giorni ho letto, attentamente tutte le indicazioni, (ahmè con molto ritardo) della necessità di usare in questi casi il rel="alternate" hreflang="x" per evitare il contenuti duplicati.

    Il mio dubbio è nell'esecuzione pratica in caso inserissi nella parte "head" la formula <link rel="alternate" hreflang="en" href=" // .miosito.com/en" />.

    Quindi la domanda è: devo inserirlo in ogni pagina di ogni lingua ? .. oppure ?

    Esempio :

    nella pagina : /it/index.php inserisco cosi :

    <link rel="alternate" hreflang="en" href=" // .miosito.com/en/index.php" />
    <link rel="alternate" hreflang="de" href=" // .miosito.com/de/index.php" />

    ( è necessario qui anche il <link rel="alternate" hreflang="it" href=" // .miosito.com/it/index.php" /> ... oppure no ? )

    e la stessa cosa nelle index delle altre lingue, per esempio in /en/index.php devo inserire:

    <link rel="alternate" hreflang="it" href=" // .miosito.com/it/index.php" />
    <link rel="alternate" hreflang="de" href=" // .miosito.com/de/index.php" />

    e cosi via in tutte le pagine di tutte le lingue ? ... oppure no ?

    Potete per favore confermarmi se è cosi, o indicarmi come fare se sbaglio ?

    Grazie mille in anticipo
    Moon


  • Admin

    Ciao Moon,

    nella lingua italiana non devi inserire l'alternate alla lingua italiana. Sarebbe un controsenso 🙂


  • Moderatore

    Ciao Moon, Juanin,

    Sì, si mette anche nella lingua Italiana (anche se dalla documentazione principale non si evince).
    Pensavo una volta fosse errato, ma Christopher Semturs di Google l'ha più volte ribadito.
    Appena trovo un riferimento con un po' di pervenza ufficiale lo posto qui.


  • Admin

    Sul fatto che si possa inserire e che non crei problemi questo è sicuro, ma non lo vedo come una cosa necessaria.

    Direi che male non fa, ma non lo ritengo necessario, indipendentemente da quello che dicono i Googler 😉

    Nel caso c'è anche questo post che riprende un hangout di Mue http://seoblog.giorgiotave.it/seo-siti-multilingua/3577


  • Moderatore

    Trovata:
    https://support.google.com/webmasters/answer/189077?hl=it
    [INDENT]"Se hai versioni di un URL in più lingue, per la pagina in ogni lingua devi utilizzare rel="alternate" hreflang="x" per identificare le versioni in tutte le lingue, inclusa quella in questione."[/INDENT]

    La frase successiva fornisce un esempio, ma è un po' ambigua; la versione Inglese della pagina è un po' più chiara.

    Spero d'essere stato utile


  • Admin

    Ok grazie della segnalazione Federico...forse è un aggiornamento recente perché come viene anche detto nell'hangout linkato sopra l'alternate autoreferenziale è un "CAN BE" e non un "MUST BE" 🙂

    Con Google bisognerebbe usare un monitor delle pagine linee guida con alert ad ogni modifica 😄


  • Moderatore

    @Juanin said:

    Sul fatto che si possa inserire e che non crei problemi questo è sicuro, ma non lo vedo come una cosa necessaria.

    Direi che male non fa, ma non lo ritengo necessario, indipendentemente da quello che dicono i Googler 😉

    Nel caso c'è anche questo post che riprende un hangout di Mue http://seoblog.giorgiotave.it/seo-siti-multilingua/3577

    Juanin, quanto dici ha senso.
    La versione iniziale della documentazione era molto diversa, non lo prevedeva; è cambiata almeno un paio di volte.

    La motivazione per cui ora è richiesta mi è completamente oscura.
    Tutto sommato non mi dispiace, semplifica (un pochino) la costruzione di template multilingua.

    Ciao
    P.S.: Ricordo il video, adesso lo sto tenendo in cuffia per rinfrescarlo anche se dura un'ora. Grazie!


  • Moderatore

    @Juanin said:

    Con Google bisognerebbe usare un monitor delle pagine linee guida con alert ad ogni modifica 😄
    Non sarebbe male! (hint, hint) 😄

    In caso di cambiamenti le versioni localizzate delle pagine di help a volte impiegano mesi prima di essere aggiornate, nel dubbio meglio sempre guardare la versione in Inglese.


  • Admin

    Facciamo una raccolta completa di tutte le URL delle linee guida?


  • Moderatore

    @Juanin said:

    Facciamo una raccolta completa di tutte le URL delle linee guida?
    Intendi per fare un tool di monitoring?
    Oppure ti riferisci alle linee guida per hreflang?


  • User

    Vi ringrazio per le risposte !

    Allora inserirò i 3 "<link ..>" in tutte le pagine di tutte le lingue.

    Questo sembra un buon lavoro, quindi esiste un sistema + semplice ? Ho letto anche che si potrebbe inserirlo anche nelle stemap.
    Io ho 3 sitemap distintamente per ciascun lingua. Se usassi questa soluzione, basterebbe inserirlo all'inizio della sitemap una sola volta ? Intendo sempre 3 volte per le 3 lingue, ma col riferimento ai 3 siti, e non a ciascuna pagina ?

    Tipo cosi - esempio sitemap del sito italiano ? :

    <url>
    <loc> //.miosito.com/it/</loc>
    <xhtml:link
    rel="alternate"
    hreflang="it"
    href=" // .miosito.com/it/"
    />
    <xhtml:link
    rel="alternate"
    hreflang="en"
    href=" :// .miosito.com/en/"
    />
    <xhtml:link
    rel="alternate"
    hreflang="de"
    href=" :// .miosito.com/de/"
    />
    </url>

    ........ oppure anche qui devo fare pagina per pagina ?

    Grazie ancora per l'aiuto !


  • Moderatore

    Ciao Moon,
    @Moon said:

    ... basterebbe inserirlo all'inizio della sitemap una sola volta ? Intendo sempre 3 volte per le 3 lingue, ma col riferimento ai 3 siti, e non a ciascuna pagina ?
    ...
    ........ oppure anche qui devo fare pagina per pagina ?
    Temo di non aver capito esattamente la domanda.
    alternate/hreflang è un'indicazione a livello di singole pagine, non di sito.
    Il tuo esempio di sitemap a prima vista mi sembra corretto se hai messo solo la Home a titolo di esempio, ma la sitemap xml dovrebbe comprendere tutti gli URL, e per tutti questi tutti gli alternate associati.

    Riassumo quanto Google dice:

    • Anche nelle sitemap dovresti mettere per ogni URL tutti gli alternate (come nel tuo esempio)
    • Puoi specificare alternate/hreflang negli head di pagina, negli header http e nelle sitemap xml
    • Non è necessario metterlo ovunque. Per esempio se lo metti nelle sitemap non è necessario metterlo nelle intestazioni di pagina. Nulla ti vieta di farlo, stai solo attento a non dare segnali contrastanti.
    • alternate/hreflang è un'indicazione valida per le singole pagine.

    Spero d'esserti stato utile


  • User

    Grazie Federico ! Mi hai risposto esattamente a quello che non sapevo: ovvero " alternate/hreflang è un'indicazione a livello di singole pagine, non di sito." (io meditavo infatti se era anche al livello di sito)

    A questo punto trovo per me la soluzione migliore di aggiungere pagina per pagina l'alternate/hreflang negli head, in ogni pagina per 3 lingue come hai consigliato sopra.

    Grazie ancora !


  • User Newbie

    @Federico Sasso: quando dici che va inserito per tutte le pagine intendi che, ad esempio in un e-commerce, andrebbe inserito l'alternate per ogni singolo articolo (considerando che ogni articolo è in multilingua)? Perchè se fosse così mi verrebbe fuori una sitemap chilometrica a dir poco!


  • Admin

    Sì Antonio è esattamente così. Ogni contenuto tradotto va inserito.


  • User Newbie

    Grazie Juanin, solo una cosa, per esser sicuro di capire bene: il sito di cui mi sto occupando adesso ha un e-commerce con circa 4000 articoli (quindi circa 4000 pagine differenti) ed ognuno di questi articoli è tradotto in eng e fr. L'alternate è meglio inserirlo in sitemap (e quindi avere una sitemap con circa 4100 voci)? O è meglio metterlo nel codice pagina per pagina? Io protendo per la sitemap.


  • Admin

    È la stessa cosa.

    Come ti viene più facile.


  • User

    Per completezza di informazione, google dice di mettere anche la stessa pagina :

    Utilizza il tag <link rel="alternate" hreflang="x" href="alternateURL"> nella sezione <head> delle tue pagine per elencare le versioni in lingue alternative di ogni pagina. Per ogni pagina dovrebbe esistere un tag hreflang che rimandi alle varianti in tutte le altre lingue della pagina, nonché un tag che faccia riferimento a se stesso.

    Per lo meno oggi è cosi, domani ......chissà


  • User

    Se voglio implementare il targeting a livello di sito devo comunque utilizzare i tag hreflang=x negli URL delle versioni in lingua?

    Ho un progetto in più lingue (italiano, spagnolo, francese, inglese), seguendo le indicazioni webmasters/answer/182192, ogni versione lingua ha traduzioni specifiche senza testi affiancati, ogni versione ha un proprio URL dedicato (SPAGNOLO=es.sito.com; FRANCESE= fr.sito.com; INGLESE=en.sito.com; ITALIANO=www_sito.com). Utlizzando lo strumento di targeting geografico di Strumenti per i Webmaster, ho impostato le versioni in spagnolo per la SPAGNA, il francese per la FRANCIA e l'italiano per l'ITALIA.

    Non ho impostato alcun target geografico specifico per l'inglese perchè è rivolto al target mondiale in lingua inglese. Ho sbagliato qualcosa? C'è ancora qualche altra impostazione che dovrei fare? ho il dubbio per la versione in lingua inglese, vorrei sapere se è possibile specificare che quella è la versione per tutti gli utenti in lingua inglese (indipendentemente dal target geografico), senza dover fare una impostazione di ogni singolo URL mediate il tag hreflang


  • Moderatore

    Coa Lorenz3,

    Hreflang e targeting geografico sono indipendenti, specificare il secondo non sostituisce primo.

    Semplificando: il primo filtra/prioritizza in base all'IP, il secondo in base alla lingua specificata nell'header accept-language.

    Per l'Inglese, puoi anche aggiungere hreflang="x-default" oltre a "en" per specificare "tutte le lingue".

    Spero d'esserti stato utile.