Разработка производительного сайта с большим каталогов для компании "Элком-Электро"

Задача

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

Проблемы и их решение

Проблемы с инфраструктурой

Компания Элком-Электро — один из лидеров дистрибуции кабельной и электротехнической продукции в РФ. Компания работает с 1992 года и хорошо себя зарекомендовала, но на момент обращения к нам имела проблемы с сайтом и актуализацией на нем информации, взаимодействие с 1С практически отсутствовало, не было удобной возможности осуществить заказ товаров онлайн, учитывая тот факт, что наличие товаров на складах компании постоянно меняется, для заказа клиентам приходилось обращаться к менеджеру, что в свою очередь вызывало чрезмерную нагрузку на персонал. Необходимо было не просто разработать сайт, но и сделать обмен данными между сайтом и учетными системами «близким к мгновенному», что учитывая объем товаров (порядка 500 000), вызывало не мало сложностей как на стороне 1С так и на стороне сайта.

bd8bc54844fb8ca7b692d83f8cb004f4.png

Проблемы с быстродействием и архитектурой проекта

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

Так же на этапе проектирования было выяснено, что не все данные по товарам будут браться только из 1С, но и есть пожелание подтягивать их из другой системы (что на наш взгляд не верно, но заказчик категорически отказался менять архитектуру взаимодействия систем), что серьезно усложняло процесс интеграции, общий объем свойств товаров был более 10 000 характеристик, так же клиент попросил применять в фильтре большое количество характеристик товаров, что кратно увеличивало нагрузку на сервер.

5ebbd424e7eca1735e936d7aa4a3cc27.png

В результате, чтобы взаимодействие проходило быстро нами была полностью переписана логика интеграции сайта с 1С, скорость обмена данными увеличилась с 26 часов при полном обмене до 1–2 часов. Для ускорения работы сайта нам пришлось использовать кеширование (создание копий страниц сайта в формате HTML, чтобы не нагружать сервер) и фасетный индекс (модуль битрикса который позволяет заранее создавать комбинации ответа сервера на любую комбинацию выбранную в фильтре). И кеширование и фасетный индекс нам пришлось серьезно переработать, в случае со вторым, по сути написать заново. После переработки этих модулей, кеш для определенных страниц обновлялся после того, как проходила выгрузка, то же происходило и с фасетным индексом, по сути каждый раз его приходилось обновлять полностью после проведения даже мелких изменений в каталоге, но время его создания было слишком большим, тогда мы написали модуль, который, исходя из объема изменений, сам понимал, что правильнее обновить весь фасетный индекс, или необходимо только внести в него изменения и какие именно.

Результатом этого стало ускорение загрузки отдельных разделов каталога с 20 секунд до 0,5–1 секунды.

Показатели ДО:

8e75e3a4d9f01ebc090a00c5bb7d33f2.png

a32ee17f50d77e93841051ccade31149.png

Показатели ПОСЛЕ:

3a5dc859fcef128dc30a084c09e6060c.png

8c62b10697c5aa9d421a10bd99455562.png

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

Целесообразность наличия тех или иных элементов на страницах (к примеру,   слайдер на главной и его внешний вид) было проверено при помощи простого A/B тестирования.

d423212a92271c60126a16931bb5aa92.png

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

ce7c2611b019acf1c07d1aef37ebd7ef.png

cb3bb51fe974acf97afe2d8df3a8f1f2.png

d22613ef6d04239acc56a937354be0c1.png

Внешний вид основных страниц сайта:

317d4123222e24a00b3268a3fa730166.png

81a230e3ae761d14b8378796728bd741.png

2469505114c878d44dd8d7af63205069.png

Итогами нашей работы, помимо быстрого и удобного сервиса для осуществления продаж, стало и пятикратное увеличение объема трафика на сайт клиента, благодаря разработке нового оптимизированного каталога товаров.

Перейти на сайт

Полный текст статьи читайте на CMS Magazine