Мы в Initlab занимаемся разработкой, улучшением, поддержкой, миграцией сайтов на Drupal и не только. В этом кейсе мы расскажем о том, как перенесли проект «Кабельщик» на Drupal 9, чем упростили внесение доработок, разработку новых функций и улучшили текущее состояние сайта.
Мы не устаём повторять: выжить на Drupal 7 или вообще на 6, как в случае нашего клиента, можно. Вопрос в том, собираетесь ли вы развивать проект. Как только речь заходит об апгрейде, остаётся только пожимать плечами. Шестой Drupal превратит час самой простой задачи в десять, а базовый функционал на такой старой версии доживает свои последние дни, т.к. большинство древних модулей никто не поддерживает и не обновляет. Это как чинить чихающие «Жигули»: ездить они будут, но подогрев сидения, автоблокировку дверей и другие технологические причуды к ним вряд ли прикрутишь. Да и насколько быстрыми и комфортными будут поездки тоже вопрос интересный.
Работа со старыми версиями дорожает во всех смыслах. Drupal 6 и 7 работает медленнее, что продлевает срок выполнения любой задачи. Может случиться так, что придётся платить за реализацию того, что уже готово и доступно в один клик на Drupal поновее. Безопасность неподдерживаемых версий также находится под угрозой, плюс, всё меньше разработчиков помнят, как с ними работать.
Можно сколько угодно плакать, плеваться, но не бросать кактус, а можно перейти на более современную версию Drupal, которая даст прирост производительности сайта, ускорит разработку и в перспективе сэкономит кучу времени и бюджета. Если для вас важно будущее вашего проекта, задумайтесь о переезде уже сейчас.
Мы занимаемся поддержкой этого проекта на Drupal 6 с 2017 года. С недавних пор у «Кабельщика» новое руководство, которое активно взялось за развитие сайта, решив продолжить работу с нами, как с давним партнером. Они обратились к нам с просьбой настроить мобильную версию, в рамках выполнения этой задачи мы погрузили их в контекст состояния проекта:
1) попытка реализовать мобильную версию провалилась ещё на стадии согласования — по самым смелым подсчётам это заняло бы от 50 часов;
2) даже если потратить 50 часов только по предварительному расчёту, не факт, что уйдёт именно столько и что всё будет работать стабильно;
3) помимо мобильной версии, нужно реализовать ряд задач, которые также займут много времени из-за устаревшей версии Drupal.
Мы составили сравнительную таблицу с количеством часов на планируемые задачи.
Миграция на Drupal более новой версии объективно даёт больше преимуществ по всем фронтам и выгодна не только в контексте одной задачи. Мы провели аудит и предложили девятую версию, т.к. не все старые модули успели адаптировать под десятую. В дальнейшем будет гораздо проще перейти на более новую версию, чтобы воспользоваться всеми её преимуществами.
Если суммировать, то переезд на Drupal 9 позволяет нам:
1) проще внедрять новые функции;
2) ускорить выполнение практически всех задач;
3) перенаправить бюджет с попыток разобраться, что вообще происходит, на на эффективное развитие проекта;
4) повысить стабильность и безопасность сайта;
5) расширить перспективы для дальнейшего улучшения.
В конечном итоге миграция оправдает себя неоднократно, это мы можем смело гарантировать. Теперь давайте погрузимся в ход работы над проектом.
Настроили миграцию большого количества контента. Специфика сайта в ежедневной генерации контента: новости, репортажи, статьи, блоги. При переезде мы настроили автоматическую миграцию тонн информации за все годы существования проекта.
Написали скрипт для корректного переноса изображений в статьях. На старой версии сайта во многих статьях были добавлены изображения с изменёнными параметрами. Чтобы картинка смотрелась лучше, ей прописывали ширину, высоту и обтекание. При миграции контента это стало проблемой, т.к. отформатировать всё вручную нереально, а если оставить как есть, нас ждут картинки на полэкрана и другие прелести неадаптивного контента. Наш специалист написал скрипт, который «очистил» все изображения от прописанного CSS для корректного отображения на новом сайте. Благодаря этому тысячи статей были перенесены без потерь и сизифова труда по ручному форматированию. А так как сайты на Drupal 9 гораздо адаптивнее, теперь изображения не придётся «подгонять» под формат страницы.
Старый вариант статьи с ручным прописыванием параметров
Автоматическое адаптирование картинки на Drupal 9 в той же статье
Обновили дизайн. Совместно с заказчиком изменили визуал главной и остальных страниц.
Старая версия главной
Новая версия главной
Изменили ширину страниц. Устаревшую узкую сетку из трёх колонок мы растянули, дабы сайт больше подходил под современные стандарты дизайна и лучше выглядел не только на десктопах, но и при мобильной адаптации.
Старая сетка
Новая сетка
Внедрили мобильную версию. Адаптивную, удобную, быструю.
Старая мобильная версия без адаптации под мобильные устройства
Адаптивная мобильная версия
Исправили проблему со слайд-шоу и загрузкой изображений. На старом сайте наблюдалась проблема с файловым сервером. Если упростить описание, то все загруженные изображения попадали в одну папку. При таком способе хранения возникает большая нагрузка, из-за чего невозможно было просто выбрать последнее загруженное изображение для баннера или слайд-шоу — всё висло и очень долго загружалось. Такой формат загрузки в корневую папку был обусловлен изначальным проектированием сайта на Drupal 6, которое, к сожалению, изменить мы не могли. С переездом на 9 версию даже не пришлось ничего менять — в ней по умолчанию создаются папки «год-месяц», где хранятся загруженные файлы. Это упрощает поиск и не так тормозит процесс работы.
Настроили рассылку при помощи Unisender. Рассылка с подборкой новостей — один из ключевых каналов «Кабельщика» для взаимодействия с аудиторией. Раньше письма уходили напрямую с сайта, что создавало дополнительную нагрузку и не давало никакой статистики по открытиям, доставке, переходам на сайт и другим параметрам. Мы настроили интеграцию с Unisender, что помогло решить эти проблемы.
Написали модуль для интеграции с EPG-сервисом. Интеграция была настроена на старом сайте, но нам понадобилось портировать модуль на Drupal 9, т.е. заново его написать. Он подтягивает информацию о телевизионных каналах со стороннего сайта: статистику, расписание, классификацию по жанрам и т.д.
Страница с интеграцией на старом сайте
Страница с интеграцией на новом сайте
Настроили маркировку рекламных статей. С сентября 2022 года в России заработал Единый реестр интернет-рекламы (ЕРИР), согласно правилам которого все рекламные материалы должны быть помечены специальными токенами, которые регистрируются в личном кабинете рекламодателя. Мы создали функционал, с помощью которого можно подставить специальный токен в нужное место рекламного баннера или статьи в соответствии с требованиями законодательства. О внедрении маркировки мы писали здесь.
Проект «Кабельщик» заметно посвежел, избавился от многих проблем и стал доступен с мобильных устройств. Помимо этого, его ждёт гармоничное развитие в будущем с куда меньшими затратами.
Переезд на новенький Drupal — это как переезд в квартиру мечты: всё новое, красивое, планировка удачнее и на коммуналку меньше уходит. Можно сколько угодно клеить обои на треснувшие стены, лучше не станет. Именно поэтому мы призываем всех владельцев «сайтов-динозавров» на шестёрке или семёрке крепко задуматься о переезде.