12 min de leituraMigração

Migrar do Bitly: o guia completo sem links quebrados

Como migrar do Bitly: exporte, mapeie campos, importe, mude o DNS do domínio, mantenha os redirecionamentos, verifique com curl e reverta com segurança.

Ana Kowalska
Marketing solutions engineering

Para migrar do Bitly sem quebrar links, divida seus links em dois grupos. Os links no seu próprio domínio personalizado podem ser migrados: importe os slugs para a nova ferramenta, depois altere um registro de DNS, e as mesmas URLs continuam resolvendo. Os links no domínio compartilhado bit.ly não podem ser migrados, porque o Bitly é dono desse hostname, então você mantém uma conta do Bitly ativa pelo tempo que essas URLs estiverem em e-mails, PDFs e materiais impressos. A importação em si leva minutos. O tempo de calendário vai para o cache de DNS e para um período de observação antes de você cancelar qualquer coisa.

O restante deste guia é o detalhe que decide se a mudança fica invisível para os visitantes: exportação, mapeamento de campos, regras de conflito, status do redirecionamento, prazos de DNS, verificação pelo terminal e rollback. Os fatos sobre o Bitly vêm da central de ajuda e da referência da API do Bitly (acessadas em 2026-10-02); os fatos sobre o Elido vêm do código do importador e do redirecionamento.

Eu sou a Ana e trabalho com migrações no Elido. Minha regra é simples: decida o que pode migrar antes de decidir como. Se você ainda está escolhendo o destino, Elido vs Bitly é a comparação de recursos.

O que pode e o que não pode sair do Bitly

Uma URL curta é um hostname mais um slug. Você só controla para onde ela vai se controlar o hostname, o que dá três casos e apenas uma migração de verdade.

Tipo de linkQuem controla o hostnameNa migração
bit.ly/slugBitlyNão pode migrar; continua resolvendo enquanto o Bitly permitir
links.yourbrand.com/slugVocê, via DNSMigra: importe os slugs e depois aponte o CNAME para o novo serviço
Domínio gratuito do BitlyBitlyNão pode migrar; não é renovado após você excluir ou fazer downgrade, e os links quebram ao expirar

Para links bit.ly, o objetivo honesto não é "migrar", e sim "parar de criar novos". Configurar um domínio de marca antes de precisar sair é o seguro mais barato de todo este assunto.

A página de migração do Bitly para o Elido com um assistente de três passos, um campo de token e o endpoint de importação para executar a migração

Comece por tudo o que pode quebrar: links curtos (slug, destino, título, tags e grupo; uma conta pode ter vários grupos, e um grupo esquecido é um domínio esquecido), todo domínio personalizado que serve links do Bitly (verifique suas zonas de DNS, não só as configurações do Bitly), QR codes impressos (um QR code do Bitly continua funcionando enquanto o link dele funcionar, e os impressos são os mais difíceis de trocar) e páginas de bio (elas vivem em URLs próprias e não estão na exportação de links).

Exporte pela API do Bitly com um Generic Access Token, um grupo por vez. GET /v4/groups/{guid}/bitlinks?size=100 devolve uma página de links mais uma URL em pagination.next, e um next vazio significa que você terminou:

TOKEN="your-generic-access-token"
GROUP="your-group-guid"
curl -s -H "Authorization: Bearer $TOKEN" \
  "https://api-ssl.bitly.com/v4/groups/$GROUP/bitlinks?size=100"
# follow .pagination.next until it comes back empty

A exportação pelo painel depende do seu plano e cobre só o que está na tela, então a API é o caminho confiável. O guia da Short.io para exportar links do Bitly observa que contas gratuitas do Bitly não conseguem exportar pelo painel. Aproveite e registre o contador total de cliques de cada link: é o único histórico de cliques que o Bitly entrega, e você precisa dele antes da troca.

Passo 2: mapeie os campos do Bitly para o Elido e escolha uma regra de conflito

O importador de Bitly do Elido leva quatro coisas por link: slug, URL de destino (confira as UTMs em 20 deles), título (cortado em 200 caracteres) e tags, além de uma tag imported:bitly para filtrar e fazer edições em massa.

O que não vai junto: contadores totais de cliques (guarde-os na sua própria planilha), datas de criação, designs de QR (gere de novo com o designer de QR), páginas de bio (refaça em páginas de bio) e configurações de campanha ou deep link (recrie como campanhas).

Maiúsculas e minúsculas no slug e a armadilha da colisão

