Pergunta

Eu tenho algum script na minha página padrão que redireciona os usuários para versões linguísticas específicas de meu site, dependendo do idioma do navegador. Eu quero acrescentar algo que redireciona os usuários que não tem o JavaScript habilitado.

Atualmente tenho o seguinte:

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

Mas eu li isso não é muito sábio como alguns motores de busca frown em cima dele. Como posso fazer isso e manter os motores de busca feliz?

Foi útil?

Solução

Você pode redirecionar no lado do servidor com código de status 301 HTTP também. Esta é a melhor maneira de fazê-lo por um bom SEO. O exemplo está em C #, mas cada plattform tem seu próprio método para adicionar cabeçalhos para a resposta:

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

A razão para usar o código de status 301 é que os índices do Search Engine a nova página porque foi "movido permanentemente" em vez do 302 que foi "Movido temporariamente".

Outras dicas

Você deve usar um arquivo .htaccess para detectar o idioma do navegador dos cabeçalhos (usando uma expressão regular) e, em seguida, redirecioná-los dessa forma. Fazer isso é completamente agnóstico da configuração do lado do cliente e os motores de busca vai lidar com isso corretamente. Há uma tonelada de informações lá fora, especificamente como fazer isso.

Pode ser feito com uma linguagem do lado do servidor, adicionando o seguinte http cabeçalho

Location: /en/index

irá redirecionar o usuário para http://www.example.com/en/index

Por que você não redirecionar no lado do servidor, por responder com um código de status 302 HTTP. Eu não sei o que você tem no servidor, mas todas as estruturas de apoiá-lo.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top