+ Rispondi alla Discussione
Risultati da 1 a 3 di 3

Redirect in base alla lingua del browser client

Ultimo Messaggio di Federico Sasso il:
  1. #1
    User Newbie L'avatar di GAMERAMA
    Data Registrazione
    Nov 2015
    Località
    Udine
    Messaggi
    3

    Redirect in base alla lingua del browser client

    Dunque... in realtà non so se è giusto inserire qui questo post, ma ecco spiegato il mio dubbio.
    Diciamo che la parte di pura programmazione PHP è facilmente risolvibile con uno switch() la cui condizione può essere risolta con la variabile $_SERVER['ACCEPT_LANGUAGE'] mi rimane un dubbio.
    Cioè, come si comporta Google di fronte ad un redirect sulla index page nella root del sito?

    Directory del sito:
    ROOT
    |
    + IT
    |
    + EN
    |
    -- eccetera --

  2. #2
    User
    Data Registrazione
    Jan 2018
    Località
    -
    Messaggi
    42
    Di solito Google non la prende bene.
    Tuttavia se hai messo i link (non nascosti) alle altre lingue (per esempio le bandierine) e hai configurato tutto il resto correttamente, farai contento sia il crawler di Google sia gli utenti che hanno installato il browser in un'altra lingua (che sono tanti, fidati, lo dico per esperienza) e che potranno quindi scegliere liberamente la lingua preferita.
    Ma aspettiamo cosa dice qualcuno più esperto.

  3. #3
    Moderatore L'avatar di Federico Sasso
    Data Registrazione
    Dec 2012
    Località
    Genova
    Messaggi
    1,808
    Segui Federico Sasso su Twitter Aggiungi Federico Sasso su Google+ Aggiungi Federico Sasso su Linkedin
    Ciao GAMERAMA,

    Citazione Originariamente Scritto da GAMERAMA Visualizza Messaggio
    Dunque... in realtà non so se è giusto inserire qui questo post, ma ecco spiegato il mio dubbio.
    Diciamo che la parte di pura programmazione PHP è facilmente risolvibile con uno switch() la cui condizione può essere risolta con la variabile $_SERVER['ACCEPT_LANGUAGE'] mi rimane un dubbio.
    Cioè, come si comporta Google di fronte ad un redirect sulla index page nella root del sito?

    Directory del sito:
    ROOT
    |
    + IT
    |
    + EN
    |
    -- eccetera --
    Lo scenario è abbastanza comune e Google è in grado di gestirlo, l'importante è avere alcune attenzioni:

    Prima di tutto, Google - normalmente - non decora le proprie chiamate con Accept-Language. Pertanto è importante che il codice di backend ne preveda la mancanza (sarà banale, ma ho visto più e più volte indirizzi di root non indicizzati solo perché restituivano HTTP 500 a googlebot proprio perché il programmatore non aveva pensato a questo caso.
    Simularlo è facile, in particolare da FireFox, basta togliere temporaneamente le lingue preferite nelle opzioni avanzate.

    Ti consiglio nel caso user-agent che non esibisce Accept-Language di redirezionare verso la pagina/lingua che ritieni "primaria"; per esempio se il 90% dei tuoi utenti sono italiani, di fare il redirect verso la versione italiana; in tale modo Google mostrerà tale pagina nell'indirizzo di root / indicizzato.

    È poi importante che il redirect - anche qui, sarà banale, ma meglio sempre precisarlo - sia un redirect temporaneo. Quindi HTTP 302, 303, o 307.

    Personalmente non amo molto i redirect basati su Accept-Language. Come giustamente ha fatto notare 2018, sono tanti gli utenti il cui browser dichiara in Accept-Language una lingua che non corrisponde in effetti alla lingua dell'utente.
    Per alcune nazioni il fenomeno è particolarmente marcato - per esempio in Cina ci sono un sacco di installazioni Windows di licenza dubbia installate con default americani; in India molti dichiarano "en", e in percentuale ben pochi lo parlano, etc...
    Anche in Italia sono una buona percentuale, specie in reti aziendali.

    Altre accortezze ti consiglio:

    Permettere sia all'utente di cambiare la lingua dopo il primo redirect (se proprio lo vuoi fare), sia di ricordare la preferenza linguistica dell'utente, così che non subisca nuovamente il redirect ogni volta visita il tuo sito.

    Nel caso particolare in cui lasciassi la lingua "principale" nell'indirizzo di root, e le altre in sottocartelle (o sottodomini), abbi l'accortezza di non ripetere il redirect se la navigazione alla Home Page di root avviene tramite un link di navigazione interno (puoi facilmente capirlo paragonando l'attributo HTTP "Referer" (sic).

    Spero di esserti stato utile.
    MODPosizionamento nei motori di ricercaFederico Sasso, autore di Visual SEO Studio - Il tool SEO Italiano, disponibile anche in Inglese, Francese, Polacco, Russo, Spagnolo e Tedesco.

+ Rispondi alla Discussione

^ Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •  
  • Il codice BB è Attivato
  • Le faccine sono Attivato
  • Il codice [IMG] è Attivato
  • Il codice [VIDEO] è Attivato
  • Il codice HTML è Disattivato
  • Trackbacks Attivato
  • Pingback Attivato
  • Refback Attivato

SEO by vBSEO 3.6.0 PL2 ©2011, Crawlability, Inc.