• User Attivo

    Sito multilingua con contenuti generati dagli utenti in diverse lingue

    Ciao a tutti,

    sto sviluppando un sito in cui l'utente dovrà poter cambiare la lingua globale (quindi label, testi di spiegazione, titoli delle pagine, testi istituzionali). Il problema, però, è che si tratta di un sito dove gli utenti andranno ad inserire contenuti (chiamiamoli "post" per semplicità) in lingue diverse.

    Quindi un utente che visualizza il sito in italiano, potrà andarsi a leggere sia i post con contenuto italiano che quelli con contenuto inglese. Ciò vuol dire che un post potrebbe avere i testi della pagina in italiano, ma il contenuto del post in inglese.

    Se per l'utente va bene così (non abbiamo la possibilità di far inserire un doppio post in due lingue diverse), per Google credo possa dare problemi, in quanto si ritroverebbe ad avere una pagina metà in italiano e metà in inglese.

    Se avessimo:

    non ci sarebbero problemi: Google capisce che quelle sotto /it/ sono pagine tutte in italiano e quelle sotto /en/ sono pagine in inglese e quindi le tratta come tali quando qualcuno cerca contenuti.

    Se invece abbiamo che:

    • sito.com/it/ ha i testi fissi in italiano, ma poi i post sono sia in italiano che in altre lingue
    • sito.com/en/ idem come sopra: testi fissi in inglese e post in tutte le lingue

    ecco che sorgono due problemi:

    1. Google non sa più in che lingua sono le pagine: un post con testo di descrizione in inglese si troverebbe in una pagina con il resto del testo in italiano, per esempio

    2. Ci sarebbero contenuti duplicati: la pagina sito.com/it/mio-post/ avrà gli stessi contenuti di sito.com/en/mio-post/ a differenza dei testi fissi che varieranno in base alla lingua.

    Cosa consigliereste per risolvere il problema, tenendo conto che il cliente vuole che l'utente possa vedere tutti i post, indipendentemente da quale lingua abbia impostato?


  • User Attivo

    Il buon Michele Baldoni mi suggerisce di fare così:

    1. Mettere un index nofollow su tutte quelle pagine che hanno contenuto inglese + lingua /it/ e contenuto italiano + lingua /en/. In questo modo Google vedrà i post in italiano sotto /it/ con testo della pagina completamente in italiano e post in inglese sotto /en/ con testo tutto in inglese.

    2. Suggerisce poi di impostare la versione inglese sotto .com (quindi senza /en/) e l'italiano sotto /it/

    3. Via javascript si può poi intercettare la lingua dell'utente in base all'IP e, se accede alla lingua inglese, mostrargli un messaggio che lo invita ad impostare la lingua in italiano.

    Che ne pensate di questa soluzione? Si rischia di perdere pagine indicizzate o può essere la cosa migliore?


  • User Newbie

    La soluzione 2 mi pare ok e sinceramente la migliore, anche se non conosco la piattaforma con cui la stai sviluppando. Ottima poi la tecnica 3.

    @Ghido said:

    Il buon Michele Baldoni mi suggerisce di fare così:

    1. Mettere un index nofollow su tutte quelle pagine che hanno contenuto inglese + lingua /it/ e contenuto italiano + lingua /en/. In questo modo Google vedrà i post in italiano sotto /it/ con testo della pagina completamente in italiano e post in inglese sotto /en/ con testo tutto in inglese.

    2. Suggerisce poi di impostare la versione inglese sotto .com (quindi senza /en/) e l'italiano sotto /it/

    3. Via javascript si può poi intercettare la lingua dell'utente in base all'IP e, se accede alla lingua inglese, mostrargli un messaggio che lo invita ad impostare la lingua in italiano.

    Che ne pensate di questa soluzione? Si rischia di perdere pagine indicizzate o può essere la cosa migliore?


  • ModSenior

    @Ghido said:

    1. Via javascript si può poi intercettare la lingua dell'utente in base all'IP e, se accede alla lingua inglese, mostrargli un messaggio che lo invita ad impostare la lingua in italiano.

    Si ma affiancherei questa funzione ad una lato server che fa la stessa cosa ma in base all'indirizzo ip.

    1 bis) In alternativa al noindex, dopo aver geotargettizzato le cartelle o la root, potresti usare il rel="alternate" hreflang="x" per non creare confusione a Google.

    Valerio Notarfrancesco


  • User Attivo

    @KikoCorsentino said:

    La soluzione 2 mi pare ok e sinceramente la migliore, anche se non conosco la piattaforma con cui la stai sviluppando.

    Sviluppiamo da zero, quindi abbiamo ampio margine di personalizzazione.

    @vnotarfrancesco said:

    Si ma affiancherei questa funzione ad una lato server che fa la stessa cosa ma in base all'indirizzo ip.

    Un redirect alla versione in lingua in base all'IP non comporta problemi con Google?

    @vnotarfrancesco said:

    1 bis) In alternativa al noindex, dopo aver geotargettizzato le cartelle o la root, potresti usare il rel="alternate" hreflang="x" per non creare confusione a Google.

    Uhm, non lo conosco... E' tipo il canonical, però per il multilingua?

    Grazie 😉


  • User Attivo

    Some example scenarios where rel="alternate" hreflang="x" is recommended:

    You translate only the template of your page, such as the navigation and footer, and keep the main content in a single language. This is common on pages that feature user-generated content, like a forum post.
    support.google.com/webmasters/bin/answer.py?hl=en&answer=189077

    E' esattamente il mio caso! Quindi in realtà potrei lasciar perdere il noindex e mettere solo questo tag a tutte le versioni della pagina tradotte??


  • ModSenior

    @Ghido said:

    Un redirect alla versione in lingua in base all'IP non comporta problemi con Google?

    No no, è uno dei casi in cui non è considerato cloacking, è chiamato IP delivery.

    @Ghido said:

    Uhm, non lo conosco... E' tipo il canonical, però per il multilingua?

    [...]

    support.google.com/webmasters/bin/answer.py?hl=en&answer=189077

    E' esattamente il mio caso! Quindi in realtà potrei lasciar perdere il noindex e mettere solo questo tag a tutte le versioni della pagina tradotte??

    Si esatto, però sempre affiancata dalla geotargettizzazione delle cartelle perché è solo un sistema per visualizzare la giusta risorsa in base alla lingua, cioè devi comunque dire a Google che quelle pagine sono per l'Italia o per la Germania o per gli Usa impostandolo negli strumenti per webmaster di Google.

    Valerio Notarfrancesco


  • User

    @Ghido said:

    support.google.com/webmasters/bin/answer.py?hl=en&answer=189077

    E' esattamente il mio caso! Quindi in realtà potrei lasciar perdere il noindex e mettere solo questo tag a tutte le versioni della pagina tradotte??

    Non so. Io conosco il rel="alternate" come un aiuto a Google per fargli capire se un sito ad esempio .com ma con contenuti in lingua spagnola sia o meno "indicato" per la Spagna. Ma come soluzione per i contenuti duplicati non credo funzioni.
    Esempio nel tuo sito.com/es/post.php con il post in spagnolo è corretto che tu inserisca il rel="alternate" per la Spagna, ma l'indicare una nazione di riferimento, non blocca l'indicizzazione delle risorse del sito.

    Vi prego smentitemi!

    Dr.Seo


  • ModSenior

    Ciao Michele.
    no, non ti smentisco, il rel="alternate" hreflang="x" non è (non è più dallo scorso maggio) un modo per gestire i contenuti duplicati.
    Io ho interpretato la domanda di Daniele che il problema è nella confusione che potrebbe avere Google nel trovare ad esempio nella cartella sito.com/en/ destinata all'Inghilterra dei testi fissi in inglese ma post in tutte le altre lingue.

    Per me il rel="alternate" hreflang="x" è solo un sistema per dare delle indicazioni su quali risorse sono più attinenti per una certa nazione nei casi in cui Google possa essere confuso, ma va sempre affiancata da un altro sistema per gestire i contenuti duplicati qualora ce ne fossero e da un altro sistema per geotargettizare le pagine.

    Valerio Notarfrancesco


  • User Attivo

    Ok, quindi ricapitolando, utilizzando questo tag io posso avere tranquillamente

    Questo anche se nella stessa pagina ho testi fissi in una lingua e contenuti nell'altra. Quindi Google indicizzerà comunque tutto, sapendo che l'uno è la localizzazione dell'altra e non mi romperà se sono tutti contenuti duplicati.

    E' corretto?


  • ModSenior

    @Ghido said:

    Se post-in-italiano è proprio lo stesso post id allora devi gestire il problema dei contenuti duplicati in qualche modo perché il rel="alternate" non ti risolve questo problema. Questa mattina non l'avevo interpretato in questo modo ecco perché ho tirato fuori questa annotazione.
    Su internet però trovi degli articoli che dicono il contrario, cioè che funziona proprio come un canonical, ma sono obsoleti perché Google ha cambiato il funzionamento di questo elemento lo scorso maggio.

    Valerio Notarfrancesco


  • User Attivo

    @vnotarfrancesco said:

    Se post-in-italiano è proprio lo stesso post id allora devi gestire il problema dei contenuti duplicati in qualche modo perché il rel="alternate" non ti risolve questo problema. Questa mattina non l'avevo interpretato in questo modo ecco perché ho tirato fuori questa annotazione.

    Quindi che utilità ha se uso il rel="alternate" per dire: ehi, guarda che questa è la versione inglese, mentre questa è quella italiana... quando comunque le URL indicate hanno tutte un bel noindex, come suggerito da Michele?

    EDIT:

    Qui però dice:

    While we strongly recommend that you provide unique content for each different group of users, we understand that this may not always be possible. There is generally no need to "hide" the duplicates by disallowing crawling in a robots.txt file or by using a "noindex" robots meta tag. However, if you're providing the same content to the same users on different URLs (for instance, if both example.de/ and example.com/de/ show German language content for users in Germany), you should pick a preferred version and redirect (or use the rel=canonical link element) appropriately.
    support.google.com/webmasters/bin/answer.py?hl=en&answer=182192#3

    Quindi si può usare il canonical insieme all'alternate?!


  • ModSenior

    @Ghido said:

    Quindi che utilità ha se uso il rel="alternate" per dire: ehi, guarda che questa è la versione inglese, mentre questa è quella italiana... quando comunque le URL indicate hanno tutte un bel noindex, come suggerito da Michele?

    Certo se c'è il noindex non ha utilità.
    L'avevo proposto in alternativa non avendo capito il tuo problema, cioè non pensavo che avessi contenuto duplicato.

    Io il rel="alternate" l'ho usato poco tempo fa in un ecommerce dove Google continuava a mostrare nella serp di in una nazione le pagine prodotto destinate ad un'altra nazione perché su quelle si era fatta più link building essendo la nazione principale.
    Un po' come quando sulle nostre serp Google riporta la voce di Wikipedia in inglese e non quella in italiano.
    Con rel="alternate" siamo riusciti a far capire a Google le pagine giuste che doveva mostrare.

    @Ghido said:

    support.google.com/webmasters/bin/answer.py?hl=en&answer=182192#3

    Quindi si può usare il canonical insieme all'alternate?!

    Mai provato ma faccio la tua stessa deduzione, si può usare.

    Valerio Notarfrancesco


  • User Attivo

    @vnotarfrancesco said:

    Mai provato ma faccio la tua stessa deduzione, si può usare.

    Ho trovato un articolo sul blog di Google che spiega esattamente come fare nella mia situazione: googlewebmastercentral.blogspot.it/2010/09/unifying-content-under-multilingual.html

    La soluzione è appunto canonical + alternate. Però è un articolo del 2010... sarà ancora valido?


  • ModSenior

    Però c'è quest'altro articolo del 05/12/2011 http://googlewebmastercentral.blogspot.it/2011/12/new-markup-for-multilingual-content.html dove dice:

    Update: to simplify implementation, we no longer recommend using rel=canonical.
    Io andrei di noindex per essere sicuro.

    Valerio Notarfrancesco


  • User Attivo

    Anche se in realtà lì si sta parlando di siti "multi countries" con contenuti nella stessa lingua e tutto l'articolo si riferisce a quello. Quindi ci sarebbe da capire se il canonical è sconsigliato solo in questi casi, oppure in qualsiasi sito multilingua...

    Quindi a questo punto lascio perdere canonical e alternate e torno alla soluzione di Michele? Noindex e via?


  • Community Manager

    Bel caso, molto particolare :fumato:

    Le conclusioni a cui siete arrivati le condivido...a questo punto non resta che vedere come reagisce Google 😉


  • User Attivo

    @Giorgiotave said:

    Bel caso, molto particolare :fumato:

    Le conclusioni a cui siete arrivati le condivido...a questo punto non resta che vedere come reagisce Google 😉

    Ciao Giorgio, grazie per la risposta. Quindi procedo col noindex e vi terrò aggiornati non appena ci sarà qualche risultato interessante (si parla di ottobre per la messa live comunque).

    Grazie a tutti per l'aiuto!