x
 
Никита Семёхин
1 марта 2018
Советы почтой каждую неделю
Пожалуйста, получите наше письмо, чтобы подтвердить свой адрес:
Вы подписаны на «Советы за неделю»:

Как сайт бюро сменил домен с artgorbunov.ru на bureau.ru?

Как, в принципе, сменить домен сайта, не теряя пользовательских данных?


Когда переезжали на новый домен, мы хотели, чтобы для пользователей ничего не изменилось. Чтобы при переезде сохранилась авторизация, доступ к Бюросфере, книгам и школьному кабинету. Чтобы даже имя и почта в форме комментариев к советам сохранились.

Вся эта информация хранится в куках, которые привязаны к домену и браузеру пользователя: куки на artgorbunov.ru недоступны на bureau.ru. Чтобы ничего не потерять при переезде, мы перенесли куки со старого домена на новый серией редиректов:

Алгоритм переноса кук из спецификации

Все запросы к старому домену перенаправили постоянным редиректом на новый домен.

Когда пользователь в первый раз заходил на новый домен, мы перенаправляли его на старый. Собирали его куки на старом домене, шифровали, и упаковывали их в одну строку. Затем вместе с этой строкой перенаправляли пользователя по специальному адресу на новом домене.

Там мы распаковывали и выставляли куки для нового домена. Затем перенаправляли пользователя обратно — на тот урл, с которого начался процесс переноса кук.

Когда пользователь заходил на сайт в следующий раз, никаких редиректов уже не было.

Сложности

Поисковые роботы и РСС-читалки не поддерживают куки. Чтобы они не попадали в бесконечный цикл из редиректов, отфильтровали их по юзер-агенту и сразу отдавали им страницы с нового домена.

Чтобы не нагружать лишними редиректами клиентов, также отфильтровали запросы к статике: картинкам, стилям и шрифтам.

См. также совет о переходе на HTTPS

Чтобы не налажать с куками и не сломать всё у всех, мы развернули точную копию сайта на отдельном домене artgorbunov-s1.ru. Написали интеграционные тесты, составили тестовый план, покрывающий критичную функциональность сайта, и отладили перенос кук с artgorbunov-s1.ru на bureau.ru.

Мы заложили полгода на перенос кук: открыли новый домен в июне 2017, выключили редиректы в январе 2018.

Ещё по теме

См. интеграционные тесты, проверяющие смену домена

P. S. Это был совет о веб-разработке. Хотите знать всё о коде, тестах, фронтенд-разработке, цеэсэсе, яваскрипте, рельсах и джейде? Присылайте вопросы.
Вёрстка и прототипирование — дисциплина Школы дизайнеров. Набор весной. Оставьте почту, и мы напишем вам, когда откроется следующий набор.
 

Поделиться
Отправить

Цель рубрики — обсуждение вопросов дизайна всех видов, текста в дизайне и взаимоотношений дизайнеров с клиентами.

Мы публикуем комментарии, которые добавляют к уже сказанному новые мысли и хорошие примеры. Мы ожидаем, что такие комментарии составят около 20% от общего числа.

Решение о публикации принимается один раз; мы не имеем возможности комментировать или пересматривать свое решение, хотя оно может быть ошибочно. Уже опубликованные комментарии могут быть удалены через некоторое время, если без них обсуждение не становится менее ценным или интересным.

Вот такой веб 2.0.

Как вы проверяете соответствие вёрстки макету 2 Как спрятать экранную клавиатуру в Айфоне? Расскажите об обязанностях технического директора в бюро Как попросить клиента помочь с дебагом? 1




Недавно всплыло

3 6 1 2