Receita de mapa de redirecionamento: classifique URLs antigas pelos links que elas possuem
Um mapa de redirecionamento é uma lista de prioridades, não uma planilha com todas as URLs. Comece pelas páginas para as quais outros sites fazem link, e o restante do mapa ficará mais fácil.
Equipe de pesquisa do ArchiLinks ·

Por que classificar por links
Equipes constroem mapas a partir do crawl. É completo. Mas também trata uma página de imprensa esquecida de 2014 como se fosse a página inicial.
Quando você verifica os backlinks para o meu site e ordena as páginas pelo número de domínios que fazem link, um padrão aparece na maioria das migrações: algumas dezenas de URLs concentram a maior parte do valor externo. Essas URLs recebem mapeamento manual, são revisadas duas vezes e testadas primeiro.
O restante segue regras. Pastas são mapeadas por padrão, parâmetros são removidos e URLs órfãs sem links nem tráfego podem retornar 410 se você decidir assim. Combine a saída com a lista de verificação de migração para que o mapa passe por um teste antes do lançamento e por uma nova verificação no dia 45, e com os scripts de API para agendar a extração mensal.
Passo 1: extraia as páginas linkadas
Uma única chamada retorna até 1.000 linhas e custa 2 créditos, independentemente do número de linhas. Os nomes dos campos abaixo são um exemplo; analise uma resposta real e ajuste as chaves.
import csv, requests
BASE = "https://archilinks.com/api.php"
KEY = "sk_live_..."
def call(action, **params):
r = requests.get(BASE, params={"action": action, "key": KEY, **params}, timeout=30)
r.raise_for_status()
return r.json()
data = call("toppages", q="old-shop.com", per=1000)
rows = next(v for v in data.values() if isinstance(v, list))
with open("linked-pages.csv", "w", newline="") as f:
w = csv.writer(f)
w.writerow(["old_url", "links", "new_url"])
for row in rows:
w.writerow([row.get("url"), row.get("backlinks"), ""])Passo 2: preencha a terceira coluna
Mapeie por significado
Uma página de produto vai para o mesmo produto, ou para sua categoria se o produto não existir mais. Nunca para a página inicial, a menos que a página em questão fosse a página inicial.
Deixe uma segunda pessoa verificar as 50 primeiras
Uma pessoa cansada às 18h pode mapear um guia sobre canonical para o índice do blog. Um revisor captura esse erro.
Regras para a cauda longa
Escreva padrões para pastas e remova parâmetros de rastreamento. Mantenha cada regra no controle de versão com um comentário explicando o motivo.
Passo 3: emita as regras do servidor
O nginx lê bem um arquivo de mapa e escala para dezenas de milhares de linhas.
# /etc/nginx/redirects.map (generated from the csv)
/old/guide-canonicals /guides/canonical-tags;
/products/blue-widget /shop/widgets/blue;
# in nginx.conf, http context
map $request_uri $new_uri {
default "";
include /etc/nginx/redirects.map;
}
# in the server block of the old host
if ($new_uri) {
return 301 https://new-shop.com$new_uri;
}
Passo 4: teste cada salto
Falhe o pipeline se houver qualquer coisa que não seja um único 301 apontando para um 200.
while IFS=, read -r old new; do
out=$(curl -s -o /dev/null -w "%{http_code} %{num_redirects} %{url_effective}" -L "https://old-shop.com$old")
echo "$old -> $out"
done < redirect-pairs.csv | grep -v "^.* -> 200 1 " && echo "FIX ABOVE"Erros que verificaríamos primeiro
| Sintoma | Causa provável | Correção |
|---|---|---|
| Cadeias de dois ou três saltos | Regras antigas empilhadas sobre novas | Aponte a regra antiga diretamente para a URL final |
| Tudo vai parar na página inicial | Regra catch-all preguiçosa | Mapeie por tópico; o Google pode tratar redirecionamentos em massa para a página inicial como soft 404s |
| Strings de consulta perdidas | A regra remove os argumentos | Preserve os parâmetros que alteram o conteúdo; remova o restante |
| A URL principal retorna 404 após o lançamento | Ficou de fora do CSV | Reexecute a extração e faça o diff contra o mapa em produção |

