11 min di letturaMigrazione

Migrare da Bitly: la guida completa senza link rotti

Come migrare da Bitly: export, mappatura dei campi, import, DNS del dominio personalizzato, redirect funzionanti, verifica con curl e rollback sicuro.

Ana Kowalska
Marketing solutions engineering

Per migrare da Bitly senza rompere i link, dividi i link in due gruppi. I link sul tuo dominio personalizzato possono spostarsi: importi gli slug nel nuovo strumento, cambi un record DNS e gli stessi identici URL continuano a risolversi. I link sul dominio condiviso bit.ly non possono spostarsi, perché Bitly possiede quell'hostname, quindi tieni attivo un account Bitly finché quegli URL restano in email, PDF e materiale stampato. L'import richiede pochi minuti. Il tempo di calendario se ne va nella cache del DNS e in un periodo di osservazione prima di disdire qualsiasi cosa.

Il resto della guida è il dettaglio che decide se lo spostamento sarà invisibile ai visitatori: export, mappatura dei campi, regole di conflitto, status del redirect, tempi del DNS, verifica da terminale e rollback. I fatti su Bitly vengono dal centro assistenza e dalla documentazione API di Bitly (consultati il 2026-10-02); i fatti su Elido vengono dal codice dell'importer e dei redirect.

Sono Ana e mi occupo di migrazioni in Elido. La mia regola è semplice: decidi cosa può spostarsi prima di decidere come. Se stai ancora scegliendo la destinazione, Elido vs Bitly è il confronto delle funzionalità.

Cosa può e cosa non può lasciare Bitly

Un URL breve è un hostname più uno slug. Controlli dove porta solo se controlli l'hostname, e questo dà tre casi con una sola vera migrazione.

Tipo di linkChi controlla l'hostnameQuando migri
bit.ly/slugBitlyNon può spostarsi; continua a risolversi finché Bitly lo consente
links.yourbrand.com/slugTu, tramite il DNSSi sposta: importa gli slug, poi ripunta il CNAME
Dominio gratuito di BitlyBitlyNon può spostarsi; non viene rinnovato dopo l'eliminazione o il downgrade, quindi i link si rompono alla scadenza

Per i link bit.ly l'obiettivo onesto non è "spostare" ma "smettere di crearne di nuovi". Configurare un dominio personalizzato prima di averne bisogno è l'assicurazione più economica di tutto questo argomento.

La pagina di migrazione da Bitly a Elido con una procedura guidata in tre passaggi, un campo per il token e l'endpoint di importazione per eseguire la migrazione

