10 мин чтенияМиграция

Миграция с Bitly: полное руководство без битых ссылок

Как мигрировать с Bitly: экспорт, сопоставление полей, импорт, DNS пользовательского домена, рабочие редиректы.

Ana Kowalska
Marketing solutions engineering

Чтобы мигрировать с Bitly без битых ссылок, разделите ссылки на две группы. Ссылки на вашем собственном домене можно перенести: импортируйте слаги в новый сервис, измените одну DNS-запись, и те же самые URL продолжат открываться. Ссылки на общем домене bit.ly перенести нельзя, потому что этот хост принадлежит Bitly, поэтому аккаунт в Bitly придётся держать, пока такие URL остаются в письмах, PDF и печатных материалах. Сам импорт занимает минуты. Календарное время уходит на кеширование DNS и период наблюдения перед отменой чего-либо.

Остальная часть руководства посвящена деталям, от которых зависит, заметят ли посетители переезд: экспорт, сопоставление полей, правила конфликтов, статус редиректа, сроки DNS, проверка из терминала и откат. Факты о Bitly взяты из справочного центра и справочника API Bitly (на 2026-10-02), факты об Elido - из кода импортёра и редиректов.

Я Ана и занимаюсь миграциями в Elido. Моё правило простое: сначала решите, что можно перенести, и только потом - как. Если вы ещё выбираете, куда уходить, сравнение функций есть в статье Elido vs Bitly.

Что можно и что нельзя перенести из Bitly

Короткий URL - это хост плюс слаг. Управлять тем, куда он ведёт, можно только если вы управляете хостом. Отсюда три случая и лишь одна настоящая миграция.

Тип ссылкиКто управляет хостомПри миграции
bit.ly/slugBitlyПеренести нельзя; продолжает открываться, пока Bitly это позволяет
links.yourbrand.com/slugВы, через DNSПереносится: импортируйте слаги, затем перенаправьте CNAME
Бесплатный домен от BitlyBitlyПеренести нельзя; после удаления или понижения тарифа не продлевается, ссылки ломаются по истечении срока

Для ссылок bit.ly честная цель - не «перенести», а «перестать создавать новые». Настройка брендированного домена до того, как вы решите уйти, - самая дешёвая страховка во всей этой теме.

Страница миграции из Bitly в Elido с трёхшаговым мастером, полем токена и эндпоинтом импорта для запуска миграции

Шаг 1: инвентаризация и экспорт ссылок Bitly

Начните со всего, что может сломаться: короткие ссылки (слаг, адрес назначения, заголовок, теги и группа; один аккаунт может владеть несколькими группами, а забытая группа - это забытый домен), каждый пользовательский домен, обслуживающий ссылки Bitly (проверяйте DNS-зоны, а не только настройки Bitly), напечатанные QR-коды (QR-код Bitly работает, пока работает его ссылка, а напечатанные изменить сложнее всего) и bio-страницы (они живут на собственных URL и в экспорт ссылок не попадают).

Экспортируйте через API Bitly с Generic Access Token, по одной группе за раз. GET /v4/groups/{guid}/bitlinks?size=100 возвращает страницу ссылок и URL pagination.next; пустой next означает, что вы дошли до конца:

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

Экспорт из панели зависит от тарифа и охватывает только то, что видно на экране, поэтому надёжный путь - API. Руководство Short.io по экспорту ссылок Bitly отмечает, что бесплатные аккаунты Bitly вообще не могут экспортировать данные из панели. Заодно запишите накопленный счётчик кликов каждой ссылки: это единственная история кликов, которую даёт Bitly, и она понадобится вам до переключения.

Шаг 2: сопоставьте поля Bitly с Elido и выберите правило конфликтов

Импортёр Bitly в Elido переносит для каждой ссылки четыре вещи: слаг, адрес назначения (выборочно проверьте UTM у 20 ссылок), заголовок (обрезается до 200 символов) и теги, а также тег imported:bitly для фильтрации и массового редактирования.

Не переносятся: накопленные счётчики кликов (сохраните их в собственной таблице), даты создания, дизайн QR-кодов (создайте заново в конструкторе QR), bio-страницы (пересоберите в bio-страницах) и настройки кампаний и deep link (воссоздайте как кампании).

Регистр слагов и ловушка коллизий