O Bitly trata bit.ly/CustomWord e bit.ly/customword como links diferentes, o que a central de ajuda dele confirma. O Elido guarda os slugs sem diferenciar maiúsculas e minúsculas por domínio, mantendo a caixa importada, então dois links do Bitly que diferem só pela caixa colidem. Se bit.ly/Promo aponta para /spring e bit.ly/promo aponta para /autumn, Promo é importado sem problemas e promo entra em conflito. A regra de conflito decide então o que acontece.

  • Suffix (o padrão) tenta promo-2, promo-3 e assim por diante, até 50 tentativas, e então informa um erro. Ele muda uma URL pública sem avisar: todo link promo impresso agora mostra a página de primavera, e o link de outono fica em promo-2, uma URL que ninguém imprimiu.
  • Skip deixa o link existente intacto e registra a linha do Bitly com o slug e o motivo.
  • Fail interrompe o job inteiro no primeiro choque.

Quando o slug impresso precisa continuar exato, escolha skip ou fail e resolva cada choque manualmente.

Três caminhos levam os links para dentro, dependendo do tamanho e da origem.

  • Importador de Bitly. Abra Integrations, depois a migração do Bitly, cole um Generic Access Token, escolha o grupo, um domínio de destino e uma regra de conflito, e inicie. A página de migração do Bitly explica o formulário.
  • Importação em massa pelo painel e CSV. A janela Novo link aceita até 100 URLs por lote, uma por linha ou em CSV (url, slug, title); a importação em massa do Google Sheets cobre o caminho pela planilha.
  • API. POST /v1/workspaces/{workspace_id}/links/bulk aceita até 100 links por chamada e informa sucesso ou falha por item.

Como o importador se comporta

Rode um job por grupo do Bitly. Um job para em 50.000 links ou 30 minutos (limites de segurança, não um limite de preço), então divida contas maiores por grupo. O token fica na memória durante a execução e depois é descartado. Cada job informa as contagens de importados, ignorados e com falha; o status partial significa que algumas linhas falharam, e a lista de erros (limitada a 1.000 entradas) diz quais e por quê. Uma varredura marca um job como falho após 30 minutos sem progresso. Rodar de novo é seguro com suffix e skip, porque os links já importados são detectados. Retomar a partir de um cursor salvo está planejado; hoje um job interrompido simplesmente é executado de novo.

O mesmo sistema de jobs roda importadores para Rebrandly, Short.io, TinyURL e Dub.

Importe primeiro um grupo pequeno e clique em 20 links entre os seus destinos mais valiosos. Um ensaio custa uma tarde e é onde você descobre os slugs que colidem.

Lista de links do Elido em um workspace de demonstração, mostrando links curtos com destinos, tags, cliques de 30 dias e status

A lista de links após uma importação, com tags para filtrar. Workspace DEMO com dados de exemplo sintéticos, não são resultados de clientes.

Passo 4: faça a troca do DNS e mantenha os redirecionamentos intactos

Só os links no seu próprio domínio precisam desta etapa. Depois da mudança de DNS, uma requisição para https://links.yourbrand.com/slug precisa chegar a um serviço que já tenha exatamente esse slug, então a importação vem primeiro e a mudança de DNS depois. Algumas ferramentas fazem o contrário: a abordagem da Short.io aponta primeiro o seu domínio para elas e só copia um Bitlink quando alguém clica nele, de modo que um link em que ninguém clica durante a transição nunca é transferido. Importar antes evita essa lacuna.

Registrar o domínio no Elido dá a você um registro TXT em _elido-verify.<hostname> e um CNAME para edge.elido.me. O domínio é verificado quando os dois resolvem, e o verificador desiste após 24 horas se algum deles estiver faltando. Como o CNAME é a troca em si, a verificação se completa na troca, não antes. O guia de configuração de domínio personalizado mostra os formulários.

A conta do TTL

Uma resposta de DNS pode ficar em cache pelo tempo que o TTL do registro indicar (RFC 1035, seção 3.2.1), então a janela de dados desatualizados no pior caso é igual ao TTL anterior à mudança. Um CNAME deixado em 86400 segundos pode continuar mandando visitantes para o Bitly por um dia inteiro. Em D-2, reduza o TTL para 300 segundos e anote o destino atual; copie-o da sua própria zona: é o seu valor de rollback. Em D0, rode a importação de produção, depois troque o CNAME e adicione o registro TXT. Cinco a dez minutos depois, confirme que o domínio aparece como verificado e peça um link por HTTPS. Mantenha o TTL em 300 durante a observação.

301 vs 302 durante a troca

