• User

    Alternate e canonical

    Ciao a tutti,
    sto completando un sito multilingua (tre per l'esattezza), i contenuti sono gli stessi tradotti nelle diverse lingue.

    E' corretto impostare in ogni pagina delle 3 versioni i relativi tag link con attributo hreflang come di seguito?

    Esempio della index
    <link rel="alternate" href="http//miosito.com/" hreflang="it" />
    <link rel="alternate" href="http//miosito.com/en/" hreflang="en" />
    <link rel="alternate" href="http//miosito.com/fr" hreflang="fr" />

    Esempio di una pagina interna
    <link rel="alternate" href="http//miosito.com/uno" hreflang="it" />
    <link rel="alternate" href="http//miosito.com/en/one" hreflang="en" />
    <link rel="alternate" href="http//miosito.com/fr/un" hreflang="fr" />

    Se dovessi utilizzare lo stesso nome per le pagine interne sarebbe corretto il seguente modo:
    <link rel="alternate" href="http//miosito.com/uno" hreflang="it" />
    <link rel="alternate" href="http//miosito.com/en/uno" hreflang="en" />
    <link rel="alternate" href="http//miosito.com/fr/uno" hreflang="fr" />

    Devo mettere anche un tag link con attributo canonical come quelli che seguono declinati per ogni lingua o non è necessario?

    Nella index italiana
    <link rel="canonical" href="http//miosito.com/uno">

    In quella inglese
    <link rel="canonical" href="http//miosito.com/en/one">

    In quella francese
    <link rel="canonical" href="http//miosito.com/fr/un">

    Grazie!

    P.s.: so che non ho messo i due punti tra http e // ma non ho ancora pubblicato 50 post quindi non posso :bho:


  • Admin

  • User

    Ciao,
    grazie mille per la tua risposta e per i link!

    Considerando che la versione di default per chi non parla italiano o francese sia quella inglese ho aggiunto:
    <link rel="alternate" hreflang="x-default" href="href="http//miosito.com/en/" />

    Ho messo in tutte le pagine indipendentemente dalla lingua un link rel per lingua (quindi 3 in totale):
    <link rel="alternate" href="indirizzoAssolutoPagina" hreflang="codiceLingua" />

    Ho aggiunto in ogni pagina un unico canonical avente come href l'indirizzo assoluto della sola pagina in cui è presente:
    <link rel="canonical" href="indirizzoAssolutoPagina" />

    Quindi sarebbe corretto il seguente modo per la homepage italiana?
    <link rel="canonical" href="href="http//miosito.com/" />
    <link rel="alternate" href="http//miosito.com/" hreflang="it" />
    <link rel="alternate" href="http//miosito.com/en/" hreflang="en" />
    <link rel="alternate" href="http//miosito.com/fr/" hreflang="fr" />
    <link rel="alternate" hreflang="x-default" href="href="http//miosito.com/en/" />

    E il seguente per la versione francese?
    <link rel="canonical" href="href="http//miosito.com/fr/" />
    <link rel="alternate" href="http//miosito.com/" hreflang="it" />
    <link rel="alternate" href="http//miosito.com/en/" hreflang="en" />
    <link rel="alternate" href="http//miosito.com/fr/" hreflang="fr" />
    <link rel="alternate" hreflang="x-default" href="href="http//miosito.com/en/" />

    Questo per una pagina nella versione italiana:
    <link rel="canonical" href="href="http//miosito.com/uno" />
    <link rel="alternate" href="http//miosito.com/uno" hreflang="it" />
    <link rel="alternate" href="http//miosito.com/en/one" hreflang="en" />
    <link rel="alternate" href="http//miosito.com/fr/un" hreflang="fr" />
    <link rel="alternate" hreflang="x-default" href="href="http//miosito.com/en/one" />

    Questo per una pagina nella versione francese (cambia solo il link con rel="canonical")
    <link rel="canonical" href="href="http//miosito.com/fr/un" />
    <link rel="alternate" href="http//miosito.com/uno" hreflang="it" />
    <link rel="alternate" href="http//miosito.com/en/one" hreflang="en" />
    <link rel="alternate" href="http//miosito.com/fr/un" hreflang="fr" />
    <link rel="alternate" hreflang="x-default" href="href="http//miosito.com/en/one" />

    Il mio dubbia era ed è soprattutto legato al canonical, è utile metterlo sempre o si può omettere?

    Grazie ancora per la tua disponibilità!


  • Admin

    Il canonical in linea generale si può omettere, ma forzarla porta tutta una serie di vantaggi.

    Qui trovi alcuni dettagli http://seoblog.giorgiotave.it/rel-canonical/2116


  • User

    Grazie per l'informazione, ma quindi impostato così secondo te è ok?


  • Admin

    Tendenzialmente è corretto che il canonical corrisponda all'alternate in cui sei nella pagina presa in considerazione, ma ovviamente dipende dai casi.

    Comunque anche se vedo errori sintattici nel tuo codice dovrebbe essere ok il canonical. Importante è capire la logica. L'implementazione è una conseguenza di aver capito la logica sia dell'uno che dell'altro.


  • User

    Gentilissimo,
    potresti chiarirmi quali sono gli errori di sintassi così da correggerli?
    Grazie.


  • User

    Mi sovviene un'ulteriore domanda: se io volessi evitare di utilizzare il .com per l'italiano e volessi fare in modo che l'utente venisse indirizzato verso la versione corrispondente alla sua lingua (ad esempio miosito.com/it/ per un italiano e miosito.com/fr/ per un francese) che soluzioni potrei adottare? Potrei mettere miosito.com in 301 e fare redirect verso miosito.com/linguaCorrispondente?


  • Admin

    href="href="

    Puoi utilizzare x-default come splash con i link verso tutte le lingue e gestire tutto con hreflang. In più se vuoi puoi usare qualche sistema di language e location detection, ma occhio a non rendere impossibile la navigazione nelle altre lingue.

    Se vuoi uno strumento utile per controllare il tuo markup hreflang ti consiglio Visual SEO Studio che ha una funzione apposita da poco rilasciata.


  • User

    Ciao,
    innanzitutto grazie per la risposta, la cosa comica è che qui ho scritto sbagliato, sul sito no (meglio così che il contrario).

    Sei stato molto gentile e volevo chiederti: siccome ho un sito in lavorazione che ha la pagina di attesa all'indirizzo miosito.com indicizzata da Google e poichè il sito avrà le lingue in .com/it/ e .com/en/ come posso comportarmi con la index attuale che è sul .com quando il sito sarà online?

    Nota: il cms che utilizzo ti indirizza indipendentemente dalla lingua sul .com ma ti setta l'attributo lang del tag html correttamente, però fino a quando non cambi pagina non vedi nell'url la cartella della lingua.


  • Admin

    Può essere accettabile.

    Ma facendo così la default sarà sempre inglese per il motore di ricerca.

    Dipende molto da cosa vuoi fare.


  • User

    In realtà il CMS ti fa scegliere la lingua di default (in questo caso si è optato per l'italiano), per le lingue ho impostato gli hreflang e il canonical come segue:

    <link rel="canonical" href="http//miosito.com/it/" />
    <link rel="alternate" href="http//miosito.com/it/" hreflang="it" />
    <link rel="alternate" href="http//miosito.com/en/" hreflang="en" />
    <link rel="alternate" href="http//miosito.com/fr/" hreflang="fr" />
    <link rel="alternate" hreflang="x-default" href="http//miosito.com/it/" />

    Siccome voglio che ogni lingua abbia la sua indicizzazione per il mercato corretto può andar bene o è meglio che tolgo l'x-default?

    Ovviamente le 5 righe qui sopra sarebbero declinate per ogni lingua tranne appunto l'ultima (quella con x-default).


  • User

    Ciao a tutti,
    riesumo la salma di questa discussione per chiedervi un aggiornamento.
    Un Cms che sto utilizzando, in certi casi, genera automaticamente un rel canonical e un rel alternate anche se la lingua disponibile è una sola, esempio: abbiamo una scheda che è solo in inglese e questa è dotata di un singolo rel canonical e di un singolo alternate aventi come valore l'url della scheda in questione (le altre schede che hanno anche la traduzione in italiano hanno due rel alternate, uno per lingua, oltre al singolo canonical).

    Va bene avere una scheda con un singolo rel alternate ed un singolo rel canonical o dovrei eliminare l'alternate data la non presenza di altre traduzioni?
    Grazie a tutti.


  • Admin

    Non ho capito.

    Prima scrivi che non hai traduzioni e poi scrivi che hai sia inglese che italiano.

    Mi chiarisci?


  • User

    Ma certamente: intendevo dire che ho un sito multilingua, in una sezione ho un elenco di schede, alcune sono multilingua, quindi hanno la traduzione sia in inglese che in italiano, altre sono solo in una lingua. Quelle multilingua hanno entrambi gli alternate, quelle mono solo uno.


  • Admin

    Allora è corretto. Immagino quelle con 1 siano autoreferenziali.


  • User

    Grazie mille per la risposta.