Bitly считает bit.ly/CustomWord и bit.ly/customword разными ссылками, что подтверждает его справочный центр. Elido хранит слаги без учёта регистра в пределах домена, сохраняя регистр импортированного слага, поэтому две ссылки Bitly, отличающиеся только регистром, конфликтуют. Если bit.ly/Promo ведёт на /spring, а bit.ly/promo - на /autumn, то Promo импортируется без проблем, а promo вызывает конфликт. Дальше всё решает правило конфликтов.

  • Suffix (по умолчанию) перебирает promo-2, promo-3 и так далее, до 50 попыток, после чего сообщает об ошибке. Оно молча меняет публичный URL: каждая напечатанная ссылка promo теперь показывает весеннюю страницу, а осенняя оказывается на promo-2 - адресе, которого никто не печатал.
  • Skip оставляет существующую ссылку нетронутой и записывает строку Bitly вместе со слагом и причиной.
  • Fail останавливает всё задание на первом же конфликте.

Если напечатанный слаг должен остаться точным, выбирайте skip или fail и разбирайте каждый конфликт вручную.

Шаг 3: импорт ссылок в Elido

Ссылки попадают в сервис тремя путями, в зависимости от объёма и источника.

  • Импортёр Bitly. Откройте «Интеграции», затем миграцию Bitly, вставьте Generic Access Token, выберите группу, целевой домен и правило конфликтов и запустите. Форму разбирает страница миграции с Bitly.
  • Массовая загрузка и CSV в панели. Диалог New link принимает до 100 URL за раз, по одному в строке или в виде CSV (url, slug, title); путь через таблицы описан в статье массовый импорт из Google Sheets.
  • API. POST /v1/workspaces/{workspace_id}/links/bulk принимает до 100 ссылок за вызов и сообщает об успехе или ошибке по каждому элементу.

Как ведёт себя импортёр

Запускайте одно задание на одну группу Bitly. Задание останавливается на 50 000 ссылок или через 30 минут (это защитные ограничения, а не тарифный лимит), поэтому крупные аккаунты разбивайте по группам. Токен хранится в памяти на время запуска, а затем удаляется. Каждое задание сообщает числа импортированных, пропущенных и неудачных ссылок; статус partial означает, что часть строк завершилась ошибкой, а список ошибок (не более 1000 записей) показывает, какие именно и почему. Фоновая проверка помечает задание как неудачное, если 30 минут не было прогресса. Повторные запуски безопасны при suffix и skip, потому что уже импортированные ссылки распознаются. Возобновление с сохранённого курсора запланировано; сегодня прерванное задание просто запускают заново.

Та же система заданий запускает импортёры для Rebrandly, Short.io, TinyURL и Dub.

Сначала импортируйте небольшую группу и пройдите по 20 ссылкам среди самых ценных адресов назначения. Репетиция стоит одного дня, и именно на ней находятся конфликтующие слаги.

Список ссылок Elido в демо-рабочем пространстве: короткие ссылки с адресами назначения, тегами, кликами за 30 дней и статусом

Список ссылок после импорта, с тегами для фильтрации. DEMO-рабочее пространство с синтетическими данными, а не результаты клиентов.

Шаг 4: переключите DNS и сохраните редиректы

Этот шаг нужен только ссылкам на вашем домене. После изменения DNS запрос https://links.yourbrand.com/slug должен попасть в сервис, который уже хранит именно этот слаг, поэтому сначала импорт, потом изменение DNS. Некоторые инструменты делают наоборот: подход Short.io сначала направляет ваш домен на них и копирует Bitlink только когда кто-то по нему кликает, так что ссылка, по которой никто не кликнул за время перехода, не переносится вообще. Импорт заранее закрывает этот пробел.

Регистрация домена в Elido даёт вам TXT-запись в _elido-verify.<hostname> и CNAME на edge.elido.me. Домен подтверждается, когда обе записи резолвятся, а проверка прекращается через 24 часа, если какой-то из них нет. Поскольку CNAME и есть переключение, проверка завершается в момент переключения, а не раньше. Формы показывает руководство по настройке пользовательского домена.

Арифметика TTL

DNS-ответ может кешироваться ровно столько, сколько говорит TTL записи (RFC 1035, раздел 3.2.1), поэтому худшее окно устаревших данных равно TTL до изменения. CNAME с TTL 86400 секунд может целые сутки отправлять посетителей в Bitly. За два дня до переключения (D-2) снизьте TTL до 300 секунд и запишите текущее целевое значение: скопируйте его из своей зоны, это ваше значение для отката. В день D0 запустите боевой импорт, затем замените CNAME и добавьте TXT-запись. Через пять-десять минут убедитесь, что домен показан как подтверждённый, и запросите ссылку по HTTPS. На время наблюдения оставьте TTL на 300.

