В данной статье материал был собран летом 2020 года, отчасти информация устарела. Но хотелось бы поделиться собранным опытом. Автор текста: Анатолий Ерофеев. Интернет-аптека — сложный технический проект. Для разработки и развития таких проектов требуется большая квалификация и, что немаловажно, большая команда. Такой проект не отдать фрилансеру. Мы пристально посмотрели на 7 крупных сайтов фарма-сферы и проанализировали, как они устроены внутри, чем они отличаются друг от друга и от обычных интернет-магазинов. Что же делает интернет-аптеку таким сложным проектом? Наш собственный опыт разработки и сопровождения подсказывает, что дело в следующем (в сравнении со средним интернет-магазином): в ~1000 раз больше товаров в ~100 раз больше пунктов самовывоза (аптек) в ~2 раза больше интеграций на сайте (и бог знает сколько в учетной системе) в ~2 раза больше серверов на 1 проект в ~10 раз выше требования к IQ поиска в ~24 раза чаще происходит обновление цен и остатков В интернет-магазине может быть 3 «уровня» каталога: категория (например, «Микроскопы», товар «Микроскоп Levenhuk Rainbow 50L PLUS» и конкретный SKU «Микроскоп Levenhuk Rainbow 50L PLUS Orange» за 11 900 рублей, которых осталось 20 штук. И эта иерархия отлично ложится на стандартную схему каталога в 1С-Битрикс: Управление сайтом: раздел каталога, товар, SKU. Но когда речь заходит о лекарствах, вариаций одного товара становится слишком много: отличаться может дозировка, форма выпуска, вкус и т.п. И нельзя забывать про различные модификации: «форте», «ультра», «лайт», «для детей». Это создает уже 4-уровневый каталог: категория (например, «От боли»), препарат («Нурофен»), товар («Нурофен экспресс форте 400мг 20 шт. капсулы»), SKU (упаковка в аптеке). Дополнительный уровень каталога и обширный перечень лекарств приводят к росту каталога — миллионы и десятки миллионов позиций. Вдобавок, это несколько ломает стандартные «уровни» каталога в БУСе: SKU остаются самими собой, а вот товары разделяются на два уровня. Иногда пользователь ищет препарат, иногда именно товар. И эту проблему как-то нужно решать (обычно в каталоге отображаются именно товары, а вот при поиске вылезают препараты). Интернет-магазины давно переложили проблемы доставки на ПЭК, СДЭК и Почту России и почти не занимаются этим сами. Но с аптеками все сложнее из-за законодательства. До апреля 2020 года онлайн-торговля лекарствами была запрещена и все, что можно сделать в интернет-аптеке: забронировать заказ и забрать самостоятельно с оплатой при получении. Каждая физическая аптека — пункт самовывоза, информацию о которой нужно хранить на сайте. Сейчас правила изменились. Возможность оплаты и доставки постепенно появляется у всех крупных игроков. Встречается 2 вида проектов: собственно, онлайн-аптека (представлен ассортимент одной аптеки или аптечной сети) и маркетплейс/агрегатор (представлен ассортимент нескольких аптечных сетей). Во втором случае каждую новую аптечную сеть требуется интегрировать отдельно. В идеальном мире у маркетплейса был бы единый API (или формат фида, как у Яндекс.Маркета), к которому подключались бы все партнеры. Но чем крупнее и старше аптечная сеть, тем труднее ей подстроиться под нужды каждого маркетплейса. Так что на практике чаще именно маркетплейс подстраивается под аптечную сеть, импортируя их остатки и цены в удобном для них формате. Прямое следствие большего объема данных. Один сервер не справится с такой нагрузкой. Важность поиска на сайте аптеки гораздо выше, чем у других интернет-магазинов: ну кто будет выбирать товар по классификатору, который на каждом сайте свой? Проще попытаться найти то, что написал в рецепте врач. Про почерк врачей сложено немало анекдотов, но чтобы правильно прочитать название какого-то антибиотика нужно чуть ли не медицинское образование. Названия сложные, много похожих. А ведь часто люди рекомендуют друг другу препараты по телефону… Две главных заповеди поиска на сайте интернет-аптеки: высокая скорость и умение прощать ошибки. Цены на лекарства могут изменяться по десять раз на дню. Как только в аптеке списали последнюю упаковку из старой партии, на сайте нужно опубликовать цену на товары из следующей. И так происходит постоянно, это почти непрерывный процесс, что усложняет кэширование данных. В то же время, без кэша с таким объемом данных никуда. Стандартные решения 1С-Битрикс: Управления сайтом, да и вообще любой CMS, тут не годятся, нужно разрабатывать что-то свое или принимать волевое решение «фиксировать цены на сайте». Сверим наши выводы с крупными проектами. Мы не принимали участия в создании ни одного из этих проектов, но занимаемся развитием одного из них. Беспристрастность гарантируем хотя бы потому, что наша цель не определить лидеров, а понять, каким должен быть современный сайт интернет-аптеки или маркетплейса лекарств. Мы выбрали 7 крупных проектов для сравнения: apteka.ru asna.ru eapteka.ru piluli.ru proapteka.ru vseapteki.ru zdravcity.ru В самый разгар исследования сайт apteka.ru решил обновиться. В исследовании приведены результаты старого сайта apteka.ru (новый, понятное дело, еще работает со странностями, и включать его в сравнение не имеет смысла). Функции 1. Сортировка товаров в каталоге Смотрели, по каким полям возможна сортировка в каталоге лекарств/препаратов. Два главных сценария: сортировка по цене (чтобы найти товар подешевле или напротив, отсеять подозрительно дешевые) и по отзывам/продажам. Проект Сортировка по цене Сортировка по рейтингу Остальные поля для сортировки apteka.ru Да Да Название asna.ru Нет* (в каталоге, в подборках товаров есть) Да Название eapteka.ru Да Да - piluli.ru Да Да - proapteka.ru Да Да Название vseapteki.ru Да Нет Название zdravcity.ru Да Да - Абсолютное большинство интернет-аптек в сравнении соблюдают эти правила. Из дополнительных сортировок — только «по названию», скорее дань традициям, чем реально используемая фишка. 2. Фильтрация товаров Проект Фильтрация по свойствам товара? Есть фильтрация по цене? apteka.ru Да, для каждого раздела свои поля Нет asna.ru Да, для каждого раздела свои поля Нет eapteka.ru Да, для каждого раздела свои поля Нет piluli.ru Да, для каждого раздела свои поля Да proapteka.ru Да, для каждого раздела свои поля Да vseapteki.ru Нет Нет zdravcity.ru Да, производитель Да Неожиданный вывод: не все интернет-аптеки дают отфильтровать товары по цене. У некоторых вовсе нет фильтра в каталоге. У нас есть только одно объяснение: сложность (а значит, и цена) такой фильтрации гораздо выше пользы. Напомним, что для сайта даже хранение постоянно обновляемых цен является нетривиальной задачей, и тем более фильтрация по ним. Отсутствие фильтрации по цене — неожиданное, но логичное явление для интернет-аптеки (особенно маркетплейса). 3. Geo IP Проект Волгоградский IP Угадал? apteka.ru Москва Нет asna.ru Москва и Московская область Нет eapteka.ru Москва и МО Нет piluli.ru Волгоград Да proapteka.ru Волгоград Да vseapteki.ru Волгоград Да zdravcity.ru Волгоградская область Да Все рассмотренные сайты пытаются угадать, откуда пришел посетитель. Очевидно, что некоторые делают это лучше, чем другие. С разных IP из Волгограда угадали наше местоположение только 4 из 7 сайтов. 4. Опечатки в поиске Одна из главных особенностей таких сайтов, о которой мы говорили раньше — действительно умный поиск. Понятно, что начать угадывать опечатки как это делают Google и Яндекс — невозможно. Но к этому надо стремиться. Ведь если посетитель не найдет лекарство через поиск на сайте, он, скорее всего, просто уйдет и уже может никогда не вернуться. Проект «Салподиин» Угадал? apteka.ru Товары (3) Да asna.ru По вашему запросу ничего не найдено Нет eapteka.ru По запросу «Салподиин» ничего не найдено Нет piluli.ru По вашему запросу ничего не найдено Нет proapteka.ru По вашему запросу «Салподиин» ничего не найдено Нет vseapteki.ru Найдено 4 результата. Да zdravcity.ru Результаты поиска «Салподиин» 0 результатов Нет 5. Отзывы и рейтинг Возможность оставить отзыв о товаре есть только у 4 сайтов из 7. Почему это есть не везде — загадка. Достаточно простыми способами можно повысить вовлеченность покупателей, предлагая бонусы за качественный контент. Вдобавок на сайте начинает считаться рейтинг товаров, что может быть важно для части целевой аудитории, которая привыкла полагаться на общее мнение. Проект Рейтинг и отзывы apteka.ru Нет asna.ru Да eapteka.ru Да piluli.ru Да proapteka.ru Нет vseapteki.ru Нет zdravcity.ru Да 6. Подбор аналогов / МНН Важная для магазина функция — помочь покупателю, даже если нужного ему товара нет на сайте. Для этого интернет-аптеки чаще чем другие магазины используют подбор аналогов. Эта функция может быть объединена с подбором препаратов по МНН (международное непатентованное наименование), а может быть и отделена от нее. У всех исследуемых сайтов есть хотя бы одна из этих функций, у 6 из 7 есть одновременно обе. Проект Подбор аналогов Поиск по МНН apteka.ru Есть, отдельная страница на сайте Да asna.ru Есть, отдельная страница на сайте Да eapteka.ru Есть, отдельная страница на сайте Да piluli.ru Есть, отдельная страница на сайте Да proapteka.ru Есть, на странице товара Да vseapteki.ru Есть, на странице товара Да zdravcity.ru Есть, отдельная страница на сайте Нет Бонус. Алфавитный указатель Проект Поиск по алфавиту apteka.ru Да asna.ru Да eapteka.ru Нет piluli.ru Да proapteka.ru Да vseapteki.ru Нет zdravcity.ru Да У 5 из 7 сайтов реализован раздел с подборками лекарств по алфавиту. Судя по косвенным признакам — это не самые популярные среди посетителей разделы и нужны исключительно для SEO или совсем уж отчаявшихся покупателей, которые из всего названия лекарства запомнили только одну первую букву. Наше мнение — алфавитный указатель сайту интернет-аптеки не нужен. Во всяком случае, точно не в шаблоне сайта. В крайнем случае — на странице поиска или отдельной. Лучше потратить лишние силы на умный поиск, чем создавать страницу, где выводится ~2000 названий препаратов. Размер и скорость страниц И несколько слов о технических параметрах сайтов. Мы посмотрели на самые важные страницы: главную, раздел каталога и детальную (взяли один и тот же НУРОФЕН ЭКСПРЕСС). Смотрели на размер страниц, время получение и оценку от сервиса Google PageSpeed . Результаты в таблицах ниже.  Главная Проект Получение html Вес, КБ PageSpeed (ПК) PageSpeed (mobile) apteka.ru 0,377 61,5 19 2 asna.ru 0,148 57,1 62 27 eapteka.ru 0,324 39,4 92 26 piluli.ru 0,279 26,1 75 29 proapteka.ru 0,229 21,6 85 53 vseapteki.ru 0,718 35,7 66 18 zdravcity.ru 0,496 58,1 59 23 Список товаров Проект Получение html Вес, КБ PageSpeed (ПК) PageSpeed (mobile) apteka.ru 0,59 53,9 36 2 asna.ru 0,554 30,8 62 22 eapteka.ru 0,446 46,6 78 29 piluli.ru 0,384 44,3 58 23 proapteka.ru 0,253 23,6 85 49 vseapteki.ru 0,67 35,2 73 25 zdravcity.ru 1,11 81,4 63 18 Детальная товара Проект Получение html Вес, КБ PageSpeed (ПК) PageSpeed (mobile) apteka.ru 0,574 63,5 31 5 asna.ru 0,172 33,8 54 26 eapteka.ru 0,34 62 69 19 piluli.ru 1,298 79,4 37 21 proapteka.ru 0,864 20 96 69 vseapteki.ru 0,966 52,7 70 16 zdravcity.ru 1,34 93 29 11 Не комментируя выводы по конкретным проектам, призываем увидеть картину в целом. На рынке сосуществуют проекты самого разного уровня. Пока что сосуществуют. В то же время видно, что одни компании вкладываются в оптимизацию больше, чем другие — значит, они верят в это направление или даже уже ощущают пользу от инвестиций в техническое совершенствование сайта. Интернет-аптеки занимает пограничное положение между массовыми интернет-магазинами и личными кабинетами с индивидуальной интеграцией . У них уже устоявшаяся архитектура, своя терминология и свои best practice. Руководитель ИТ-компании ИНТЕРВОЛГА