Parti da tutto ciò che può rompersi: i link brevi (slug, destinazione, titolo, tag e gruppo; un account può possedere più gruppi, e un gruppo dimenticato è un dominio dimenticato), ogni dominio personalizzato che serve link Bitly (controlla le zone DNS, non solo le impostazioni di Bitly), i codici QR stampati (un QR di Bitly funziona finché funziona il suo link, e quelli stampati sono i più difficili da cambiare) e le pagine bio (vivono su URL propri e non sono nell'export dei link).

Esporta con l'API di Bitly usando un Generic Access Token, un gruppo alla volta. GET /v4/groups/{guid}/bitlinks?size=100 restituisce una pagina di link più un URL pagination.next, e un next vuoto significa che hai finito:

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

L'export dalla dashboard dipende dal piano e copre solo ciò che è a schermo, quindi l'API è la via affidabile. La guida di Short.io all'export dei link Bitly osserva che gli account Bitly gratuiti non possono esportare affatto dalla dashboard. Già che ci sei, annota il contatore totale di click di ogni link: è l'unico storico dei click che Bitly ti dà, e ti serve prima del cutover.

Passo 2: mappa i campi Bitly su Elido e scegli una regola di conflitto

L'importer Bitly di Elido porta quattro cose per ogni link: slug, URL di destinazione (controlla a campione le UTM su 20 link), titolo (tagliato a 200 caratteri) e tag, più un tag imported:bitly per filtrare e modificare in blocco.

Cosa non viaggia: i contatori totali dei click (salvali in un tuo foglio), le date di creazione, i design dei QR (rigenerali con il designer QR), le pagine bio (ricostruiscile nelle pagine bio) e la configurazione di campagne e deep link (ricreala come campagne).

Maiuscole negli slug e la trappola delle collisioni

Bitly tratta bit.ly/CustomWord e bit.ly/customword come link diversi, come conferma il suo centro assistenza. Elido memorizza gli slug senza distinguere maiuscole e minuscole per dominio, conservando le maiuscole importate, quindi due link Bitly che differiscono solo per le maiuscole collidono. Se bit.ly/Promo punta a /spring e bit.ly/promo punta a /autumn, Promo si importa senza problemi e promo va in conflitto. A quel punto decide la regola di conflitto.

  • Suffix (predefinita) prova promo-2, promo-3 e così via, fino a 50 tentativi, poi segnala un errore. Cambia in silenzio un URL pubblico: ogni link promo stampato ora mostra la pagina di primavera, e il link d'autunno sta su promo-2, un URL che nessuno ha stampato.
  • Skip lascia intatto il link esistente e registra la riga Bitly con il suo slug e il motivo.
  • Fail ferma l'intero job al primo scontro.

Quando lo slug stampato deve restare esatto, scegli skip o fail e risolvi ogni scontro a mano.

Tre strade portano i link dentro, a seconda di dimensione e origine.

  • Importer Bitly. Apri Integrations, poi la migrazione Bitly, incolla un Generic Access Token, scegli il gruppo, un dominio di destinazione e una regola di conflitto, e avvia. La pagina di migrazione da Bitly illustra il modulo.
  • Import in blocco da dashboard e CSV. La finestra New link accetta fino a 100 URL per lotto, uno per riga o come CSV (url, slug, title); l'import in blocco da Google Sheets copre la via del foglio di calcolo.
  • API. POST /v1/workspaces/{workspace_id}/links/bulk accetta fino a 100 link per chiamata e riporta successo o errore per ogni elemento.

Come si comporta l'importer

Esegui un job per ogni gruppo Bitly. Un job si ferma a 50.000 link o a 30 minuti (sono protezioni, non un limite di prezzo), quindi dividi gli account più grandi per gruppo. Il token resta in memoria per la durata dell'esecuzione e poi viene scartato. Ogni job riporta il numero di importati, saltati e falliti; lo stato partial indica che alcune righe sono fallite, e l'elenco degli errori (limitato a 1.000 voci) dice quali e perché. Uno sweep segna come fallito un job senza progressi da 30 minuti. Rilanciare è sicuro con suffix e skip, perché i link già importati vengono riconosciuti. La ripresa da un cursore salvato è prevista; oggi un job interrotto si rilancia semplicemente.

Lo stesso sistema di job esegue gli importer per Rebrandly, Short.io, TinyURL e Dub.

Importa prima un gruppo piccolo e clicca 20 link tra le tue destinazioni più importanti. Una prova costa un pomeriggio ed è lì che scopri gli slug in collisione.

Elenco link di Elido in un workspace demo, con link brevi, destinazioni, tag, click a 30 giorni e stato

L'elenco dei link dopo un import, con i tag su cui filtrare. Workspace DEMO con dati di esempio sintetici, non risultati di clienti.

Passo 4: cutover del DNS e redirect intatti

Solo i link sul tuo dominio richiedono questo passo. Dopo la modifica del DNS, una richiesta a https://links.yourbrand.com/slug deve arrivare a un servizio che possiede già quello slug esatto, quindi prima l'import e poi la modifica del DNS. Alcuni strumenti fanno l'opposto: l'approccio di Short.io punta prima il tuo dominio a loro e copia un Bitlink solo quando qualcuno lo clicca, quindi un link che nessuno clicca durante la transizione non viene mai trasferito. Importare in anticipo evita questo buco.

Registrare il dominio in Elido ti dà un record TXT su _elido-verify.<hostname> e un CNAME verso edge.elido.me. Il dominio si verifica quando entrambi risolvono, e il verificatore rinuncia dopo 24 ore se ne manca uno. Poiché il CNAME è il cutover, la verifica si completa al cutover, non prima. La guida alla configurazione del dominio personalizzato mostra i moduli.

Aritmetica del TTL

Una risposta DNS può restare in cache per tutto il tempo indicato dal TTL del record (RFC 1035, sezione 3.2.1), quindi la finestra peggiore di dati obsoleti è pari al TTL prima della modifica. Un CNAME lasciato a 86400 secondi può continuare a mandare i visitatori a Bitly per un giorno intero. A D-2 abbassa il TTL a 300 secondi e annota la destinazione attuale; copiala dalla tua zona: è il valore di rollback. A D0 esegui l'import di produzione, poi cambia il CNAME e aggiungi il record TXT. Cinque-dieci minuti dopo, conferma che il dominio risulti verificato e richiedi un link via HTTPS. Tieni il TTL a 300 per tutta l'osservazione.

301 vs 302 durante il cutover

Bitly documenta i suoi link come redirect 301 (permanenti). Elido ti lascia scegliere 301, 302 o 307 per link; l'importer non ne imposta nessuno, quindi i link importati partono come 302. È ideale per il cutover: la RFC 9110, sezione 15.4.2 dice che un 301 è memorizzabile in cache in via euristica, mentre un 302 per impostazione predefinita non viene messo in cache (sezione 15.4.3). Se passi al 301 il primo giorno e poi fai rollback, ogni client che ha messo in cache la risposta continua ad andare al posto vecchio.

Resta sul 302 per tutta l'osservazione, poi passa in blocco al 301 i link le cui destinazioni non cambieranno mai, selezionandoli con il tag imported:bitly. 301 vs 302 redirect spiega dove conta la differenza SEO, e la documentazione sui redirect di Google è la fonte. Attenzione anche ai doppi salti: un proxy che forza HTTPS prima che la richiesta raggiunga Elido può aggiungerne uno (catene di redirect e SEO, guida ai redirect loop).

Passo 5: verifica il cutover con curl

Non fidarti mai di una dashboard verde; richiedi l'URL reale. Prima conferma il DNS da un resolver pubblico, non da quello del tuo ufficio:

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

Poi guarda un redirect senza seguirlo: curl -s -o /dev/null -D - --max-redirs 0 https://links.yourbrand.com/SummerSale. Vuoi un 302 (o lo status scelto) e un header location: uguale al tuo export; un 404 significa che lo slug non è stato importato, un 200 significa una pagina, non un redirect.

Infine fai passare ogni slug del tuo export in un ciclo, usando un CSV a due colonne slug,destination costruito dal tuo prelievo da 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"

Una differenza sullo slash finale è solo estetica: correggi il confronto, non il link. Esegui il ciclo dopo la prima ora, la mattina dopo e una settimana più tardi, e prova a mano uno slug per ogni canale attivo, con l'esatta grafia maiuscole/minuscole di quel canale.

Approvazione, da parte di qualcuno diverso dall'ingegnere: importati più saltati più falliti è uguale all'export filtrato; ogni riga fallita è corretta o scartata consapevolmente; 50 link a campione mantengono le UTM; i primi 20 link per click totali superano un clic manuale; un codice QR stampato si scansiona; i redirect sono a un solo salto su HTTPS valido; i contatori totali di Bitly sono salvati con una data.

Avvia un workspace ed esegui l'import di prova prima di fissare la data del cutover, finché hai tempo per sistemare le collisioni con calma.

Passo 6: cosa aspettarsi dalle analytics dopo la migrazione

Lo storico dei click non può passare, e nessun importer può cambiarlo. L'API di Bitly documenta due endpoint di click per ogni bitlink, GET /v4/bitlinks/{bitlink}/clicks e GET /v4/bitlinks/{bitlink}/clicks/summary, e entrambi restituiscono conteggi suddivisi per intervalli di tempo, non eventi singoli. Senza righe per singolo click non c'è modo di ricostruire referrer, paesi o dispositivi del passato. I click storici che ti servono per i report vanno in GA4 o nel tuo data warehouse.

Elido conta i click dal momento in cui il DNS punta a lui. Prima del cutover salva con la data il contatore totale di ogni link importante e annota il cutover su ogni grafico. Poi monitora: ogni giorno nella settimana 1 per 404 e un calo di click rispetto agli stessi giorni della settimana prima del cutover, poi ogni settimana rispetto alla tua baseline più i contatori salvati. La pagina della funzione analytics elenca ciò che Elido riporta nativamente.

Panoramica analytics di Elido in un workspace demo con click al giorno, paesi principali, referrer principali e host principali

La panoramica analytics, dove segui click al giorno e per host nei 30 giorni. Workspace DEMO, dati sintetici.

Passo 7: tieni pronto il rollback e disdici Bitly per ultimo

Puoi fare rollback finché non disdici Bitly. Concorda in anticipo il trigger, per esempio un calo di click inspiegato oltre il 30% per due giorni, o qualsiasi link rotto tra i primi 20. L'azione è rimettere la vecchia destinazione del CNAME; con un TTL di 300 secondi la maggior parte dei resolver si adegua in circa cinque minuti, e poiché sei rimasto sul 302 non ci sono 301 in cache che puntano nella direzione sbagliata. Prima esporta i link creati su Elido dopo il cutover, perché in Bitly non esistono.

Cosa si rompe se disdici Bitly troppo presto

Il centro assistenza di Bitly è preciso, e l'ordine delle operazioni conta. I link bit.ly continuano a funzionare dopo l'eliminazione dell'account e gli slug non possono essere riusati, ma non puoi più modificarli né reindirizzarli, e ne perdi le metriche. I link sul dominio personalizzato funzionano solo finché il tuo DNS punta ancora a Bitly; Bitly smette di rinnovare il certificato SSL, quindi prima o poi i visitatori vedono un avviso "non sicuro", e un downgrade (a differenza dell'eliminazione) blocca solo la creazione di nuovi link su quel dominio. I domini gratuiti non vengono rinnovati, quindi i link su di essi si rompono alla scadenza, che Bitly fissa a un anno dall'emissione o dall'ultimo rinnovo. Tutto il resto se ne va con l'account: codici QR che non puoi più modificare, Bitly Pages e i report che non hai esportato.

