Миграция веб-магазина «AAA State of Play» с Magento 1 на Magento 2
Клиент
Николас Бридлав — предприниматель, наш давний клиент и партнер, который продает оборудование для детских площадок и различные уличные удобства через два интернет-магазина. Один из них — www.aaastateofplay.com — стал предметом миграции на Magento 2 и множества экспериментов (как потом выяснилось).
НАША ЦЕЛЬ И КАК ВСЕ ЭТО НАЧАЛОСЬ
Наши приключения в области разработки начались в 2016 году, когда была выпущена версия Magento 2.1. Николас, будучи прогрессивным владельцем магазина, решил перенести свой магазин с Magento 1 на Magento 2. И мы начали работать на проекте в марте 2016 года. Это был наш первый опыт миграции на Magento и самый запоминающийся.
ИСТОРИЯ РАЗРАБОТКИ
Когда мы начали работать над миграцией, Magento 2 не был завершен и не был совместим с другими его ветвями. Эти две платформы имеют совершенно разные архитектуры. Они используют разные JS-фреймворки. М1 использует прототип Javascript, а М2 — jQuery Javascript.
Новая система Magento 2 была довольно сложной, некоторые простые задачи автоматически усложнялись и занимали намного больше времени, чем ожидалось. Много работы пришлось проделать вручную.
Вам интересно узнать, с какими проблемами мы столкнулись? Тогда читайте дальше.
- Система компиляции оказалась сложной проблемой из-за различных структур баз данных.
- В то время не было никаких полезных готовых инструментов для продолжения миграции базы данных, мы многое делали вручную.
- Проблемы с генераторами ссылок и SEO.
- После того, как мы перенесли веб-сайт с Magento 1 на Magento 2, оказалось, что в Magento 2 были абсолютно разные файлы / шаблоны тем по сравнению с предыдущей версией. Более того, тема Magento 1 была создана на заказ.
- Большинство разработанных плагинов не были готовы к новому Magento, на ранних стадиях было много критических ошибок. Например, взаимодействие плагинов с Magento изменилось, и нам пришлось перенастраивать плагины.
-
Из-за малого количества плагинов и их низкого качества нам пришлось самостоятельно разрабатывать пользовательский функционал. Например:
— скрипты для переноса статических блоков и страниц CMS,
— уникальная проверка “запрос предложения”, которая была адаптирована к новой версии,
— и многие другие второстепенные функции. - Регулярные обновления версий Magento необходимы для исправления новых неожиданных ошибок в Magento, потому что каждая новая версия значительно отличалась от предыдущей. Например, мы обнаружили ошибку, которая мешала нам добавлять продукты, редактировать атрибуты и SEO-дружественные URL-адреса.
- Плагин расширенных параметров для Magento 2 не смог перенести параметры и зависимости этих параметров. И нам пришлось ждать, пока разработчики плагинов адаптируют плагин для нового Magento.
- Параметры оформления заказа и продукта постоянно загружали нас работой, так как коммерческие плагины не были завершены и требовали исправлений с каждым новым обновлением Magento.
- Magento должен иметь хороший сервер со специальными настройками, и нам пришлось изменить его для веб-сайта Magento 2.
Конечно, решение проблем было не единственным, что мы сделали во время этой миграции. Мы также сделали адаптивный дизайн для веб-сайта, добавили новые функции и страницы, а также обновили стиль веб-сайта.
НАШИ ОШИБКИ
Да, мы совершали ошибки и признаем это. Самая главная ошибка заключалась в том, что мы не подождали пару лет, чтобы перенести сайт на более стабильную версию. До 2018 года Magento 2 был “сырым”. То же самое нужно было сделать и с плагинами — лучше было бы подождать, пока разработчики сами исправят ошибки. Но мы должны были продвигаться вперед. Мы сделали свою работу, и мы рады, что завершили эту сложную миграцию, несмотря на все трудности.
Результат
Крупный интернет-магазин электронной коммерции запущен и работает на Magento 2, который является более безопасным и современным. Веб-сайт работает лучше, имеет больше просмотров страниц каталога в час, его база данных улучшена, процесс оформления заказа оптимизирован и упрощен, панель администратора проще в использовании, платежные шлюзы более безопасны, хранение данных безопаснее, а удобство использования мобильных устройств находится на высоком уровне.
Команда разработчиков
Константин Давыдов, Сергей Пищанецкий, Дмитрий Арбузов, Сергей Бородич — front-end Адаптивное кодирование HTML / CSS / JS, разработка тем
Алексей Касимцев — хостинг, вопросы безопасности
Анатолий Григорян, Ольга Коржавина — управление проектом
Юрий Давыдов — юридическая поддержка
Со всей нашей командой можно познакомиться здесь.