• User Attivo

    Redirect 301 nella stessa pagina, dannoso?

    Ragazzi, avevo postato (sbagliando) in PHP ma la sezione giusta è questa...

    Ho un sito che è multilingua. Chi ci entra digitando www .miosito .net oppure uno spider, ovviamente non sta scegliendo ancora la lingua. Ho predisposto uno script php che fà il redirect 301 da index.php a index.php?lang=it e cioè all'italiano che è la lingua di default che voglio impostare io. Poi saranno gli utenti che clikkeranno sulle bandierine per cambiare lingua (index.php?lang=en per esempio)

    Per me l'importante è che i motori non mi penalizzino per il redirect 301 da index.php a index.php?lang=it che è la stessa pagina.

    Che ne dite? E' un sistema di selezione della lingua di default poco ortodosso?


  • Super User

    Non ho capito molto bene.
    Tento di semplificare: hai due pagine uguali, da una fai un 301 verso l'altra. Bene! Hai fatto una cosa buona, lo spider ne legge una sola e i contenuti diventano unici.


  • Super User

    @Catone said:

    hai due pagine uguali, da una fai un 301 verso l'altra. Bene! Hai fatto una cosa buona, lo spider ne legge una sola e i contenuti diventano unici.
    Quoto Catone: quello che hai fatto è la cosa giusta, se index.php e index.php?lang?=it sono identiche, e così facendo non corri alcun rischio di penalizzazione.

    Riguardo alla tua domanda:
    @SpyBoy79 said:

    Che ne dite? E' un sistema di selezione della lingua di default poco ortodosso?
    Nessun sistema di selezione della lingua è, in generale, migliore di un altro.

    Se il target e l'utenza priviliegiata del tuo sito è quella italiana, fai benissimo a fornire direttamente la home page italiana come default, senza costringere la maggior parte dei tuoi utenti a un lavoro aggiuntivo (es. selezionare la lingua italiana o cliccare su un link su una welcome page) per entrare nel sito.

    Per siti multilingue con target geolinguisticamente più distribuiti, si può invece optare per una redirezione automatica basata sulla lingua (anzi, sulle lingue) accettate dal client, specificate nell'[url=http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.4]intestazione di richiesta HTTP Accept-Language.


  • User Attivo

    Il sito è multilingua e per "motivi tecnici" la lingua è impostata dal /it/ o /en/ dopo l'url principale.

    Chiuque entra nel sito non scriverà così "www .miosito .net/it/" ma soltanto "www .miosito .net"

    la index.php non ha senso di esistere senza il parametro della lingua nell'url perchè seleziona le variabili contenenti il testo nella lingua da mostrare all'utente. Per questo motivo, se nell'url non appare la lingua, faccio il 301 alla lingua di default e cioè da index.php a index.php?lang=it (che con il rewrite diventerà www . miosito .net/it/ )

    Spero di non aver attorcigliato nuovamente il concetto.

    😄


  • Super User

    @SpyBoy79 said:

    Spero di non aver attorcigliato nuovamente il concetto. 😄
    No, al contrario: quello che fai è corretto da ogni punto di vista.

    In alternativa potresti fornire come root ("/") una welcome page con due link per la selezione della lingua (it/en), ma in questo modo costringeresti a un lavoro aggiuntivo l'utenza italiana, il che magari non è desiderabile dato il target geolinguistico del tuo sito.