Sposta prima il DNS, conferma con i controlli sopra e solo dopo disdici o fai il downgrade. Tieni l'account almeno 90 giorni; quanto costa Bitly ti aiuta a scegliere il piano più economico da mantenere come rete di sicurezza.

Correlati sul blog

Fonti: articoli del centro assistenza di Bitly su eliminazione dell'account, downgrade, distinzione maiuscole/minuscole nei link e redirect 301, più la documentazione API di Bitly, consultati il 2026-10-02; comportamento di Elido ricavato dal codice dell'importer e dei redirect il 2026-10-26.

Domande frequenti

Quanto dura una migrazione da Bitly?

Calcola circa due settimane di calendario, anche se l'import vero e proprio dura pochi minuti. Quasi tutta l'attesa serve ad abbassare il TTL del DNS (24 ore se il record era a 86400 secondi) e al periodo di osservazione prima di disdire Bitly. Un account piccolo con un solo dominio personalizzato può fare il cutover in una settimana.

I miei link bit.ly continueranno a funzionare se lascio Bitly?

Sì, ma solo dal lato di Bitly. Bitly possiede l'hostname bit.ly, quindi non puoi puntare quei link a un altro servizio. Secondo il centro assistenza di Bitly continuano a risolversi anche dopo l'eliminazione dell'account, ma non puoi più modificarli, reindirizzarli né vederne le metriche.