O Bitly documenta seus links como redirecionamentos 301 (permanentes). O Elido permite escolher 301, 302 ou 307 por link; o importador não define nenhum, então os links importados começam como 302. Isso serve bem para a troca: a RFC 9110, seção 15.4.2 diz que um 301 pode ser guardado em cache por heurística, enquanto um 302 não é guardado em cache por padrão (seção 15.4.3). Se você passar para 301 no primeiro dia e depois fizer rollback, todo cliente que guardou a resposta em cache continua indo para o lugar antigo.

Fique no 302 durante a observação e depois mude para 301, em massa, os links cujos destinos nunca vão mudar, selecionando-os pela tag imported:bitly. 301 vs 302 redirecionamentos explica onde a diferença de SEO importa, e a documentação de redirecionamentos do Google é a fonte. Fique atento também a saltos duplos: um proxy que força HTTPS antes de a requisição chegar ao Elido pode adicionar um (cadeias de redirecionamento e SEO, guia de loop de redirecionamento).

Passo 5: verifique a troca com curl

Nunca confie em um painel verde; peça a URL real. Primeiro, confirme o DNS por um resolvedor público, em vez do resolvedor do seu escritório:

dig +short CNAME links.yourbrand.com @1.1.1.1
dig +short TXT _elido-verify.links.yourbrand.com @1.1.1.1

Segundo, olhe um redirecionamento sem segui-lo: curl -s -o /dev/null -D - --max-redirs 0 https://links.yourbrand.com/SummerSale. Você quer um 302 (ou o status que escolheu) e um cabeçalho location: igual ao da sua exportação; um 404 significa que o slug não foi importado, e um 200 significa uma página, não um redirecionamento.

Terceiro, passe todos os slugs da sua exportação por um loop, usando um CSV de duas colunas slug,destination montado a partir da sua extração do Bitly:

DOMAIN="links.yourbrand.com"
fail=0
while IFS=, read -r slug dest; do
  out=$(curl -s -o /dev/null -w '%{http_code} %{redirect_url}' --max-redirs 0 "https://${DOMAIN}/${slug}")
  code=${out%% *}; loc=${out#* }
  case "$code" in 301|302|307) ;; *) echo "BAD STATUS $code $slug"; fail=$((fail+1)); continue;; esac
  [ "$loc" = "$dest" ] || { echo "MISMATCH $slug -> $loc (want $dest)"; fail=$((fail+1)); }
done < slugs.csv
echo "failures: $fail"

Uma diferença de barra final é cosmética: corrija a comparação, não o link. Rode o loop depois da primeira hora, na manhã seguinte e uma semana depois, e teste manualmente um slug por canal ativo, com a grafia exata de maiúsculas e minúsculas daquele canal.

Aprovação final, por alguém que não seja o engenheiro: importados mais ignorados mais com falha é igual à exportação filtrada; toda linha com falha foi corrigida ou descartada conscientemente; 50 links amostrados mantêm suas UTMs; os 20 links com mais cliques totais passam por um clique manual; um QR code impresso é lido; os redirecionamentos têm um único salto em HTTPS válido; os contadores totais do Bitly estão salvos com data.

Crie um workspace e rode a importação de ensaio antes de se comprometer com uma data de troca, enquanto ainda há tempo de corrigir colisões com calma.

Passo 6: o que esperar dos analytics depois de migrar

O histórico de cliques não pode ser transferido, e nenhum importador consegue mudar isso. A API do Bitly documenta dois endpoints de cliques por bitlink, GET /v4/bitlinks/{bitlink}/clicks e GET /v4/bitlinks/{bitlink}/clicks/summary, e ambos devolvem contagens agrupadas por tempo, não eventos individuais. Sem linhas por clique, não há como reconstruir referrers, países ou dispositivos do passado. Os cliques históricos de que você precisa para relatórios pertencem ao GA4 ou ao seu próprio data warehouse.

O Elido conta cliques a partir do momento em que o DNS aponta para ele. Antes da troca, salve o contador total de cada link importante com a data e anote a troca em todos os gráficos. Depois, monitore: diariamente na semana 1, procurando 404s e uma queda de cliques em relação aos mesmos dias da semana antes da troca; semanalmente depois disso, em relação à sua linha de base mais os contadores salvos. A página de recursos de analytics lista o que o Elido informa nativamente.

Visão geral de analytics do Elido em um workspace de demonstração, com cliques por dia, principais países, principais referrers e principais hosts

A visão geral de analytics, onde você acompanha cliques por dia e por host durante os 30 dias. Workspace DEMO, dados sintéticos.

Passo 7: deixe um rollback pronto e cancele o Bitly por último