301 или 302 во время переключения

Bitly описывает свои ссылки как редиректы 301 (постоянные). Elido позволяет выбрать 301, 302 или 307 для каждой ссылки; импортёр ничего не задаёт, поэтому импортированные ссылки начинают с 302. Для переключения это подходит: RFC 9110, раздел 15.4.2 говорит, что 301 эвристически кешируется, а 302 по умолчанию не кешируется (раздел 15.4.3). Если в первый же день включить 301, а потом откатиться, каждый клиент, закешировавший ответ, продолжит ходить по старому адресу.

Оставайтесь на 302 на время наблюдения, а затем массово переключите на 301 те ссылки, адрес которых никогда не изменится, выбрав их по тегу imported:bitly. В статье 301 vs 302 редиректы разобрано, где разница важна для SEO, а источник - документация Google по редиректам. Следите и за двойными переходами: прокси, который принудительно включает HTTPS до того, как запрос дойдёт до Elido, может добавить лишний (цепочки редиректов и SEO, руководство по циклам редиректов).

Шаг 5: проверьте переключение через curl

Никогда не доверяйте зелёному индикатору в панели; запрашивайте реальный URL. Сначала проверьте DNS через публичный резолвер, а не через офисный:

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

Затем посмотрите на один редирект, не переходя по нему: curl -s -o /dev/null -D - --max-redirs 0 https://links.yourbrand.com/SummerSale. Вам нужен 302 (или выбранный вами статус) и заголовок location:, совпадающий с вашим экспортом; 404 означает, что слаг не импортирован, а 200 - что это страница, а не редирект.

Наконец, прогоните в цикле каждый слаг из экспорта, используя двухколоночный CSV slug,destination, собранный из выгрузки 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"

Расхождение в завершающем слеше - косметика: исправляйте сравнение, а не ссылку. Запускайте цикл через час после переключения, на следующее утро и через неделю, а по одному слагу для каждого активного канала проверяйте вручную, в точном написании этого канала с учётом регистра.

Приёмка, силами человека, не делавшего переключение: импортированные плюс пропущенные плюс неудачные равны отфильтрованному экспорту; каждая неудачная строка исправлена или сознательно отброшена; 50 выбранных ссылок сохранили UTM; топ-20 ссылок по накопленным кликам прошли ручную проверку переходом; напечатанный QR-код сканируется; редиректы идут в один переход по действующему HTTPS; накопленные счётчики Bitly сохранены с датой.

Создайте рабочее пространство и проведите пробный импорт до того, как назначите дату переключения, пока есть время спокойно разобраться с конфликтами.

Шаг 6: чего ждать от аналитики после миграции

История кликов не переносится, и никакой импортёр этого не изменит. API Bitly документирует две конечные точки кликов для каждого bitlink, GET /v4/bitlinks/{bitlink}/clicks и GET /v4/bitlinks/{bitlink}/clicks/summary, и обе возвращают счётчики по интервалам времени, а не отдельные события. Без строк по каждому клику восстановить прошлые источники переходов, страны и устройства невозможно. Исторические клики, нужные вам для отчётности, стоит хранить в GA4 или в собственном хранилище данных.

Elido считает клики с того момента, как DNS указывает на него. Перед переключением сохраните накопленный счётчик каждой важной ссылки с датой и отметьте переключение на каждом графике. Затем наблюдайте: ежедневно в первую неделю на предмет 404 и провала кликов относительно тех же дней недели до переключения, а дальше еженедельно - относительно вашей базовой линии и сохранённых счётчиков. На странице функции аналитики перечислено, что Elido показывает из коробки.

Обзор аналитики Elido в демо-рабочем пространстве: клики по дням, топ стран, топ источников переходов и топ хостов

Обзор аналитики, где в течение 30 дней вы следите за кликами по дням и по хостам. DEMO-рабочее пространство, синтетические данные.

Шаг 7: держите откат наготове и отменяйте Bitly в последнюю очередь

Откатиться можно, пока вы не отменили Bitly. Заранее договоритесь о триггере, например необъяснимое падение кликов более чем на 30% в течение двух дней или любая сломанная ссылка из топ-20. Действие - вернуть прежнее целевое значение CNAME; при TTL 300 секунд большинство резолверов подхватит его примерно за пять минут, а поскольку вы оставались на 302, закешированных 301, ведущих не туда, нет. Сначала экспортируйте ссылки, созданные в Elido после переключения, потому что в Bitly их не существует.

