301 ou 302: que redireccionamento usar, e como confirmar o que o seu realmente é

Resposta curta: um 301 diz «mudou para sempre», um 302 diz «está noutro sítio por agora». Se o endereço antigo não vai voltar, é um 301. O difícil não é escolher: é confirmar o que o servidor devolve de facto, porque há ferramentas que põem um 302 sem o avisar, e um erro destes passa meses despercebido.

O básico (quando mudou uma página ou um domínio, e as três maneiras de o fazer) está em redireccionamentos 301. Aqui fica a escolha entre os códigos e o modo de os verificar.

Os quatro códigos

Código O que diz Quando usar
301 Mudou para sempre. Uma página mudou de endereço, mudou de domínio, passou a HTTPS, escolheu com ou sem www.
302 Está noutro sítio por agora. Uma promoção que acaba, uma página de manutenção, uma página de teste.
308 Mudou para sempre, e o pedido repete-se tal como era (um envio de formulário continua a ser um envio). Endereços que recebem formulários ou chamadas de outros programas e que mudaram de vez.
307 Temporário, com o mesmo cuidado do 308. Raramente à mão. Aparece em casos em que o método do pedido tem de ser preservado.

O que isto muda para o Google

Com um 301, os motores de pesquisa passam a mostrar o endereço novo e a tratar o antigo como substituído. Com um 302 tendem a manter o antigo na pesquisa, porque lhes foi dito que a mudança é provisória. Um 302 que fica muito tempo no lugar pode acabar por ser tratado como permanente, mas não é coisa em que deva apostar.

Como verificar o que o seu redireccionamento é

1 Abra o endereço antigo numa janela privada. Tem de acabar no novo. O navegador guarda os 301 durante muito tempo, e a janela privada evita que um engano antigo o engane outra vez.
2 Peça só os cabeçalhos. Num terminal, curl -I seguido do endereço antigo mostra a primeira linha da resposta (o número, 301 ou 302) e uma linha location com o destino.
3 Siga a cadeia toda. curl -IL segue os saltos e mostra cada resposta. De antigo para novo devia ser um só. Cada salto a mais atrasa o visitante e é um sítio onde a cadeia pode partir.
4 Se preferir o navegador, abra as ferramentas de programador, o separador Rede, e deixe o registo preservado antes de recarregar a página: o 301 ou o 302 aparecem na primeira linha.
5 Corrija ao nível certo. A ferramenta Redireccionamentos do cPanel deixa escolher «permanente» (301) ou «temporário» (302). Num plugin, o tipo costuma estar nas opções de cada regra. Num ficheiro, o código vem na própria regra: .htaccess para projectos PHP.
Teste com um 302 e mude para 301 no fim. O navegador lembra-se de um 301 durante muito tempo: se o destino estiver errado, continua a ir para o sítio errado mesmo depois de corrigir. Os erros mais caros são mandar todas as páginas antigas para a página inicial, fazer cadeias (A para B, B para C) e uma regra que manda um endereço para si próprio, que dá o erro «redirecionou demasiadas vezes».
Quando mudar o endereço preferido do site (com ou sem www, ou HTTP para HTTPS), a regra é sempre um 301: veja www ou sem www e HTTP ou HTTPS.

O redireccionamento não faz o que esperava? Diga-nos o endereço antigo, o novo e o que o terminal mostra.

Abrir um pedido de suporte

VEJA TAMBÉM

Redireccionamentos 301 quando muda uma página ou um domínio

.htaccess para projectos PHP: URLs amigáveis e redireccionamentos

Redirecionar HTTP para HTTPS com .htaccess

Registo de domínios

PRODUTO RECOMENDADO

Alojamento de sites com cPanel

Domínio e SSL incluídos, cópias diárias e o painel que já conhece. desde $6.60/mês (plano de 3 anos, com cupão)

Ver planos
  • 0 Utilizadores acharam útil
Esta resposta foi útil?