Domanda

Ho qualche script nella mia pagina di default che reindirizza gli utenti a versioni linguistiche specifiche del mio sito a seconda della lingua del browser. Voglio aggiungere una cosa che reindirizza gli utenti che non hanno JavaScript abilitato.

Al momento ho il seguente:

<noscript>
  <META HTTP-EQUIV=REFRESH CONTENT="1; URL=en/index.htm">.
</noscript>

Ma ho letto questo non è troppo saggio come alcuni motori di ricerca cipiglio su di esso. Come faccio a fare questo e mantenere i motori di ricerca felice?

È stato utile?

Soluzione

È possibile reindirizzare al lato server con codice di stato HTTP 301 troppo. Questo è il modo migliore di farlo per una buona SEO. L'esempio è in C #, ma ogni plattform ha il suo metodo per aggiungere intestazioni alla risposta:

Response.Clear();
Response.Status = "301 Moved Permanently";
Response.AddHeader("Location", "/newfolder/newfilelocation");

Il motivo di utilizzare il codice di stato 301 è che gli indici dei motori di ricerca la nuova pagina perché è stato "spostato in modo permanente" al posto del 302 che è stato "spostato temporaneamente".

Altri suggerimenti

È necessario utilizzare un file .htaccess per rilevare la lingua del browser dalle intestazioni (utilizzando un'espressione regolare) e quindi reindirizzare in quel modo. In questo che è completamente agnostica della configurazione lato client e motori di ricerca in grado di gestire in modo corretto. C'è un sacco di informazioni là fuori su specificamente come eseguire questa.

Si potrebbe essere fatto con un linguaggio lato server con l'aggiunta del seguente intestazione http

Location: /en/index

reindirizza l'utente a http://www.example.com/en/index

Perché non reindirizzare sul lato server, rispondendo con un codice di stato HTTP 302. Non so quello che hai sul server, ma tutti i quadri sostenerlo.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top