13 min de lectureMigration

Migrer depuis Bitly : le guide complet sans lien cassé

Migrer depuis Bitly : export, mappage des champs, import, DNS du domaine personnalisé, redirections préservées, vérification avec curl et retour arrière sûr.

Ana Kowalska
Marketing solutions engineering

Pour migrer depuis Bitly sans casser de liens, répartissez vos liens en deux groupes. Les liens sur votre propre domaine personnalisé peuvent être déplacés : vous importez les slugs dans le nouvel outil, puis vous modifiez un seul enregistrement DNS, et les mêmes URL continuent de fonctionner. Les liens sur le domaine partagé bit.ly ne peuvent pas être déplacés, car Bitly possède ce nom d'hôte ; vous gardez donc un compte Bitly actif aussi longtemps que ces URL figurent dans des e-mails, des PDF et des supports imprimés. L'import lui-même prend quelques minutes. Le temps de calendrier est consommé par le cache DNS et par une période d'observation avant toute résiliation.

Le reste de ce guide détaille ce qui décide si le changement reste invisible pour les visiteurs : export, mappage des champs, règles de conflit, statut de redirection, délais DNS, vérification depuis un terminal et retour arrière. Les faits sur Bitly proviennent du centre d'aide et de la référence API de Bitly (consultés le 2026-10-02) ; les faits sur Elido proviennent du code de l'importeur et des redirections.

Je suis Ana et je m'occupe des migrations chez Elido. Ma règle est simple : décidez ce qui peut être déplacé avant de décider comment. Si vous hésitez encore sur la destination, Elido vs Bitly est la comparaison fonctionnelle.

Ce qui peut et ne peut pas quitter Bitly

Une URL courte est un nom d'hôte plus un slug. Vous ne contrôlez sa destination que si vous contrôlez le nom d'hôte, ce qui donne trois cas et une seule vraie migration.

Type de lienContrôle le nom d'hôteLors de la migration
bit.ly/slugBitlyNe peut pas être déplacé ; continue de se résoudre tant que Bitly le permet
links.yourbrand.com/slugVous, via le DNSSe déplace : importez les slugs, puis repointez le CNAME
Domaine offert par BitlyBitlyNe peut pas être déplacé ; non renouvelé après suppression ou rétrogradation, les liens cassent à l'expiration

Pour les liens bit.ly, le véritable objectif n'est pas de les « déplacer » mais d'arrêter d'en créer de nouveaux. Configurer un domaine de marque avant d'avoir besoin de partir est l'assurance la moins chère de tout ce sujet.

La page de migration de Bitly vers Elido avec un assistant en trois étapes, un champ de jeton et le point de terminaison d'import pour lancer la migration

Étape 1 : inventorier et exporter vos liens Bitly

