301 ou 302: o redirecionamento que congela o seu link
Um link curto com redirecionamento 301 pode ficar guardado no navegador: o destino novo não aparece, o split para de funcionar e o clique nem é contado. Quando usar cada um e como testar.
Você muda o destino de um link curto, testa no celular e continua caindo na página antiga. Pede para um amigo testar e para ele funciona. Você limpa o histórico e, de repente, funciona para você também. Na maioria das vezes, a culpa é de um número de três dígitos: o redirecionamento 301, que o navegador guarda e reaproveita sem consultar o servidor de novo.
Escolher entre 301 e 302 parece detalhe técnico, mas define se o seu link pode mudar, ser medido e dividir tráfego. Foi uma das primeiras decisões que tomei ao escrever o redirecionamento do Curtly.
Os dois tipos de redirecionamento
| Código | Significa | Exemplo de uso |
|---|---|---|
| 301 | Mudou para sempre | Troca de domínio, página antiga que virou outra |
| 302 | Mudou por enquanto | Link curto, campanha, teste, página temporária |
A documentação da MDN, referência do mundo web, resume bem: os redirecionamentos permanentes "foram feitos para durar para sempre" e indicam que a URL original "não deve mais ser usada". Já nos temporários, "robôs de busca e outros rastreadores não memorizam a nova URL temporária".
O problema do 301 em link curto
A especificação do HTTP (RFC 9110) diz que uma resposta 301 pode ser guardada em cache por padrão, mesmo sem instrução explícita. Na prática, o navegador entende "isso mudou para sempre, não preciso perguntar de novo". Para um link curto, isso causa três problemas.
1. O destino novo não aparece
Você troca o destino, mas quem já clicou antes continua indo para o antigo, porque o navegador nem pergunta mais ao servidor. É o caso clássico do "para mim não funciona, para os outros sim".
2. O clique não é contado
Se o navegador resolve o redirecionamento sozinho, a requisição nunca chega ao servidor do encurtador. A ferramenta não vê o clique. Quem clica muitas vezes no mesmo link some do relatório depois da primeira.
3. O split morre
Num link com split de URL, cada clique precisa passar pelo servidor para ele decidir o destino da vez. Com o 301 guardado, a pessoa vai sempre para o destino da primeira visita, e a divisão que você configurou deixa de existir para ela.
O que o Curtly faz
O redirecionamento do Curtly é sempre temporário (302, ou o 307, seu primo que preserva o tipo de requisição) e vai com o cabeçalho:
Cache-Control: no-store, no-cache, must-revalidate, private
Em português: "não guarde isto em lugar nenhum, pergunte de novo sempre". Assim, toda vez que alguém clica, a requisição passa pelo servidor: o clique é contado, o destino atual é usado e o split funciona. O custo é uma requisição a mais por clique, que é exatamente o trabalho de um encurtador.
E a CDN?
Se o seu site fica atrás de uma CDN, como a Cloudflare, existe uma segunda camada de cache. Num projeto de rotação de links que montei, além do no-store, criei uma regra na Cloudflare para ignorar o cache nos caminhos de redirecionamento. Um redirect guardado na CDN congela o destino para todo mundo, não só para um visitante. Detalhei isso no post sobre a Cloudflare e os cliques de anúncio.
Quando o 301 é a escolha certa
O 301 não é vilão. Ele é a ferramenta certa quando a mudança é definitiva, porque também avisa os buscadores para transferir a relevância do endereço antigo para o novo. Exemplos:
- Troca de domínio. O seu site saiu de
meusite.com.brparameusite.com. - Reorganização. Uma página antiga virou outra e o endereço velho não vai voltar.
- Endereço preferido. O próprio curtly.pro faz isso: quem acessa sem
wwwé mandado para o endereço comwwwcom um redirecionamento permanente.
Uma variação útil é o 308, primo do 301 que garante que o tipo de requisição não muda no caminho. Para links normais, o efeito é o mesmo.
Como testar o seu link
No terminal:
curl -I https://seu-link-aqui
A primeira linha mostra o código (HTTP/2 301 ou HTTP/2 302). Procure também a linha cache-control para ver se o redirecionamento pode ser guardado.
No navegador: abra as ferramentas de desenvolvedor (F12), vá na aba Rede, marque "Preservar log" e clique no link. Se, na segunda vez, aparecer "do cache de disco" ou "do cache de memória" no redirecionamento, ele está sendo guardado.
Resumo
| Situação | Use |
|---|---|
| Link curto que pode mudar de destino | 302 + no-store |
| Link com contagem de cliques ou split | 302 + no-store |
| Troca de domínio ou página que mudou de vez | 301 ou 308 |
Antes de escolher uma ferramenta de link curto, teste o redirecionamento dela com o curl. Se vier 301, desconfie: o seu link pode estar congelado no navegador de quem já clicou.
Fontes: MDN: redirecionamentos em HTTP, MDN: 301 Moved Permanently, MDN: 302 Found, RFC 9110: semântica do HTTP.
Perguntas frequentes
Qual a diferença entre 301 e 302?
O 301 diz que o endereço mudou para sempre; o 302 diz que a mudança é temporária. Navegadores e buscadores tratam os dois de forma diferente, principalmente na hora de guardar o redirecionamento.
Link curto deve usar 301 ou 302?
Para link curto de marketing, que pode mudar de destino, ser medido ou dividir tráfego, o mais seguro é 302 com uma instrução para não guardar em cache.
Quando o 301 é a escolha certa?
Quando um endereço mudou de vez: troca de domínio, reorganização do site, página antiga que virou outra. Nesses casos, você quer que buscadores e navegadores esqueçam o endereço antigo.
Como descubro qual redirecionamento um link usa?
No terminal, rode curl -I seguido do link e veja a primeira linha da resposta. Também dá para ver na aba Rede das ferramentas de desenvolvedor do navegador.

Escrito por
Fernando Novelli
Desenvolvedor full stack formado em Ciência da Computação, com experiência em cloud (GCP e AWS), IA e monetização no Google Ad Manager. Já gerenciou campanhas no Google Ads, Meta Ads e TikTok Ads e une código e visão de negócio para criar ferramentas orientadas a resultado.