Quais URLs merecem uma linha mapeada manualmente
Nem toda URL merece uma pessoa. Uma divisão útil é por domínios que fazem link: qualquer URL com vários sites externos apontando para ela recebe mapeamento manual, e o restante segue um conjunto de regras. Digamos que você tenha 4.000 URLs antigas e 60 delas concentrem a maioria dos links externos. Essas sessenta levam uma tarde de revisão, enquanto as outras 3.940 seguem um padrão e um teste.
Mantenha o limite no script, não na cabeça de alguém. Cinco domínios que fazem link é um bom ponto de partida para um site médio. Comece por aí. Reduza o número quando o site inteiro tiver poucos links e aumente-o quando a lista manual ficar longa demais para um único revisor.
Mantendo as linhas mapeadas manualmente separadas das mapeadas por regra
As linhas mapeadas manualmente recebem um revisor nomeado e uma nota sobre por que o destino foi escolhido. As linhas mapeadas por regra recebem um padrão testado contra toda a pasta, para que uma exceção apareça no relatório de teste antes do lançamento, e não em um gráfico de tráfego depois.
Casos mistos causam a maior confusão. Um produto que foi descontinuado e substituído por um sucessor mapeia para o sucessor. Um descontinuado sem sucessor pertence à sua categoria, nunca à página inicial.
Usando uma segunda extração para ver o que mudou
Execute refdomains para o host antigo antes que o mapa esteja finalizado, e depois novamente após o lançamento, e faça a correspondência das duas listas por domínio. Um domínio que faz link que falta na segunda extração é uma pergunta para o dono do link, não um motivo para alarme, já que um link removido pode demorar para aparecer no índice.
Mantenha ambos os arquivos lado a lado na pasta de migração, com a data em cada nome. O diff mostra onde procurar, e o mapa mostra o que você fez a respeito.
Decidindo o que fazer com URLs que não têm links
URLs órfãs sem links nem tráfego são a parte fácil. Retorne um 404 claro ou um 410 quando o conteúdo foi removido permanentemente, e redirecione apenas quando existir uma substituição próxima, para que visitantes e crawlers cheguem a algum lugar útil.
Quando estiver em dúvida, deixe uma nota curta no mapa e volte após a primeira semana de logs. O log do seu servidor mostra quais endereços antigos ainda recebem solicitações, que é a melhor evidência que você terá.
Como o mapa se encaixa em uma liberação
Um mapa de redirecionamento muda com o site. Tenha isso em mente. Novas páginas aparecem, antigas são renomeadas e uma mudança de template pode quebrar uma regra que parecia segura no mês passado. Trate o mapa como código, com um arquivo no controle de versão, uma revisão antes de cada deploy e uma execução de teste em toda mudança.
Mantenha o mapa em uma única camada sempre que possível. Redirecionamentos espalhados pela aplicação, CDN e CMS é como as cadeias aparecem, e cadeias são difíceis de detectar sem um crawl completo.
Onde as regras devem viver
Um mapa de servidor é rápido e fácil de testar. Um plugin de CMS é útil para algumas páginas, mas é difícil auditar em escala. Qualquer que seja sua escolha, o teste de um salto deve ler a partir desse mesmo local.
Se duas camadas redirecionarem a mesma URL, o relatório indicará uma cadeia. Remova a duplicata da camada que você planeja descontinuar.
Testando no host real após cada mudança
Execute o teste de salto no staging e depois na produção, após cada alteração no arquivo de regras. Uma regra que passa no staging ainda pode falhar quando um cache mantém uma resposta antiga, então a segunda execução é importante.
Salve a saída com a data. Quando uma URL principal quebrar meses depois, o resultado antigo mostrará se a regra mudou ou se o site mudou. A lista de verificação de migração lista quando esse teste deve ser feito, e executá-lo primeiro mantém a próxima verificação comparável com esta.
Revisando uma alteração no arquivo de regras
Nomeie um revisor para alterações no mapa e peça que essa pessoa verifique três coisas: se cada destino ainda corresponde ao assunto, quantos saltos a regra cria e se o padrão é suficientemente restrito para afetar apenas as URLs para as quais foi escrito. Uma mudança não revisada é a mais propensa a iniciar uma cadeia.
Peça a mesma revisão quando o próprio site mudar. Uma nova categoria que absorve uma pasta antiga pode fazer uma regra correta apontar para o lugar errado sem que ninguém edite o mapa.
Armazene a nota do revisor ao lado da mudança. Seis meses depois, a nota explica uma regra que, de outra forma, pareceria arbitrária, e economiza uma segunda investigação da mesma questão.
Testando uma amostra antes da execução completa
Antes de executar a lista inteira, escolha uma amostra de cinquenta linhas que misture as páginas mais linkadas com algumas comuns. Execute o teste de salto nessa amostra primeiro. A amostra é rápida de ler, e um erro de regra aparece nela muito antes de aparecer em todo o arquivo.
Inclua pelo menos uma linha de cada padrão de regra e uma de cada grupo mapeado manualmente. Um padrão que cobre uma pasta de duzentas URLs só é testado pelas linhas que acidentalmente estão na amostra, então escolha-as de propósito.
Mantendo arquivos de regras pequenos
Um arquivo de regras que cresce além de algumas centenas de padrões torna-se difícil de revisar. Divida-o por seção do site e mantenha cada arquivo curto o suficiente para que um revisor possa lê-lo de uma vez só.
Remova uma regra no dia em que sua pasta for removida. Regras antigas deixadas para trás são as que depois enviam tráfego para uma cadeia.
Antes do mapa ir para produção
- Cada linha tem uma nova URL, ou um 404 ou 410 deliberado.
- Nenhum destino é, por si só, um redirecionamento.
- As 50 URLs com mais domínios que fazem link foram revisadas por uma segunda pessoa.
- Parâmetros de consulta que alteram o conteúdo são preservados.
- O arquivo de regras está no controle de versão, com um comentário em cada padrão.
- Uma linha de base de domínios de referência é salva para o diff pós-lançamento.
Perguntas frequentes sobre redirecionamento
- Devo remover os redirecionamentos antigos após um ano?
- Muitas equipes de migração os mantêm por pelo menos um ano. Além disso, mantenha-os enquanto as URLs antigas ainda receberem links externos ou tráfego. Redirecionamentos custam quase nada para servir, então raramente há um bom motivo para excluí-los cedo.
- É aceitável redirecionar apenas as páginas indexadas?
- Não se as não indexadas tiverem links. O status de indexação diz pouco sobre o valor externo. Redirecione toda URL que tenha um domínio que faça link, e decida sobre o restante com base no tráfego.
- E quanto a 302 ou 307 para uma mudança permanente?
- Use 301 ou 308 para mudanças permanentes. Um 302 deixado no lugar por anos pode ser tratado como permanente, mas esse resultado fica a critério do acaso, e outros clientes do redirecionamento podem não interpretar da mesma forma.
- Posso redirecionar 404s do site antigo para o novo?
- Apenas quando existir uma correspondência próxima. Um redirecionamento para uma página não relacionada é um soft 404 aos olhos do Google. Retorne um 404 ou 410 real quando o conteúdo foi removido.