Кейс: апгрейд и миграция на Drupal 9 сайта «Кабельщик»

Konstantin-Prozorov

Прозоров Константин

обложка кейса «Кабельщик»

Кейс: апгрейд и миграция на Drupal 9 сайта «Кабельщик»

Мы в Initlab занимаемся разработкой, улучшением, поддержкой, миграцией сайтов на Drupal и не только. В этом кейсе мы расскажем о том, как перенесли проект «Кабельщик» на Drupal 9, чем упростили внесение доработок, разработку новых функций и улучшили текущее состояние сайта.

Задача. Клиент обратился за мобильной версией и ещё рядом задач. Мы предложили перенести проект на более новую версию Drupal, что в разы ускорит и удешевит поддержку и обновление проекта.

Специфика бизнеса клиента. Ресурс посвящён рынку платного телевидения: актуальные новости, отраслевые мероприятия, мнения экспертов, аналитика и т.д. Площадка создана для общения профессионалов индустрии, обмена опытом и получения регулярного новостного дайджеста.

Обновление Drupal: очевидные плюсы и выгоды

Мы не устаём повторять: выжить на Drupal 7 или вообще на 6, как в случае нашего клиента, можно. Вопрос в том, собираетесь ли вы развивать проект. Как только речь заходит об апгрейде, остаётся только пожимать плечами. Шестой Drupal превратит час самой простой задачи в десять, а базовый функционал на такой старой версии доживает свои последние дни, т.к. большинство древних модулей никто не поддерживает и не обновляет. Это как чинить чихающие «Жигули»: ездить они будут, но подогрев сидения, автоблокировку дверей и другие технологические причуды к ним вряд ли прикрутишь. Да и насколько быстрыми и комфортными будут поездки тоже вопрос интересный.

Работа со старыми версиями дорожает во всех смыслах. Drupal 6 и 7 работает медленнее, что продлевает срок выполнения любой задачи. Может случиться так, что придётся платить за реализацию того, что уже готово и доступно в один клик на Drupal поновее. Безопасность неподдерживаемых версий также находится под угрозой, плюс, всё меньше разработчиков помнят, как с ними работать.

Можно сколько угодно плакать, плеваться, но не бросать кактус, а можно перейти на более современную версию Drupal, которая даст прирост производительности сайта, ускорит разработку и в перспективе сэкономит кучу времени и бюджета. Если для вас важно будущее вашего проекта, задумайтесь о переезде уже сейчас.

Задача

Мы занимаемся поддержкой этого проекта на Drupal 6 с 2017 года. С недавних пор у «Кабельщика» новое руководство, которое активно взялось за развите сайта, решив продолжить работу с нами, как с давним партнером. Они обратились к нам с просьбой настроить мобильную версию, в рамках выполнения этой задачи мы погрузили их в контекст состояния проекта:

  • попытка реализовать мобильную версию провалилась ещё на стадии согласования — по самым смелым подсчётам это заняло бы от 50 часов;
  • даже если потратить 50 часов только по предварительному расчёту, не факт, что уйдёт именно столько и что всё будет работать стабильно;
  • помимо мобильной версии, нужно реализовать ряд задач, которые также займут много времени из-за устаревшей версии Drupal.

Мы составили сравнительную таблицу с количеством часов на планируемые задачи.

 
сравнительная таблица
 

Миграция на Drupal более новой версии объективно даёт больше преимуществ по всем фронтам и выгодна не только в контексте одной задачи. Мы провели аудит и предложили девятую версию, т.к. не все старые модули успели адаптировать под десятую. В дальнейшем будет гораздо проще перейти на более новую версию, чтобы воспользоваться всеми её преимуществами.

Если суммировать, то переезд на Drupal 9 позволяет нам:

  • проще внедрять новые функции;
  • ускорить выполнение практически всех задач;
  • перенаправить бюджет с попыток разобраться, что вообще происходит, на на эффективное развитие проекта;
  • повысить стабильность и безопасность сайта;
  • расширить перспективы для дальнейшего улучшения.

В конечном итоге миграция оправдает себя неоднократно, это мы можем смело гарантировать. Теперь давайте погрузимся в ход работы над проектом.

Проведённые работы

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