Você pode fazer rollback até cancelar o Bitly. Combine o gatilho com antecedência, por exemplo uma queda de cliques sem explicação acima de 30% por dois dias, ou qualquer link do top 20 quebrado. A ação é recolocar o destino antigo do CNAME; com um TTL de 300 segundos, a maioria dos resolvedores acompanha em cerca de cinco minutos, e, como você ficou no 302, não há 301 em cache apontando para o lado errado. Exporte antes os links criados no Elido depois da troca, pois eles não existem no Bitly.

O que quebra se você cancelar o Bitly cedo demais

A central de ajuda do Bitly é específica, e a ordem das operações importa. Os links bit.ly continuam funcionando após a exclusão da conta e os slugs não podem ser reutilizados, mas você não pode mais editá-los nem redirecioná-los, e perde as métricas deles. Os links de domínio personalizado só continuam funcionando enquanto o seu DNS ainda aponta para o Bitly; o Bitly deixa de renovar o certificado SSL, então os visitantes acabam vendo um aviso de "não seguro", e um downgrade (em vez de exclusão) apenas impede a criação de novos links naquele domínio. Os domínios gratuitos não são renovados, então os links neles quebram ao expirar, o que o Bitly fixa em um ano após a emissão ou a última renovação. Todo o resto vai embora com a conta: QR codes que você não pode mais editar, Bitly Pages e quaisquer relatórios que você não exportou.

Mude o DNS primeiro, confirme com as verificações acima e só então cancele ou faça downgrade. Mantenha a conta por pelo menos 90 dias; quanto o Bitly cobra ajuda a escolher o plano mais barato para manter como rede de segurança.

Relacionados no blog

Fontes: artigos da central de ajuda do Bitly sobre exclusão de conta, downgrade, diferenciação de maiúsculas e minúsculas em links e redirecionamentos 301, além da referência da API do Bitly, acessados em 2026-10-02; o comportamento do Elido foi lido no código do importador e do redirecionamento em 2026-10-26.

Perguntas frequentes

Quanto tempo leva uma migração do Bitly?

Planeje cerca de duas semanas de calendário, embora a importação em si rode em minutos. A maior parte da espera vem da redução do TTL do DNS (24 horas se o seu registro estava em 86400 segundos) e do período de observação antes de cancelar o Bitly. Uma conta pequena com um domínio personalizado pode fazer a troca em uma semana.

Meus links bit.ly continuam funcionando se eu migrar do Bitly?

Sim, mas só do lado do Bitly. O Bitly é dono do hostname bit.ly, então você não consegue apontar esses links para outro serviço. Segundo a central de ajuda do Bitly, eles continuam resolvendo após a exclusão da conta, mas você não pode mais editá-los nem redirecioná-los, nem ver as métricas deles.

Posso importar meu histórico de cliques do Bitly?

Não. A API do Bitly devolve contagens agregadas de cliques, não eventos por clique, então nenhum importador consegue reconstruir referrers, países ou dispositivos. Registre o contador total de cada link antes da troca e guarde-o ao lado dos cliques que o Elido conta a partir da data da troca.

Como exporto todos os meus links do Bitly?

Use a API do Bitly com um Generic Access Token e percorra cada grupo, 100 links por página. A exportação pelo painel depende do seu plano e deixa de fora links de outros grupos. O importador de Bitly do Elido faz essa paginação por você e só precisa de um token e de um grupo.

Devo usar um redirecionamento 301 ou 302 durante a troca?

Use 302 (ou 307) enquanto faz a troca e observa, e só mude para 301 nos destinos que são permanentes. Navegadores e proxies podem guardar um 301 em cache por muito tempo, o que deixa o rollback mais lento. O próprio Bitly documenta seus links como redirecionamentos 301.

O que acontece com meus links de domínio personalizado se eu cancelar o Bitly antes de mudar o DNS?

Segundo a central de ajuda do Bitly, eles só continuam funcionando enquanto o seu DNS ainda aponta para o Bitly, o certificado SSL deixa de ser renovado e, com o tempo, os visitantes veem um aviso de segurança. Você também perde a possibilidade de editá-los. Mude o DNS primeiro, verifique e cancele por último.

Experimente Elido

Cole uma URL, obtenha um link curto

Sem cadastro. O link vive 30 dias. Cadastre-se para mantê-lo para sempre.

Sem registro. Crie uma conta grátis e obtenha 50 links por mês.

Experimente o Elido

Encurtador de URL hospedado na UE: domínios personalizados, análises profundas e API aberta. Plano gratuito - sem cartão de crédito.

Tags
migrate from bitly
bitly migration
bitly export
custom domain cutover
301 vs 302 redirect
url shortener migration

Continuar lendo