Что ломается, если отменить Bitly слишком рано

Справочный центр Bitly конкретен, и порядок действий важен. Ссылки bit.ly продолжают работать после удаления аккаунта, а слаги нельзя использовать повторно, но вы больше не можете их редактировать или перенаправлять и теряете их метрики. Ссылки на пользовательском домене работают, только пока ваш DNS всё ещё указывает на Bitly; Bitly перестаёт продлевать SSL-сертификат, поэтому в итоге посетители видят предупреждение «не защищено», а понижение тарифа (в отличие от удаления) лишь блокирует создание новых ссылок на этом домене. Бесплатные домены не продлеваются, поэтому ссылки на них ломаются по истечении срока, который Bitly определяет в один год после выдачи или последнего продления. Всё остальное исчезает вместе с аккаунтом: QR-коды, которые больше нельзя редактировать, Bitly Pages и любые отчёты, которые вы не выгрузили.

Сначала перенесите DNS, подтвердите проверками выше и только потом отменяйте тариф или понижайте его. Держите аккаунт не менее 90 дней; статья сколько стоит Bitly поможет выбрать самый дешёвый тариф для страховки.

Читайте также в блоге

Источники: статьи справочного центра Bitly об удалении аккаунта, понижении тарифа, чувствительности ссылок к регистру и редиректах 301, а также справочник API Bitly, на 2026-10-02; поведение Elido прочитано из кода импортёра и редиректов 2026-10-26.

Частые вопросы

Сколько длится миграция с Bitly?

Закладывайте около двух недель календарного времени, хотя сам импорт занимает минуты. Большую часть ожидания занимает снижение DNS TTL (24 часа, если запись стояла на 86400 секундах) и период наблюдения перед отменой Bitly. Небольшой аккаунт с одним пользовательским доменом может переключиться за неделю.

Продолжат ли работать мои ссылки bit.ly, если я уйду из Bitly?

Да, но только на стороне Bitly. Хост bit.ly принадлежит Bitly, поэтому перенаправить эти ссылки на другой сервис нельзя. Согласно справочному центру Bitly, они продолжают открываться и после удаления аккаунта, но вы больше не можете их редактировать, перенаправлять и видеть их метрики.

Можно ли импортировать историю кликов из Bitly?

Нет. API Bitly возвращает агрегированные счётчики кликов, а не события по каждому клику, поэтому никакой импортёр не восстановит источники переходов, страны и устройства. Запишите накопленный счётчик каждой ссылки до переключения и храните его рядом с кликами, которые Elido считает с даты переключения.

Как экспортировать все ссылки из Bitly?

Используйте API Bitly с Generic Access Token и проходите каждую группу по 100 ссылок на страницу. Экспорт из панели зависит от тарифа и пропускает ссылки из других групп. Импортёр Bitly в Elido делает этот обход за вас и требует только токен и группу.

Какой редирект использовать при переключении: 301 или 302?

На время переключения и наблюдения используйте 302 (или 307), а 301 включайте только для постоянных адресов назначения. Браузеры и прокси могут кешировать 301 очень долго, из-за чего откат замедляется. Сам Bitly описывает свои ссылки как редиректы 301.

Что будет со ссылками на моём домене, если отменить Bitly до переноса DNS?

Согласно справочному центру Bitly, они работают, только пока ваш DNS всё ещё указывает на Bitly, SSL-сертификат перестаёт продлеваться, и в итоге посетители видят предупреждение о небезопасном соединении. Кроме того, вы теряете возможность их редактировать. Сначала перенесите DNS, проверьте результат и только потом отменяйте тариф.

Попробуйте Elido

Вставьте URL - получите короткую ссылку

Без регистрации. Ссылка живёт 30 дней. Зарегистрируйтесь, чтобы оставить её навсегда.

Без регистрации. Зарегистрируйтесь бесплатно и получите 50 ссылок в месяц.

Попробуйте Elido

URL-сокращатель с хостингом в ЕС: собственные домены, глубокая аналитика, открытый API. Бесплатный тариф - без банковской карты.

Теги
migrate from bitly
bitly migration
bitly export
custom domain cutover
301 vs 302 redirect
url shortener migration

Читать дальше