Написали скрипт для корректного переноса изображений в статьях. На старой версии сайта во многих статьях были добавлены изображения с изменёнными параметрами. Чтобы картинка смотрелась лучше, ей прописывали ширину, высоту и обтекание. При миграции контента это стало проблемой, т.к. отформатировать всё вручную нереально, а если оставить как есть, нас ждут картинки на пол-экрана и другие прелести неадаптивного контента. Наш специалист написал скрипт, который «очистил» все изображения от прописанного CSS для корректного отображения на новом сайте. Благодаря этому тысячи статей были перенесены без потерь и сизифова труда по ручному форматированию. А так как сайты на Drupal 9 гораздо адаптивнее, теперь изображения не придётся «подгонять» под формат страницы.

 
корректыный перенос изображений в статьях старый вариант
Старый вариант статьи с ручным прописыванием параметров
 
корректыный перенос изображений в статьях новый вариант
Автоматическое адаптирование картинки на Drupal 9 в той же статье
 

Обновили дизайн. Совместно с заказчиком изменили визуал главной и остальных страниц.

 
Обновление дизайна старый вариант главной страницы
Старая версия главной
 
Обновление дизайна новый вариант главной страницы
Новая версия главной
 

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

 
обновление сетки старый вариант
Старая сетка
 
обновление сетки новый вариант
Новая сетка
 

Внедрили мобильную версию. Адаптивную, удобную, быструю.

 
мобильная версия старый вариант
Старая мобильная версия без адаптации под мобильные устройства
 
мобильная версия новый вариант
Адаптивная мобильная версия
 

Исправили проблему со слайд-шоу и загрузкой изображений. На старом сайте наблюдалась проблема с файловым сервером. Если упростить описание, то все загруженные изображения попадали в одну папку. При таком способе хранения возникает большая нагрузка, из-за чего невозможно было просто выбрать последнее загруженное изображение для баннера или слайд-шоу — всё висло и очень долго загружалось. Такой формат загрузки в корневую папку был обусловлен изначальным проектированием сайта на Drupal 6, которое, к сожалению, изменить мы не могли. С переездом на 9 версию даже не пришлось ничего менять — в ней по умолчанию создаются папки «год-месяц», где хранятся загруженные файлы. Это упрощает поиск и не так тормозит процесс работы.

Настроили рассылку при помощи Unisender. Рассылка с подборкой новостей — один из ключевых каналов «Кабельщика» для взаимодействия с аудиторией. Раньше письма уходили напрямую с сайта, что создавало дополнительную нагрузку и не давало никакой статистики по открытиям, доставке, переходам на сайт и другим параметрам. Мы настроили интеграцию с Unisender, что помогло решить эти проблемы. О плюсах взаимодействия сайтов на Drupal с Unisender мы писали здесь.

Написали модуль для интеграции с EPG-сервисом. Интеграция была настроена на старом сайте, но нам понадобилось портировать модуль на Drupal 9, т.е. заново его написать. Он подтягивает информацию о телевизионных каналах со стороннего сайта: статистику, расписание, классификацию по жанрам и т.д.

 
страница интеграции старый вариант
страница с интеграцией на старом сайте
 
страница интеграции новый вариант
страница с интеграцией на новом сайте
 

Настроили маркировку рекламных статей. С сентября 2022 года в России заработал Единый реестр интернет-рекламы (ЕРИР), согласно правилам которого все рекламные материалы должны быть помечены специальными токенами, которые регистрируются в личном кабинете рекламодателя. Мы создали функционал, с помощью которого можно подставить специальный токен в нужное место рекламного баннера или статьи в соответствии с требованиями законодательства. О внедрении маркировки мы писали здесь.

Итоги переезда: улучшенный сайт, экономия, перспективы развития

Проект «Кабельщик» заметно посвежел, избавился от многих проблем и стал доступен с мобильных устройств. Помимо этого, его ждёт гармоничное развитие в будущем с куда меньшими затратами.

Переезд на новенький Drupal — это как переезд в квартиру мечты: всё новое, красивое, планировка удачнее и на коммуналку меньше уходит. Можно сколько угодно клеить обои на треснувшие стены, лучше не станет. Именно поэтому мы призываем всех владельцев «сайтов-динозавров» на шестёрке или семёрке крепко задуматься о переезде.

Initlab с радостью поможет вам с миграцией и обновлением сайта на Drupal.