• User Attivo

    Hreflang su pagine canonicalizzata

    Ciao a tuti,

    pagina a.html

    con canonical su

    pagina b.html

    La pagina b.html contiene i corretti hreflang (che non sono canonicalizzati o redirezionati quindi corretti e defintivi)

    Ora sulla pagina a.html evito di mettere del tutto gli hreflang oppure metto gli stessi della pagina b.html?

    Perdonatemi il gioco di parole ma spero di avervi fatto intuire la questione.


  • Moderatore

    Ciao
    ho poca esperienza in campo estero ma io lo metterei.


  • Moderatore

    Se una pagina è canonicalizzata (ossia ha un canonical che punta a un URL diverso dal proprio) non deve avere hreflang.
    Nel caso del tuo esempio, a.html non dovrebbe avere i link hreflang.

    Metterli vorrebbe dire dare due messaggi contrastanti: "Non mostrare in SERP questo URL perché il suo canonical è un altro" e "Mostra in SERP questo URL per la lingua xxx". Un risultato in SERP o lo si mostra, o non lo si mostra 😄

    Ciao


  • Moderatore

    Ciao
    grazie Federico per la correzione.


  • User

    Buongiorno,
    riporto in auge la discussione per sottoporre un quesito.

    Sito multilingua: italiano e inglese.
    Il CMS che gestisce il sito, pur tenendo in "root" la lingua principale (in questo caso l'italiano), crea comunque una cartella /it. Le pagine presenti nelle url con lo /it sono dunque copie delle pagine in root, tuttavia presentano l'istruzione canonical verso la url in root.

    Quindi ad esempio:
    "sito.com/it/pagina" ha come canonical "sito.com/pagina"

    E fin qui tutto bene, non abbiamo mai riscontrato problemi e Google indicizza normalmente le pagine in root, ignorando quelle in /it.

    Quando si va in multilingua tuttavia le cose si complicano. Il CMS mostra come hreflang sempre e comunque la pagina canonica.
    Quindi se ad esempio mi trovo su "sito.com/it/pagina" avrò le seguenti impostazioni

    <link rel="alternate" hreflang="it" href="https://www.sito.com" />
    <link rel="alternate" hreflang="en" href="https://www.sito.com/en" />
    <link rel="canonical" href="https://www.sito.com" />

    Mi hanno segnalato però un problema, ossia l'assenza di hreflang autoreferenziale. Il tag hreflang italiano, infatti, non punta sulla url in cui ci si trova, ma direttamente sulla sua canonical.

    Per motivi tecnici non mi è possibile "sopprimere" la cartella /it, abbiamo inserito i canonical appunto per
    Una soluzione al vaglio è quella di mettere dei redirect automatici dalle url /it a quelle in root, tuttavia questioni tecniche la rendono di difficile applicazione.
    Secondo voi questo inconveniente potrebbe portare ad effettivi problemi di indicizzazione (finora in realtà non ne abbiamo riscontrati) oppure il fatto che le pagine /it non sono canoniche implica che Google non tiene in considerazione comunque tali istruzioni?
    Cosa si potrebbe fare? Eliminare completamente i tag hreflang dalle pagine /it potrebbe risolvere il problema? Ci sono altre vie da percorrere?
    Grazie anticipatamente per i vostri suggerimenti.


  • Moderatore

    Ciao Allanon82,
    @Allanon82 said:

    Sito multilingua: italiano e inglese.
    Il CMS che gestisce il sito, pur tenendo in "root" la lingua principale (in questo caso l'italiano), crea comunque una cartella /it. Le pagine presenti nelle url con lo /it sono dunque copie delle pagine in root, tuttavia presentano l'istruzione canonical verso la url in root.

    Quindi ad esempio:
    "sito.com/it/pagina" ha come canonical "sito.com/pagina"

    E fin qui tutto bene, non abbiamo mai riscontrato problemi e Google indicizza normalmente le pagine in root, ignorando quelle in /it.

    Quando si va in multilingua tuttavia le cose si complicano. Il CMS mostra come hreflang sempre e comunque la pagina canonica.
    Quindi se ad esempio mi trovo su "sito.com/it/pagina" avrò le seguenti impostazioni

    <link rel="alternate" hreflang="it" href="https://www.sito.com" />
    <link rel="alternate" hreflang="en" href="https://www.sito.com/en" />
    <link rel="canonical" href="https://www.sito.com" />

    Mi hanno segnalato però un problema, ossia l'assenza di hreflang autoreferenziale. Il tag hreflang italiano, infatti, non punta sulla url in cui ci si trova, ma direttamente sulla sua canonical.

    Per motivi tecnici non mi è possibile "sopprimere" la cartella /it, abbiamo inserito i canonical appunto per
    Una soluzione al vaglio è quella di mettere dei redirect automatici dalle url /it a quelle in root, tuttavia questioni tecniche la rendono di difficile applicazione.
    Secondo voi questo inconveniente potrebbe portare ad effettivi problemi di indicizzazione (finora in realtà non ne abbiamo riscontrati) oppure il fatto che le pagine /it non sono canoniche implica che Google non tiene in considerazione comunque tali istruzioni?
    Cosa si potrebbe fare? Eliminare completamente i tag hreflang dalle pagine /it potrebbe risolvere il problema? Ci sono altre vie da percorrere?
    La configurazione attuale non è ottimale, tuttavia non credo possa causare problemi di indicizzazione.

    Probabilmente nel vecchio report della Google Search Console vedrai indicate le pagine /it/ come mancanti del link alternate/hreflang autoreferenziale, ma le pagine mostrate in SERP saranno quelle di root: il canonical (per esperienza) è un'indicazione più forte di hreflang.

    Se non puoi sopprimere la cartella /it/ né farne un redirect, togliere da tali pagine i link alternate/hreflang certamente impedirebbe che essi siano indicati come errati in GSC.

    Spero d'esserti stato utile.