Header Ads

Qual é a diferença entre os redirecionamentos 301 e 302?

duangphorn wiriya / Shutterstock

Se você mudou seu conteúdo, é melhor redirecionar links quebrados antigos para o local de trabalho. Existem dois tipos de redirecionamento — 302, usado para teste, e 301, que é permanente e melhor para SEO.

302 é temporário, 301 é permanente

Ambos os tipos de redirecionamento obtêm o mesmo efeito. Quando um usuário tenta acessar recursos redirecionados (por exemplo, a versão HTTP de um link HTTPS), o servidor da web envia um código de resposta 301 ou 302 ao navegador do usuário, junto com um link para o destino pretendido. O navegador do usuário fará, então, imediatamente outra solicitação para a página correta, redirecionando-a efetivamente.

A diferença está no que acontece na segunda vez que um usuário visita essa página. Se você estiver exibindo um redirecionamento 302, o navegador verá isso como temporário. No exemplo HTTPS, o navegador continuará a fazer solicitações para a versão HTTP insegura da página e o servidor da web continuará a enviar códigos de resposta 302 a cada vez.

Isso é ruim para o desempenho do seu site, pois o usuário terá que fazer mais viagens de ida e volta ao servidor da web para chegar ao destino pretendido. Para resolver isso, você pode usar um redirecionamento 301. Quando o navegador tenta fazer uma segunda solicitação, ele verifica seu cache e lembra que a URL deve ser redirecionada, e redireciona automaticamente sem incomodar o servidor. Um redirecionamento 301 deve ser enviado uma vez e redirecionado para sempre.

Isso significa que um redirecionamento 301 é muito permanente. O Chrome se lembrará de um até que o usuário limpe o cache, o que é uma operação manual. Se você acidentalmente fez um redirecionamento 301 incorreto, isso poderia causar problemas no futuro, então você sempre desejará testar as alterações com um redirecionamento 302 primeiro para verificar se ele funciona e, em seguida, implantar um redirecionamento 301.

Como isso afeta o SEO?

Na maioria das vezes, mecanismos de pesquisa como o Google verão um redirecionamento 301 e atualizarão suas classificações de pesquisa de acordo. Se você estiver alterando nomes de domínio, deverá redirecionar 301 os links de seu antigo domínio para as páginas do novo domínio. Isso fará com que seu novo domínio substitua o antigo nas classificações de pesquisa, que é (provavelmente) o que você deseja.

Publicidade

Em última análise, ter que redirecionar o seu site provavelmente não afetará muito o seu SEO. Entre 90-99% da classificação do seu site será transferida ao alterar todo o seu nome de domínio, portanto, redirecionar algumas páginas não fará mal nenhum. Observe que isso se aplica apenas a redirecionamentos 301 — os redirecionamentos 302 são temporários e não têm nenhum efeito imediato em suas classificações, mas podem arrastá-lo para baixo no longo prazo se você não mudar para 301.

Como configurar redirecionamentos no Nginx

No Nginx, você pode implementar redirecionamentos usando a diretiva rewrite. Isso combinará uma string com uma expressão regular e redirecionará o usuário para um URL modificado. Se você simplesmente deseja redirecionar uma página antiga para uma nova página, pode selecionar o nome da página e substituí-lo por uma reescrita:

 servidor {server_name www. example. com; reescrever ^ / old_page. html $ new_page. html redirecionar; }

Então, se quiser torná-lo um redirecionamento permanente, substitua “ redirecionar ” com “ permanente ”:

 reescrever ^ / old_page. html $ new_page. html permanente; 

Você pode usar a mesma sintaxe para fazer a correspondência de várias páginas. Por exemplo, se você quiser mapear um domínio inteiro para um novo domínio, poderá usar:

 servidor {server_name olddomain. com; reescrever ^ / (. *) $ https://newdomain. com/$1 permanent; }

Para redirecionar HTTP para HTTPS, você deve usar um bloco de escuta na porta 80 que redirecionará todo o tráfego servindo manualmente um 301:

 servidor {ouvir 80; server_name example. com; return 301 https: //example. com$request_uri; }

Como configurar redirecionamentos no Apache

Para o Apache, a configuração também é simples. Para redirecionamentos básicos, você pode usar a diretiva Redirect, que leva dois argumentos — a página antiga e a nova página.

 Redirecionar / página antiga https://www. example. com/newpage

Publicidade

O padrão é um redirecionamento 302, mas você pode torná-lo permanente usando “ Redirecionar 301 “.

A diretiva Redirect usa parâmetros manuais, mas você pode usar RedirectMatch para fazer a correspondência de URLs com expressões regulares. Por exemplo, para remapear uma pasta como / img para um subdomínio, você pode usar:

 RedirectMatch ^ / img /(.*)$ http://media. example. com/$1

Para redirecionar HTTP para HTTPS, você &’ deve usar:

 RewriteEngine On RewriteCond% 80 RewriteRule ^ (. *) $ https://www. yourdomain. com/$1 [R, L] 

O padrão é 302, mas você pode torná-lo permanente definindo o código de retorno no final:

 RewriteRule ^ (. *) $ https://www. yourdomain. com/$1 [R = 301, L] 

Nenhum comentário