Commencez par tout ce qui peut casser : les liens courts (slug, destination, titre, tags et groupe ; un compte peut posséder plusieurs groupes, et un groupe oublié est un domaine oublié), chaque domaine personnalisé qui sert des liens Bitly (vérifiez vos zones DNS, pas seulement les paramètres de Bitly), les QR codes imprimés (un QR code Bitly fonctionne tant que son lien fonctionne, et les versions imprimées sont les plus difficiles à changer) et les pages bio (elles ont leurs propres URL et ne figurent pas dans l'export des liens).

Exportez via l'API Bitly avec un Generic Access Token, un groupe à la fois. GET /v4/groups/{guid}/bitlinks?size=100 renvoie une page de liens plus une URL pagination.next, et un next vide signifie que vous avez terminé :

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 du tableau de bord dépend de votre forfait et ne couvre que ce qui est affiché à l'écran ; l'API est donc la voie fiable. Le guide de Short.io pour exporter les liens Bitly indique que les comptes Bitly gratuits ne peuvent pas du tout exporter depuis le tableau de bord. Pendant que vous y êtes, notez le compteur de clics cumulé de chaque lien : c'est le seul historique de clics que Bitly vous donne, et il vous le faut avant la bascule.

Étape 2 : faire correspondre les champs Bitly à Elido et choisir une règle de conflit

L'importeur Bitly d'Elido reprend quatre éléments par lien : le slug, l'URL de destination (vérifiez les UTM sur 20 liens), le titre (coupé à 200 caractères) et les tags, plus un tag imported:bitly pour filtrer et modifier en masse.

Ce qui ne suit pas : les compteurs de clics cumulés (conservez-les dans votre propre tableur), les dates de création, les designs de QR code (régénérez-les avec le concepteur de QR codes), les pages bio (reconstruisez-les dans les pages bio) et la configuration des campagnes ou des deep links (recréez-la sous forme de campagnes).

La casse des slugs et le piège de la collision

Bitly traite bit.ly/CustomWord et bit.ly/customword comme des liens différents, ce que confirme son centre d'aide. Elido stocke les slugs sans tenir compte de la casse par domaine, en conservant la casse importée ; deux liens Bitly qui ne diffèrent que par la casse entrent donc en collision. Si bit.ly/Promo pointe vers /spring et bit.ly/promo vers /autumn, Promo s'importe sans problème et promo entre en conflit. La règle de conflit décide alors de la suite.

  • Suffix (par défaut) essaie promo-2, promo-3 et ainsi de suite, jusqu'à 50 tentatives, puis signale une erreur. Cela modifie silencieusement une URL publique : tous les liens promo imprimés affichent désormais la page du printemps, et le lien d'automne se retrouve sur promo-2, une URL que personne n'a imprimée.
  • Skip laisse le lien existant intact et enregistre la ligne Bitly avec son slug et la raison.
  • Fail arrête toute la tâche au premier conflit.

Quand le slug imprimé doit rester exact, choisissez skip ou fail et résolvez chaque conflit à la main.

Étape 3 : importer vos liens dans Elido

Trois voies permettent d'importer des liens, selon la taille et la source.

  • Importeur Bitly. Ouvrez Integrations, puis la migration Bitly, collez un Generic Access Token, choisissez le groupe, un domaine cible et une règle de conflit, puis lancez. La page de migration Bitly détaille le formulaire.
  • Import en masse et CSV depuis le tableau de bord. La boîte de dialogue Nouveau lien accepte jusqu'à 100 URL par lot, une par ligne ou au format CSV (url, slug, title) ; l'import en masse depuis Google Sheets couvre la voie par tableur.
  • API. POST /v1/workspaces/{workspace_id}/links/bulk accepte jusqu'à 100 liens par appel et indique le succès ou l'échec pour chaque élément.

Comportement de l'importeur

Lancez une tâche par groupe Bitly. Une tâche s'arrête à 50 000 liens ou 30 minutes (des garde-fous, pas une limite tarifaire) ; découpez donc les comptes plus volumineux par groupe. Le jeton est conservé en mémoire pendant l'exécution, puis supprimé. Chaque tâche indique le nombre de liens importés, ignorés et en échec ; un statut partial signifie que certaines lignes ont échoué, et la liste d'erreurs (plafonnée à 1 000 entrées) précise lesquelles et pourquoi. Un balayage marque une tâche comme échouée après 30 minutes sans progression. Relancer est sans risque avec suffix et skip, car les liens déjà importés sont détectés. La reprise depuis un curseur enregistré est prévue ; aujourd'hui, une tâche interrompue est simplement relancée.

Le même système de tâches fait tourner les importeurs pour Rebrandly, Short.io, TinyURL et Dub.

Importez d'abord un petit groupe et cliquez sur 20 liens parmi vos destinations les plus précieuses. Une répétition coûte un après-midi et c'est là que vous trouvez les slugs en collision.

Liste des liens Elido dans un espace de travail de démonstration, avec les liens courts, leurs destinations, tags, clics sur 30 jours et statut

La liste des liens après un import, avec des tags pour filtrer. Espace de travail DEMO avec des données d'exemple synthétiques, pas des résultats clients.

Étape 4 : basculer le DNS en gardant les redirections intactes

Seuls les liens sur votre propre domaine nécessitent cette étape. Après le changement DNS, une requête vers https://links.yourbrand.com/slug doit atteindre un service qui détient déjà ce slug exact ; l'import vient donc en premier et le changement DNS en second. Certains outils font l'inverse : l'approche de Short.io pointe d'abord votre domaine vers eux et ne copie un Bitlink que lorsque quelqu'un clique dessus, de sorte qu'un lien sur lequel personne ne clique pendant la transition n'est jamais transféré. Importer en amont évite ce vide.

Enregistrer le domaine dans Elido vous donne un enregistrement TXT sur _elido-verify.<hostname> et un CNAME vers edge.elido.me. Le domaine est vérifié quand les deux se résolvent, et le vérificateur abandonne au bout de 24 heures si l'un des deux manque. Comme le CNAME constitue la bascule, la vérification se termine à la bascule, pas avant. Le guide de configuration d'un domaine personnalisé montre les formulaires.

Arithmétique du TTL

Une réponse DNS peut rester en cache aussi longtemps que le TTL de l'enregistrement le permet (RFC 1035, section 3.2.1) ; la fenêtre d'obsolescence maximale est donc égale au TTL avant le changement. Un CNAME laissé à 86400 secondes peut continuer à envoyer des visiteurs vers Bitly pendant une journée entière. À J-2, abaissez le TTL à 300 secondes et notez la cible actuelle ; copiez-la depuis votre propre zone : c'est votre valeur de retour arrière. À J0, lancez l'import de production, puis remplacez le CNAME et ajoutez l'enregistrement TXT. Cinq à dix minutes plus tard, vérifiez que le domaine apparaît comme vérifié et demandez un lien en HTTPS. Gardez le TTL à 300 pendant toute la période d'observation.

301 ou 302 pendant la bascule

Bitly documente ses liens comme des redirections 301 (permanentes). Elido vous laisse choisir 301, 302 ou 307 par lien ; l'importeur n'en définit aucune, donc les liens importés démarrent en 302. Cela convient à la bascule : la RFC 9110, section 15.4.2 indique qu'une 301 peut être mise en cache de façon heuristique, alors qu'une 302 n'est pas mise en cache par défaut (section 15.4.3). Si vous passez en 301 dès le premier jour puis faites un retour arrière, tous les clients qui ont mis la réponse en cache continuent d'aller à l'ancien endroit.

Restez en 302 pendant l'observation, puis passez en 301, en masse, les liens dont les destinations ne changeront jamais, en les sélectionnant avec le tag imported:bitly. 301 vs 302 explique où la différence compte pour le SEO, et la documentation sur les redirections de Google en est la source. Surveillez aussi les doubles sauts : un proxy qui force le HTTPS avant que la requête n'atteigne Elido peut en ajouter un (chaînes de redirection et SEO, guide des boucles de redirection).

Étape 5 : vérifier la bascule avec curl

Ne faites jamais confiance à un tableau de bord vert ; demandez l'URL réelle. D'abord, confirmez le DNS depuis un résolveur public plutôt que celui de votre bureau :

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

Ensuite, observez une redirection sans la suivre : curl -s -o /dev/null -D - --max-redirs 0 https://links.yourbrand.com/SummerSale. Vous attendez un 302 (ou le statut choisi) et un en-tête location: identique à votre export ; un 404 signifie que le slug n'a pas été importé, un 200 signifie une page, pas une redirection.

Enfin, passez chaque slug de votre export dans une boucle, avec un CSV à deux colonnes slug,destination construit à partir de votre extraction 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"

Une différence de barre oblique finale est sans conséquence : corrigez la comparaison, pas le lien. Lancez la boucle après la première heure, le lendemain matin et une semaine plus tard, et testez à la main un slug par canal actif, avec l'orthographe exacte en casse mixte de ce canal.

Validation finale, par quelqu'un d'autre que l'ingénieur : importés plus ignorés plus en échec égale l'export filtré ; chaque ligne en échec est corrigée ou abandonnée en connaissance de cause ; 50 liens échantillonnés conservent leurs UTM ; les 20 premiers liens par clics cumulés passent un test de clic manuel ; un QR code imprimé se scanne ; les redirections font un seul saut sur un HTTPS valide ; les compteurs cumulés Bitly sont sauvegardés avec une date.

Créez un espace de travail et lancez l'import de répétition avant de vous engager sur une date de bascule, tant qu'il reste du temps pour corriger les collisions calmement.

Étape 6 : à quoi s'attendre dans les statistiques après la migration

L'historique des clics ne peut pas être transféré, et aucun outil d'import ne peut y changer quoi que ce soit. L'API de Bitly documente deux points de terminaison de clics par bitlink, GET /v4/bitlinks/{bitlink}/clicks et GET /v4/bitlinks/{bitlink}/clicks/summary, qui renvoient tous deux des comptages par tranche de temps, pas des événements individuels. Sans lignes par clic, il est impossible de reconstituer les référents, pays ou appareils passés. Les clics historiques dont vous avez besoin pour vos rapports relèvent de GA4 ou de votre propre entrepôt de données.

Elido compte les clics dès que le DNS pointe vers lui. Avant la bascule, enregistrez le compteur cumulé de chaque lien important avec la date et annotez la bascule sur chaque graphique. Ensuite, surveillez : chaque jour pendant la semaine 1 pour les 404 et une baisse de clics par rapport aux mêmes jours de la semaine avant la bascule, puis chaque semaine par rapport à votre référence et aux compteurs sauvegardés. La page de la fonctionnalité d'analytique liste ce qu'Elido rapporte nativement.

Vue d'ensemble des statistiques Elido dans un espace de travail de démonstration, avec les clics par jour, les principaux pays, les principaux référents et les principaux hôtes

La vue d'ensemble des statistiques, où vous suivez les clics par jour et par hôte pendant les 30 jours. Espace de travail DEMO, données synthétiques.

Étape 7 : garder un retour arrière prêt, puis résilier Bitly en dernier

Vous pouvez revenir en arrière tant que vous n'avez pas résilié Bitly. Convenez du déclencheur à l'avance, par exemple une baisse de clics inexpliquée supérieure à 30 % pendant deux jours, ou un seul lien cassé parmi les 20 premiers. L'action consiste à remettre l'ancienne cible du CNAME ; avec un TTL de 300 secondes, la plupart des résolveurs suivent en cinq minutes environ, et comme vous êtes resté en 302, aucune 301 en cache ne pointe dans la mauvaise direction. Exportez d'abord les liens créés sur Elido après la bascule, puisqu'ils n'existent pas dans Bitly.

Ce qui casse si vous résiliez Bitly trop tôt

Le centre d'aide de Bitly est précis, et l'ordre des opérations compte. Les liens bit.ly continuent de fonctionner après la suppression du compte et les slugs ne peuvent pas être réutilisés, mais vous ne pouvez plus les modifier ni les rediriger, et vous perdez leurs statistiques. Les liens sur domaine personnalisé ne fonctionnent que tant que votre DNS pointe encore vers Bitly ; Bitly cesse de renouveler le certificat SSL, si bien que les visiteurs finissent par voir un avertissement « non sécurisé », et une rétrogradation (par opposition à une suppression) bloque seulement la création de nouveaux liens sur ce domaine. Les domaines offerts ne sont pas renouvelés, donc les liens qui y sont attachés cassent à l'expiration, que Bitly fixe à un an après l'émission ou le dernier renouvellement. Tout le reste disparaît avec le compte : QR codes que vous ne pouvez plus modifier, Bitly Pages et tous les rapports que vous n'avez pas exportés.

Déplacez d'abord le DNS, confirmez avec les vérifications ci-dessus, et seulement ensuite résiliez ou rétrogradez. Gardez le compte au moins 90 jours ; ce que facture Bitly vous aide à choisir le forfait le moins cher à conserver comme filet de sécurité.

À lire aussi sur le blog

Sources : articles du centre d'aide Bitly sur la suppression de compte, la rétrogradation, la sensibilité à la casse des liens et les redirections 301, ainsi que la référence de l'API Bitly, consultés le 2026-10-02 ; comportement d'Elido relevé dans le code de l'importeur et des redirections le 2026-10-26.

Questions fréquentes

Combien de temps dure une migration depuis Bitly ?

Prévoyez environ deux semaines de calendrier, même si l'import lui-même se fait en quelques minutes. L'essentiel de l'attente vient de la baisse du TTL DNS (24 heures si votre enregistrement était à 86400 secondes) et de la période d'observation avant de résilier Bitly. Un petit compte avec un seul domaine personnalisé peut basculer en une semaine.

Mes liens bit.ly continueront-ils de fonctionner si je quitte Bitly ?

Oui, mais uniquement du côté de Bitly. Bitly possède le nom d'hôte bit.ly, vous ne pouvez donc pas réorienter ces liens vers un autre service. D'après le centre d'aide de Bitly, ils continuent de se résoudre après la suppression du compte, mais vous ne pouvez plus les modifier, les rediriger ni consulter leurs statistiques.

Puis-je importer mon historique de clics Bitly ?

Non. L'API de Bitly renvoie des compteurs de clics agrégés, pas des événements par clic : aucun outil d'import ne peut donc reconstituer les référents, les pays ou les appareils. Notez le compteur cumulé de chaque lien avant la bascule et conservez-le à côté des clics qu'Elido compte à partir de la date de bascule.

Comment exporter tous mes liens depuis Bitly ?

Utilisez l'API Bitly avec un Generic Access Token et parcourez chaque groupe page par page, à raison de 100 liens par page. L'export du tableau de bord dépend de votre forfait et ignore les liens des autres groupes. L'importeur Bitly d'Elido fait cette pagination à votre place et ne demande qu'un jeton et un groupe.

Faut-il utiliser une redirection 301 ou 302 pendant la bascule ?

Utilisez une 302 (ou 307) pendant la bascule et la période d'observation, puis passez en 301 uniquement pour les destinations permanentes. Les navigateurs et les proxys peuvent mettre une 301 en cache très longtemps, ce qui ralentit un retour arrière. Bitly documente lui-même ses liens comme des redirections 301.

Que deviennent mes liens sur domaine personnalisé si je résilie Bitly avant de déplacer le DNS ?

D'après le centre d'aide de Bitly, ils ne fonctionnent que tant que votre DNS pointe encore vers Bitly, le certificat SSL n'est plus renouvelé et les visiteurs finissent par voir un avertissement de sécurité. Vous perdez aussi la possibilité de les modifier. Déplacez d'abord le DNS, vérifiez, et résiliez en dernier.

Essayer Elido

Collez une URL, obtenez un lien court

Sans inscription. Lien actif 30 jours. Inscrivez-vous pour le garder pour toujours.

Sans inscription. Créez un compte gratuit pour 50 liens par mois.

Essayer Elido

Raccourcisseur d'URL hébergé en UE : domaines personnalisés, analyses approfondies et API ouverte. Forfait gratuit - sans carte bancaire.

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

Lire la suite