Posso importare lo storico dei click di Bitly?

No. L'API di Bitly restituisce conteggi aggregati dei click, non eventi per singolo click, quindi nessun importer può ricostruire referrer, paesi o dispositivi. Annota il contatore totale di ogni link prima del cutover e tienilo accanto ai click che Elido conta dalla data del cutover.

Come esporto tutti i miei link da Bitly?

Usa l'API di Bitly con un Generic Access Token e scorri ogni gruppo, 100 link per pagina. L'export dalla dashboard dipende dal piano e salta i link degli altri gruppi. L'importer Bitly di Elido fa questa paginazione al posto tuo e richiede solo un token e un gruppo.

Durante il cutover devo usare un redirect 301 o 302?

Usa un 302 (o 307) durante cutover e osservazione, poi passa al 301 solo per le destinazioni permanenti. Browser e proxy possono tenere in cache un 301 a lungo, e questo rende il rollback più lento. Bitly stesso documenta i suoi link come redirect 301.

Cosa succede ai link sul mio dominio personalizzato se disdico Bitly prima di spostare il DNS?

Secondo il centro assistenza di Bitly continuano a funzionare solo finché il tuo DNS punta ancora a Bitly, il certificato SSL non viene più rinnovato e prima o poi i visitatori vedono un avviso di sicurezza. Perdi anche la possibilità di modificarli. Sposta prima il DNS, verifica e disdici per ultimo.

Prova Elido

Incolla un URL, ottieni un link breve

Senza registrazione. Il link vive 30 giorni. Iscriviti per conservarlo.

Senza registrazione. Crea un account gratuito per 50 link al mese.

Prova Elido

Accorciatore di URL ospitato nell'UE: domini personalizzati, analisi approfondite e API aperta. Piano gratuito - senza carta di credito.

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

Continua a leggere