Содержание
[NEW 2021] Как добавить товар на витрину маркетплейса Wildberries – пошаговая инструкция для новичков на Вайлдберриз – Урок 3
Загружать товары можно двумя способами:
- В вашем личном кабинете поставщика, который вам активировали после регистрации.
- С помощью интерфейса автоматического обмена данными – API.
Второй способ более удобный, но не рекомендуется для новичков.
Если вы не программист, не готовы платить деньги специалистам и вы только стартуете первые продажи – работайте с помощью личного кабинета или воспользуйтесь готовой системой MPsklad для автоматизированного управления остатками на Wildberries по API.
Вне зависимости от выбранной схемы работы (FBW или FBS) вы создаете для товара одну карточку и можете продавать эту продукцию как со своего склада, так и склада Wildberries. При этом в первую очередь заказы будут резервироваться со склада маркетплейса, а когда этот товар на складе Wildberries закончится – продажи пойдут уже с вашего склада.
Как загрузить карточку товара (которая на маркетплейсе называется «спецификацией»), можно узнать из подробной обновляемой инструкции на портале поставщика в разделе «Инструкции».
В личном кабинете нужно выбирать «Товары», зайти в «Спецификация» и нажать кнопку «Добавить товар» и создать карточку товара (с 23 марта 2021 маркетплейс добавил возможность массового добавления товаров).
Нажмите «Выбрать предмет» и введите его название, например, «трусы женские».
Заполните все поля. После того как вы уже выбирали на первом шаге товар и поставщика, вы уже знаете страну производителя. При заполнении поля «Артикул поставщика» можете записать любое название, например: «005».
В поле название бренда нужно написать название вашего нового бренда. Важно, чтобы такого названия не было на маркетплейсе.
Выбираете пол покупателя товара, указываете материал, комплектацию (трусы женские; упаковка).
Прописываете цифру, которая будет отвечать за цвет товара, указанного в карточке. Этот блок позволяет создать до 50 номенклатур цвета в одной карточке товара, для этого достаточно нажать на кнопку «Добавить цвет» и заполнить соответствующие поля.
Генерируете штрихкод товара – это очень важный параметр, вокруг которого построена вся экосистема маркетплейса. Именно этот код потом нужно будет напечатать на принтере и наклеить на товары/упаковку перед отправкой.
Указывайте коллекцию, например, «Весна-Лето 2021» – тогда вы сможете участвовать в акциях распродажах от Вайлдберриз. А это большой плюс в плане дополнительного продвижения и величины комиссии в период проведения акции.
Добавляете 3-4 фотографии. Вы можете сами сделать фото товара на белом фоне после поступления первой партии от поставщика. Но главная картинка, которая будет лицом вашей карточки требует обязательной доработки в фоторедакторе. Посмотрите, как эту картинку оформляют другие продавцы.
В идеале она должна привлекать внимание покупателя при первом взгляде среди множества других картинок. Возможно, для этого нужно будет разместить фото вашего товара на каком-то контрастном фоне, добавить надпись, которая сразу раскрывает характеристики товара и т.п. Здесь придется экспериментировать, и со временем вы научитесь делать изображения для карточек с высокой кликабельностью.
С полной инструкцией от маркетплейса вы можете ознакомиться по ссылке.
При установке розничной цены нужно поставить «большую» цену. Именно для нее вы потом в любой момент сделаете скидки или добавите промокоды в разделе «Цены и скидки», чтобы ваше ценовое предложение стало не только доступным, но выглядело максимально привлекательно.
Это не только проверенный маркетинговый ход, потому что скидки любят все. И со скидкой всегда продается лучше, чем без нее. А с большой скидкой – ещё лучше! И самое приятное – это позволит вам попасть в максимальное количество акций от самого маркетплейса.
Далее заполняете описание товара. Текст должен привлекательно раскрывать характеристики и преимущества вашего товара. Не копируйте описания у других продавцов, но при составлении своего используйте в качестве шаблона наиболее понравившиеся вам примеры. Также при составлении описания также используйте ключевые слова, которые можно взять из сервиса Яндекс.Вордстат.
Карточка товара на Wildberries: способы создания, оформления
Маркетинг • 17 марта 2023 • 5 мин чтения
Чтобы товар на маркетплейсе лучше продавался, нужно грамотно составить карточку товара. Разбираемся с ключевыми словами, артикулами, инфографикой, ценой и оптимизацией.
- Как создать карточки на Wildberries
- Заполнение карточки товаров
- Как изменить карточку товара
- Оптимизация карточки на Wildberries
- Способы удаления карточки товара
- Советы эксперта по созданию продающей карточки товара
Как создать карточки на Wildberries
Карточка товара на Вайлдберриз презентует и продвигает продукт и бренд, поэтому в ней нужно подробно указывать всё, что покупатели должны знать о товаре. Чтобы создать карточку товара, нужно зайти в личный профиль продавца на «WB Партнёры» → раздел «Товары» → блок «Карточки товаров» → «Добавить».
На маркетплейс можно загрузить один товар или сразу несколько
Создать карточку товара на Вайлдберриз можно двумя способами:
● Самостоятельно. «Добавить» → «Один товар» → «Создать новый товар». Платформа предложит добавить фото, видео и описание товара.
● На основе созданной карточки. «Добавить» → «Один товар» → «Импортировать товар с Wildberries». Чтобы отобразить готовое описание, нужно ввести артикул товара с Wildberries и выбрать найденный товар. В его карточке уже базово заполнены все пункты, их можно редактировать, менять ключевые слова, загружать свои медиафайлы.
Самостоятельное оформление карточек на Вайлдберриз используют, чтобы добавить товар, который на маркетплейсе ещё не продавался. Если товар уже представлен у других продавцов, можно брать за основу их карточки
Если товары однотипные и их много — например, смартфоны одной модели, но с разным объёмом памяти, нужно выбрать «Добавить» → «Много товаров» и написать категорию. Открывшуюся таблицу выгрузить в Excel и заполнить. В графу «Медиафайлы» вставить ссылки на облачные хранилища, где лежат фото и видео. Затем загрузить таблицу на сайт — кнопка «Excel» → «Загрузить из Excel».
Когда таблица из Excel подгрузится на маркетплейс, нужно нажать кнопку «Сохранить»
Если товары отличаются несколькими значимыми характеристиками, массово их загрузить не получится. Продавцы, у которых много товарных единиц, обычно их группируют — например, сначала загружают джинсы, затем юбки, потом свитшоты.
На курсе «Менеджер маркетплейсов» студенты учатся исследовать популярные ниши товаров, настраивать рекламу, вести отчётность и оформлять продающие карточки — в том числе изучают, как заполнять карточки на Вайлдберриз.
Управляйте показателями бизнеса на маркетплейсе
Научитесь делать заметными товары, которые делают жизнь людей проще. Начните с бесплатной вводной части курса «Менеджер маркетплейсов».
Заполнение карточки товаров
Подготовить карточку к работе можно в три шага:
1. Заполнить обязательные пункты: «Название товара», «Бренд», «Категория», «Параметры упаковки».
2. Заполнить характеристики товара, загрузить фото и видео.
3. Проверить, как карточка отображается в поиске. Если она находится дальше второй страницы, нужно добавить ключевые слова из популярных запросов. Это поднимет её в поисковой выдаче.
Wildberries показывает товары на основе формулы ранжирования — это математическая формула, которая учитывает несколько параметров и на их основе определяет, на какое место в поиске поставить товар. Среди параметров:
● популярность товара у пользователей;
● частота покупки и количество продаж;
● релевантность цены;
● насколько подробно заполнена карточка.
Чем подробнее карточка и чем точнее она отражает популярные запросы, тем чаще потребители покупают товар и тем выше он отображается в поиске.
Базовые блоки карточки для Вайлдберриз — галерея медиафайлов, характеристики и описание товара, цена
Описание товара
Менеджер выбирает предметную категорию товара, и система предлагает составить его описание из определённых пунктов. Для каждой категории они будут свои. Например, для одежды это данные о ткани, размерах, цветах, наличии принтов, типе карманов. Для электроники — информация об операционной системе, объёме памяти, разрешении камеры, диагонали экрана.
Поля со значком 🔥 нужно заполнить обязательно, остальные параметры ― по желанию
Чтобы товар находился на первых страницах поисковой выдачи, нужно заполнить максимальное количество пунктов в категории.
Наименование должно отражать, что ищет пользователь на маркетплейсе, в нём должно быть не больше 60 символов. Если в наименовании товара будут повторяющиеся слова, платформа автоматически их удалит. Например, название «Платье женское платье с рисунком платье белое» сократится до «Платье женское с рисунком белое».
Бренд должен быть указан в соответствии с маркировкой товара. Если бренда нет, то в этом поле нужно написать «Нет бренда». В тексте нельзя использовать значок номера (№ 1), слеши (/), название категории товара и название ИП.
Описание — текст, объёмом до 5 000 символов, в котором рассказывается о материале, составе, комплектации, преимуществах товара. Часто в описании указывают сопутствующие товары и добавляют их артикулы. Например, рубашку или футболку — для юбки, наушники или чехол — для смартфона. В конце можно добавить фразу «Нас ищут» и разместить самые популярные запросы пользователей.
В описании смартфона можно не только указать технические преимущества модели, но и обратиться к эмоциям покупателя и показать, как изменится его жизнь после покупки
Артикул WB, артикул продавца и баркод. Каждому товару Вайлдберриз присваивает номер — это артикул WB. Артикул продавца — номер, который продавец самостоятельно задаёт каждому товару. Его название может быть любым, главное, чтобы оно было уникальным в рамках всего ассортимента. В баркоде хранится информация о товаре, продавце и покупателе. С его помощью проще принять товар на склад маркетплейса и передать в пункт самовывоза, также по баркоду клиент получает заказ.
Баркоды можно сгенерировать в момент создания карточек на Вайлдберриз. На дорогую электронику, например на смартфоны, баркоды создаются производителем автоматически
Контент для карточки (фото, видео, инфографика)
Чем больше в карточке товара полезного визуального контента, тем лучше и для покупателя, и для продавца. Клиент получает полную информацию о продукте, а товары отображаются на первых страницах поиска. Поэтому в карточках товара часто добавляют инфографику, видео и фотографии.
Инфографика. Чтобы выделиться среди конкурентов, эксперты по продвижению на маркетплейсах советуют делать инфографику — подписи поверх изображения, которые кратко рассказывают о преимуществах товара, его составе, технических параметрах, расцветках. Главное — не перегрузить макет обилием элементов и яркими цветами. Изображение с инфографикой лучше ставить на заглавную картинку в карточке.
Если сравнить варианты, которые выпали по запросу «пуховики», заметно, что картинки с инфографикой выглядят более привлекательно
В визуальный контент для карточки можно добавлять сертификаты, лицензии, особенно если это косметическая продукция или техника. Приветствуются размерные таблицы, инструкции о том, как вернуть товар, если на нём брак, контакты продавца для обратной связи. А также рекламные изображения, в которых покупателю предлагают посмотреть другие товары бренда на маркетплейсе.
Продавец создал схему, как можно получить ответы на вопросы о качестве товара и доставке. И отдельной картинкой рассказал, как покупатель может ознакомиться со всем ассортиментом
Продавцы уходовой косметики часто показывают результаты «до» и «после» и прикладывают отзывы покупателей
Фото и видео. Покупая через интернет, потребитель не может потрогать или примерить товар, поэтому его нужно показывать как можно подробнее. Например, продавец платьев с помощью фото и видео может показать фактуру ткани, детали кроя, фурнитуру, как оно выглядит на модели.
Технические требования к фото и видео:
● в среднем 8–10 изображений в карточке, максимум — 30;
● соотношение сторон фото — 3:4;
● оптимальное разрешение для фото — 900х1200 px;
● формат для фото — JPG или PNG;
● 1 видео в карточке;
● размер видео — не более 50 Мб;
● длина ролика — не более 3 минут;
● формат для видео — MOV, MP4.
Цена товара
Цена на товар устанавливается на основе рекомендованной розничной цены (РРЦ). Она включает в себя основные предпринимательские расходы: налоги, аренду, рекламу, фонд оплаты труда и норму прибыли.
В стоимость товара на маркетплейсе продавцы включают:
● себестоимость товара;
● норму прибыли;
● комиссию маркетплейса на ту категорию, в которой размещается продукция;
● расходы на доставку до склада маркетплейса;
● расходы на хранение на складе маркетплейса;
● расходы маркетплейса на обработку и приёмку заказа.
Также необходимо предусмотреть запас цены для предоставления скидок и отследить цены конкурентов — они не должны быть ниже.
Чтобы правильно установить цену на товар и остаться в плюсе, продавец должен разбираться в юнит-экономике и уметь рассчитывать LTV. С его помощью оценивают прибыль от отношений с клиентом от момента, когда он увидел рекламу, до момента, когда совершил последнюю покупку.
Подробнее о юнит-экономике на Вайлдберриз можно почитать в разделе «Информация» → «Инструкции» и в разделе «Аналитика» → «Комиссия и тарифы на услуги».
Цена во время промоакций
У Вайлдберриз есть календарь промоактивностей, в которых продавцам желательно участвовать, — это повышает товар в поисковой выдаче и делает его более привлекательным для потребителей. Основные промоакции:
● «Киберпонедельник»,
● 23 февраля,
● 8 Марта,
● Новый год,
● 11.11 — Всемирный день шопинга,
● «Снова в школу»,
● «Чёрная пятница».
В календаре промоактивностей указано, с какого числа начинается каждая акция. Так можно заранее рассчитать цену со скидкой и запустить рекламу, чтобы привлечь больше клиентов и окупить снижение цены количеством заказов
Иногда маркетплейс даёт на товар скидку постоянного покупателя (СПП). Она рассчитывается на основе рейтинга товара. Расходы на СПП берёт на себя маркетплейс — это значит, что продавец получает прибыль с цены без этой скидки.
Дополнительная выгода от участия в акциях в том, что WB снижает комиссию продавца на период её проведения. Комиссия — это процент, который маркетплейс получает от продажи. Например, если регулярная комиссия на одежду — 15%, во время акции она будет 5%.
Как изменить карточку товара
Менять описание товара, фото и видео, добавлять новые расцветки можно в любой момент, даже когда по карточке идут продажи.
Чтобы отредактировать карточку, нужно открыть окно «Карточки товаров», выбрать товар и внести изменения
Для редактирования нескольких карточек нужно воспользоваться шаблоном, который подготовил маркетплейс: «Карточки товаров» → «Добавить» → «Редактирование карточек» → «Скачать шаблон» → «Загрузить».
Оптимизация карточки на Wildberries
Просто создать карточку недостаточно, её нужно постоянно улучшать и следить за тем, как изменения отражаются на продажах. Среди инструментов для оптимизации карточки Wildberries — аналитика маркетплейса, работа с SEO, обработка отзывов и объединение карточек товаров.
Аналитика
У маркетплейса есть свои ресурсы аналитики, которые помогают лучше понимать предпочтения покупателей. Например, блоки «Что продавать на Wildberries» и «Популярные запросы» в разделе «Аналитика».
«Что продавать на Wildberries» — блок показывает дефицит товара на маркетплейсе: запросы, по которым покупатели не нашли нужный продукт.
«Популярные запросы» — блок показывает, что чаще всего пользователи искали за последнее время. Формулировки из запросов нужно использовать при создании названия товара, описания и дальнейшей SEO-оптимизации.
Подробный отчёт по популярным запросам на Вайлдберриз выгружается в Excel
SEO-оптимизация
Можно оформить карточку по всем правилам, но не учесть главного — ключевых слов, по которым пользователи ищут товары. Чтобы работа с SEO была эффективной, менеджеру нужно придерживаться следующих шагов:
1. Попробовать найти товар в поиске. Посмотреть на карточку глазами покупателя ― написать запрос в поиске, найти товар, проверить внешний вид карточки.
2. Собрать список запросов в Яндекс Вордстат. Сервис покажет расширенный список запросов, которые делают пользователи через поисковую систему Яндекса. Их нужно включить в описание товара.
3. Изучить карточки конкурентов. Посмотреть, как конкуренты представляют свой товар, какой подбирают визуальный контент, какие ключевые запросы включают в название и описание.
4. Оформить карточку с учётом контекста. Ключевые слова нужно добавлять в название, характеристики, описание. При этом они должны быть гармонично вписаны в основной текст.
Работа с отзывами
После создания карточек на Wildberries продавцу нужно позаботиться о положительных отзывах на товар. Нужно быстро и полно отвечать на комментарии и вопросы покупателей, обрабатывать негатив, вместе с клиентом решать спорные вопросы.
Отвечать на положительные отзывы от лица бренда тоже стоит — это увеличивает лояльность клиентов
Обычно пользователи WB смотрят отзывы и фото других покупателей во время выбора товара. Даже при отлично заполненной карточке есть риск, что клиент ничего не купит, если увидит негативные отзывы или вопросы клиентов, на которые продавец не ответил.
Объединение карточек
Карточки с похожими товарами можно объединять в одну по цветам, принтам или размерам. Например, футболка может быть представлена в карточке товара в трёх цветах: чёрном, белом и сером, и двух размерах: XS/S и M/L. Это одна общая карточка, а не шесть разных. Это структурирует информацию о товарах и улучшает ранжирование товаров в поиске.
Создать одну карточку с выбором товаров быстрее и проще, чем делать отдельные карточки на каждый
Польза от объединения в том, что на каждый товар распространяется общий рейтинг и отзывы. Так можно вывести в топ сразу несколько артикулов.
Способы удаления карточки товара
Чтобы навсегда удалить карточки товара на Wildberries, в каталоге «Карточки товаров» нужно отметить позиции для удаления и нажать на иконку корзины справа.
Перед удалением товара нужно проверить, остался ли он на складе маркетплейса ― придётся платить за его хранение, даже если карточка удалена
Если нужно временно удалить товар, достаточно убрать из карточки фото и видео. Товары без медиафайлов на маркетплейсе не отображаются. Но нужно учитывать, что на время удаления у карточки упадёт рейтинг и в поисковой выдаче она станет ниже.
Советы эксперта по созданию продающей карточки товара
Наталья Очирова
1. Без ошибок указывать баркоды, артикулы товара и продавца. Нужно фиксировать все производственные номера, чтобы не было путаницы при обработке заказов и аналитике. После создания карточки товара изменить артикулы невозможно.
2. Быть честным. Не продавать товар, выдавая его за другой, не демпинговать цены, указывать реальные параметры упаковки. У Wildberries есть правила, которые нельзя нарушать. Иначе платформа заблокирует не только товар, но и продавца.
3. Следить за обновлениями. Продажи через маркетплейсы сейчас на пике, платформы быстро меняются, поэтому нужно быть в курсе всех новостей и следить за информацией о создании карточек товара на Вайлдберриз, ценообразовании и оптимизации.
4. Постоянно оптимизировать карточки Вайлдберриз. Менеджер должен использовать разные подходы: менять текст в описании и названии, создавать новые изображения и видео, изучать отчёты маркетплейса. Главное — фиксировать результаты после изменений, только так можно удерживать товары в топе поисковой выдачи.
Статью подготовили:
Наталья Очирова
Яндекс Практикум
Программный менеджер курса «Менеджер маркетплейсов»,
E-commerce директор Infinix Mobility
Василина Пожидаева
Яндекс Практикум
Редактор
Анастасия Павлова
Яндекс Практикум
Иллюстратор
Поделиться
Читать также:
Будущее продаж: кто такой менеджер маркетплейсов и чем он занимается
Читать статью
Зачем на самом деле нужны отзывы в интернете: как работает SERM
Читать статью
Учитесь на майских и получайте скидку 7%. Пройдите первый бесплатный урок с 1 по 14 мая и получите промокод на скидку.
Как создать маркетплейс, который не будет уступать Wildberries? | by dev.
family
Чтение: 17 мин.
·
8 февраля 2022 г.
В то время как маркетплейсы захватывают мир, а Wildberries сообщает об увеличении оборота на 96% в 2020 году — до 437,2 млрд рублей, мы, разработчики ищут способы заставить эти торговые площадки обрабатывать запросы за миллисекунды и мгновенно масштабироваться.
В этой статье я расскажу о своем опыте работы с высоконагруженным проектом, с которым сотрудничаю почти 2 года. Я решил сделать обзор только нескольких моментов, которые я считаю действительно крутыми.
Одной из задач было сделать скорость работы сайта сопоставимой с общепризнанными тенденциями. Мы изучили опыт Ozon, Wildberries, Lamoda, чтобы найти оптимальное архитектурное решение и базы данных, создать универсальные конструкторы и выстроить общую логику с приложением.
В Озоне действительно все продумано, но скорость отклика не такая быстрая. У Lamoda классный дизайн, но он не идеален в плане скорости, а Wildberries показывает лучшую производительность по сравнению с другими. Поэтому мы ставим перед собой цель достичь именно их уровня по скорости работы. Жаль, что разработчики Wildberries мало что рассказывают, так что если кто-то из них читает эту статью, поделитесь своим опытом. Думаю всем будет очень интересно.
Ниже я расскажу, какие универсальные решения для разных задач мы нашли с нашей командой в процессе. Новый сайт проекта готовится к релизу, и совсем скоро вы сможете оценить, как на самом деле сработали и повлияли на скорость все описанные ниже способы. А пока читайте и задавайте вопросы в комментариях.
Насколько хорош ваш проект, зависит от многих факторов. Например, насколько продвинутым и дальновидным является технический руководитель в команде. Насколько точно он продумает архитектуру сервера, чтобы она легко масштабировалась по мере роста проекта. Какие базы данных он выберет, чтобы сайт работал быстро и не надоедал пользователям. В основном используются Mysql и Postgresql. С последним мы работаем уже 2 года. Однако в данном случае этого было недостаточно. Потому что проект предполагал высокие нагрузки и использование фасетного поиска. Поэтому пришлось искать другое решение.
А если с грузами все понятно (сложные запросы типа «показать все красные товары в размере L для женщин» и «убрать все остальные фильтры, не содержащие таких товаров» встают в очередь, принимают все время, а как в результате сайт работает чертовски медленно), на скорости работы хочу остановиться отдельно.
Итак, проблема №1 — это возможность удобно пользоваться фасетным поиском. Это такой поиск, где фильтры зависят друг от друга. То есть, если вы выбрали марку «босс», вам будут показаны цвета, доступные только для него. Тогда, если вы выбрали размер L, вы увидите все вещи указанной марки, цвета, размера. Так что все фильтры зависят друг от друга.
Одновременно с фасетным поиском покупатель хотел видеть на странице товара довольно сложные подборки. Например, подборка всех товаров одного цвета. Или выбор товаров со скидкой в магазине, где вы выбираете одежду. Еще была задача №2, которая подтолкнула нас к тому, что нам нужна еще одна БД, и одного Postgresql будет недостаточно.
Да я понимаю, что запросы можно оптимизировать, но в любом случае БД нужно перелопачивать много данных и тратить много времени на их обработку.
В общем, стали искать базу, которая бы быстро читала данные и делала фасетный поиск удобным. Не буду перечислять кучу вариантов, которые мы перепробовали. Наконец, остались MongoDB и Elasticsearch.
По сути они одинаковые, но Elasticsearch написан на java и потребляет кучу ресурсов сервера. Если у вас в каталоге хотя бы 100 тысяч товаров, то 8 гигов памяти придется выделить только под Elasticsearch. И мы обычно думаем, что java довольно медленная. Вот почему Монго стал победителем.
Решение второй задачи — снижение нагрузки на сайт и уменьшение количества запросов — привело нас к денормализации данных. Это способ, которым мы заранее подготавливаем данные для вывода. Например, мы собрали информацию о товаре с наличием в магазине, сопутствующими товарами, отзывами, ценой и разместили в одном месте. Таким образом, вывод товарной страницы превращается в один запрос, а не в несколько (в каких магазинах есть в наличии + по какой цене + похожие товары + какие размеры и т.д.).
Далее мы построили отдельную систему событий, чтобы при изменении статуса доступности или при добавлении отзыва денормализованные данные о товаре обновлялись. Да, есть небольшая задержка в обновлении данных, но мы считаем, что этой задержкой можно пренебречь при листинге каталога. Эта модель называется моделью чтения-записи. В корзине, например, при оформлении заказа мы уже не используем денормализованные данные, но выборки там проще и нагрузка меньше.
Конечно, мы могли бы хранить эти данные и в Postgresql, но это не логично, учитывая, что вся информация для фасетного поиска хранится в Mongo. Потому что, во-первых, это запрос к одной базе данных для фильтрации данных, а во-вторых, к другой для их вывода.
В качестве основной базы используется Postgresql, вся логика и данные здесь, пишем все сюда и отправляем запросы. Дополнительно используется MongoDB, данные здесь денормализованы, он доступен только для чтения. Mongo очень быстр и легко реплицируется в случае роста данных или рабочих нагрузок.
Мы построили процесс записи данных в MongoDB по разным очередям, что также позволило масштабировать проект в будущем, добавляя больше серверов, которые могли бы быстрее сортировать очереди. Звучит довольно просто, но процесс требует предельной осторожности, потому что легко что-то упустить.
В результате мы получили очень быструю рабочую директорию и высокую скорость генерации передачи данных. Например, на выбор и подготовку страницы товара нужно около 7 мс, на каталог — около 30–40 мс. А можно на сервере с 2 процессорами и 4гб памяти. Так что перспективы масштабирования и потенциал огромны. Единственное, что возможно, это нарваться на скорость диска.
Также отмечу, что вся наша серверная архитектура управляется Kubernetes. Это хорошо для бизнеса по следующим причинам:
- различные ветки автоматически развертываются на тестовой площадке. То есть мы можем параллельно разрабатывать несколько новых фич и тестировать каждую на отдельном домене. Главное, что это происходит автоматически.
- Kubernetes — это инструмент оркестрации на стороне сервера. Воспринимайте это буквально. То, что управляет оркестром контейнеров: DB1, DB2, интерфейс и PHP. И если выйдет из строя, то перезагрузится, если увеличится нагрузка, то реплицируется на другую машину. Это наш дирижер. Однако не стоит думать, что он может все сделать сам. Разработчики должны писать всю логику в Kubernetes. Составить кучу инструкций на все случаи жизни. Кто-то может сказать, что он немного снижает время отклика за счет того, что строит свои сети, с помощью которых управляет контейнерами. Но смотрите, если человек это сделает, это займет еще больше времени, но кроме того, возникнет фактор ошибки. И, кстати, мы всегда учитываем сетевое время, подсчитывая, сколько времени требуется для выполнения кода. Например, вы знаете, что это занимает 30 мс, а в консоли браузера отображается время обработки запроса — 100 мс. Как же так? 70 мс — это скорость, с которой передаются данные. Хотите сократить это время — храните серверы в непосредственной близости от клиента. Обычно в консоли видно, что Wildberries, например, передает данные о ближайшем сервере, откуда загружать данные, чтобы тратить меньше времени на их доставку клиенту.
- Развертывание в производство происходит без простоев и нажатием одной кнопки.
был, есть и будет для кроссплатформенности, т.е. важно чтобы клиент получал одинаковую функциональность на любом устройстве и в любой операционной системе. Сейчас очень хочется писать код, подходящий как для веба, так и для нативных приложений, чтобы оптимизировать не только временные затраты, но и не получить расхождения в логике. Однако пока это невозможно.
Тем не менее, нам, наконец, удалось частично повторно использовать код и логику между веб-приложением и мобильным приложением, поскольку веб-приложение находится в React, а мобильное приложение — в React Native.
При этом каждая платформа имеет свой внешний вид. С технической точки зрения у нас общий Redux Store, поэтому работа с данными ведется из одного места, но на визуальную составляющую это никак не влияет.
Конечно, можно было бы еще вспомнить React Native Web, который предназначен для написания одного приложения, работающего одновременно в браузере с использованием стандартных веб-технологий и на iOS или Android как настоящее нативное мобильное приложение. Год назад мы пытались с ним бороться, но он был еще совсем сырым. Итак, мы сделали следующее.
Front-end разработчик делающий сайт написал магазин, а потом мобильный разработчик с небольшим отставанием пришел в разработку того же раздела, взял магазин, сделал свою обработку, но в целом можно было сделай наоборот. Таким образом мы также избегаем проблем с другой логикой. И сейчас я говорю не только о том, что происходит между Android и iOS, но и о разнице между веб-приложением и мобильным приложением. Кроме того, это дает нам огромное увеличение скорости разработки. На мой взгляд, это здорово.
Наверняка всех бесит, когда в браузере нажимают «назад», и их перебрасывает не на строку магазина, где вы были, а в рандомное место на странице, и приходится снова листать до нужного товара остановился на. Какой позор! А иногда это тоже занимает много времени. Вот почему мы делаем кэширование браузера в сеансе пользователя. В результате, если пользователь нажмет назад, мы просто покажем страницу из кеша браузера. Это происходит мгновенно и пользователь возвращается на то место, где он остановился. Сообщество предлагает множество вариантов с временными решениями, но, как показала практика, кэширование ajax-запросов — самый мощный и простой способ, позволяющий пользователям получать удовольствие от использования каталога вашего сайта.
Теперь поговорим о том, как организованы сессии и слияние данных на проекте. Почему мы разделяем запросы на получение и публикацию и зачем их кешируем? Откуда появилась идея генерации токенов на фронте? И что это нам дает?
Пока предполагается, что проект будет масштабироваться, мы решили заранее учесть дополнительные нагрузки и просчитать вариант с кешированием. Чтобы добавить скорости сайту, страница продукта должна загружаться мгновенно, а профиль пользователя должен загружаться асинхронно. Таким образом, всю страницу товара можно положить в кеш, а профиль пользователя загрузить отдельно. Быстрее? Очевидно!
Мы пришли к выводу, что нам достаточно получать данные только на стороне клиента (для SSR это не важно, но у нас есть возможность кэшировать их на стороне Nginx). Это позволяет нам видеть мгновенный ответ, потому что вся страница может кэшироваться на SSR — все получают запросы, а в случае высоких нагрузок мы оставляем эту возможность себе, а на стороне клиента будет информация по каждому конкретному пользователю. принес (все его любимые вещи, количество вещей в корзине и т. д.). Get-запрос кешируется отдельно даже для незарегистрированных посетителей и не дает сбоев при обновлении. Пользовательские данные не должны изменяться путем получения запросов. Таким образом, при необходимости весь сайт можно положить в кеш, не затрагивая данные сессии (авторизацию).
Позвольте мне проиллюстрировать на примере, почему это важно.
Допустим, я вошел в систему и перешел на главную страницу, и она кэшируется на мне. Если не разделять запросы, то когда кто-то еще зайдет на сайт, он увидит главную страницу с моими данными, полученными из пост-запросов — с моими избранными, т. получил там. При разделении запросов получается, что главная страница берется из кеша, а данные о пользователях подбираются для каждого отдельно.
Нужен для того, чтобы бэкенд понимал, кто конкретно к нему обращается и какие данные нужно отдавать. Это уникальный ключ, который ранее был сгенерирован на стороне бэкенда, но мы сделали это по-другому — на стороне клиента. Что это дало нам? Во-первых, мы знаем источник, откуда пришел человек (веб, ios, android), а во-вторых, теперь не нужно ждать на стороне фронтенда окончания одного запроса, как это было раньше, чтобы отправить другой (запрос на получение сеанса + запрос на обновление истории просмотров). Соответственно, мы снова увеличили скорость.
Мы сделали так, чтобы нам не приходилось все время ждать бэкэнда. А также для того, чтобы сразу передать на бэкенд информацию о клиенте, например, чем пользуется клиент — Android или iOs. Ведь иногда ценообразование в магазине напрямую зависит от устройства.
Отличие сессионного токена от авторизационного токена в том, что если бы у нас не было механизма регистрации пользователя, принцип работы сайта оставался бы таким же, как описано выше. Файл cookie сеанса — это уникальный идентификатор, к которому серверная часть может привязать любые необходимые данные. Благодаря такому подходу мы начинаем различать такие сущности, как пользователь и сеанс. Что в этом крутого?
Например:
пользователь — Илья А
сессия 1 — веб
сессия 2 — android
9 0004 Илья в своем аккаунте с компьютера положил 2 товара в корзину. Потом зашел на сайт с телефона не авторизовавшись там и тоже начал наполнять корзину. Это пока «сессия 3», потому что мы не знаем, кто это и чья это тележка. Но как только Илья заходит с телефона в свой аккаунт, все товары группируются в личной корзине Ильи.
В результате мы соединяем все устройства пользователя в одну учетную запись и объединяем корзины с помощью сеансовых файлов cookie. Ну, мы только что объяснили, почему мы делаем это с точки зрения производительности. Это небольшая вещь для производительности, которая имеет большое значение. Кроме того, мы всегда знаем, с каких устройств наши пользователи заходят на сайт. В нашем конкретном случае это повлияло на ценообразование — пользователи из мобильного приложения получили скидку 1%.
Мы также уделили большое внимание изображениям в этом проекте. Потому что это ключ к продажам клиента. Сейчас уже куча разрешений экрана, разная плотность пикселей, та же ретина, например. И все это нужно учитывать, чтобы на каждом экране представить пользователю идеальную картинку как по качеству, так и по пропорциям.
Как этого добиться? Скажу вам, плохая идея выкладывать одну крутую картинку в большом разрешении, чтобы показать всем хорошее качество. Зачем тратить много трафика или сталкиваться с проблемой, когда загружаешь картинку в баннер, на десктопе она выглядит красиво, а на телефоне голова человека может отсутствовать например.
Поэтому загружаем изображения через тег и целым массивом: для телефонов, десктопов, разного разрешения, с разной плотностью точек. Кстати, сейчас хорошим решением является формат webp (на момент написания статьи Safari его не поддерживал, поэтому использовались оба формата), который весит меньше обычного jpg. В результате каждое устройство получает свой образ. Места конечно занимает много (на 1 товар 14 изображений и это только на одну страницу, но есть еще и корзина, каталог и т.д., в итоге надо штук 50 чтобы каждый пользователь получил именно ту картинку, которая ему нужна) но пространство сейчас является самым дешевым ресурсом. НО цель не в том, чтобы сэкономить, а в том, чтобы показать товар так, чтобы пользователь купил его, не заходя в магазин.
Мы кэшируем все изображения на стороне сервера, чтобы не генерировать каждый раз весь массив. Клиент загружает один, а мы уже делаем столько, сколько нам нужно.
Почему хорошая админка — крутой инструмент, требующий сложной разработки, времени и денег?
Для нас мифы об админке — настоящая проблема. Например, если сайт сделан на CMS, админку можно редактировать самостоятельно без участия разработчиков. Но мы уже разбирали эту конкретную историю. Итак, мы его опустим.
Всегда все делаем с нуля, админка соответственно тоже. У нас есть классный пакет, который мы сделаем открытым в будущем. Это позволяет нам быстро создавать элементы управления для простых объектов, таких как новости, категории имен и т. д., но нам все равно приходится уделять много внимания сложным объектам, таким как меню, конструкторы, поведение шахматной сетки в недвижимости или интерфейс. логика в логистике, например. Это действительно большая работа, и ее нельзя недооценивать. Именно поэтому мы заводим часы, привлекаем фронтенд-разработчика, проектируем и создаем удобные механизмы управления. Отсюда возникают соответствующие суммы, а в итоге вы получаете нестандартную удобную разработку индивидуально под ваш проект. Ниже приведены 2 отличных примера.
Мы «придумали» это для того, чтобы клиент мог что-то изменить и добавить самостоятельно без разработчиков. Например, различные новые категории меню. Какими они могут быть благодаря текущему конструктору на примере нашего проекта?
Как видите, указать можно что угодно. Но, если данные будут выбираться динамически по таким критериям, как я уже говорил, базе будет тяжело, и все будет медленно загружаться, поэтому вспоминаем денормализацию данных, которую мы реализовали. Теперь для сбора новых пунктов меню в админке запускается задание на формирование любого пункта по выбранным параметрам, и оно готово, при этом будет открываться очень быстро благодаря пресловутой денормализации.
Но мы все же хотим рассказать вам об универсальности админки. Посмотрите видео о том, как мы создали классный, удобный конструктор, позволяющий решить все задачи клиента.
Особо хотелось бы обратить внимание на блоки. Это супер вещь, позволяющая создавать какие-то заранее нарисованные и выложенные в каталоге крутые блоки в дополнение к товарам, чтобы, например, перед товарами добавить информацию о бренде или какую-то акцию.
Сборщик коллекций
В нашем проекте также есть концепция коллекций. Понятно, что есть машинное обучение, автоматические рекомендации и другие технологии и сервисы, но иногда нужно создавать коллекции вручную. Разберем следующий случай.
Например, мы хотели бы порекомендовать джинсы босса для футболок босса. Или порекомендовать футболки одного цвета. Все бы ничего, но мы строим универсальную архитектуру. И сегодня клиент продает футболки разного цвета, завтра — ноутбуки с разной памятью и так далее. Поэтому мы снова сделали конструктор, смотрите в видео.
Еще в процессе тестирования мы поняли, что сделали некий мощный конструктор, с помощью которого можно формировать правила еще более сложного уровня. Например, порекомендовать к просматриваемому товару другие товары из того же магазина, но со скидкой. Разработчики для этого уже не нужны, это может сделать маркетолог.
Отображение коллекции Web Secret
Обмен с 1С
Существует несколько сценариев обмена со сторонними системами:
- сторонний провайдер доставляет на сайт стандартизированный файл, сайт его обрабатывает — так работают почти все CMS.
- сайт периодически запрашивает стандартизированный файл по URL и делает обновления, когда это удобно сайту — так Яндекс. Рынок. работает, например.
- есть полноценный API на стороне сайта, а сторонний провайдер подбирает методы, меняет только то, что ему нужно — так работает, например, Ozon. Этот метод также называется push-based.
Упомянутые выше сценарии передачи данных под номерами 1 и 2 являются начальными. Да, в некоторых случаях их достаточно, но в больших проектах нужен 3-й вариант. Несмотря на сложность, он гораздо быстрее, гибче и продвинутее с точки зрения функциональности.
По последнему принципу реализован обмен в нашем проекте. Выбор пал именно на него, так как требовалось обновлять много данных и запрашивать их извне. Например, полный обмен товара — обычная операция, поэтому все используют вариант 1 или 2. Но нам нужно было, чтобы как только товар был взят из офлайн-магазина, 1С оповестила сайт о том, что такого товара нет в запаса больше нет, и мы бы немедленно удалили его со страницы. Либо сменился импортер поставщика всех товаров Boss. Мы не можем переписать все товары — вы меняете имя импортера, и эта информация будет извлечена во всех товарах. Кроме того, есть много фоновых процессов, требующих полноценного API, например, обмен клиентской информацией, push-уведомления и т. д., обо всем этом написано в документации.
Здесь важно отметить, что мы архитектурно готовимся к тому, что нам будут присылать данные многие поставщики, и очевидно, что мы не будем обрабатывать их все в один момент. Поэтому на все вызовы API мы отвечаем номером задачи в очереди. А поставщик в любой момент может отдельным методом проверить, в каком статусе находится его задача: в очереди, выполнена или есть какие-то ошибки. Или если вы настроите уведомления, то сможете получить результат по результату обработки задачи.
Это позволяет балансировать нагрузку на нашей стороне удобным для нас способом, не перегружая весь сервер, если вдруг все поставщики сразу начнут выполнять затратные операции. И это также легко масштабируется. Можно добавить больше серверов, которые при необходимости начнут анализировать задачи параллельно.
В этой статье я поделился опытом, который мы получили при работе с крутым клиентом, опытом, который можно использовать и улучшать в других проектах. И я буду рад, если кому-то пригодится, потому что я написал это не ради хвастовства, а ради того, чтобы поделиться своим опытом. Итак, оставляйте комментарии, делитесь своими крутыми решениями.
Покупка товаров из России на лучшей торговой площадке — Wildberries.
Заказывайте товары из России с полной уверенностью в их качестве, встречайте уникальную онлайн-площадку Wildberries ! Это маркетплейс с огромным количеством категорий товаров.
Давайте посмотрим, чем он отличается от конкурентов:
Согласно рейтингу Data Insight, Wildberries — крупнейший маркетплейс в России, на нем ежедневно представлено более 80 000 брендов и совершается 1,5 млн транзакций. Магазин сотрудничает как с ИП, так и с юридическими лицами и это еще не все, свои товары на сайте размещают и самозанятые и крупные производители.
Почему безопасно совершать покупки по телефону Wildberries ?
Главное преимущество этой торговой площадки в том, что все представленные товары проходят строгий контроль качества. Все продавцы должны предоставить документы о регистрации товарного знака и гарантировать качество продукции. Они также должны предоставить сертификаты на товары.
Wildberries регулярно предлагает скидки на отдельные категории товаров!
Если вам интересно, что другие пользователи думают о продукте, перейдите в раздел отзывов. Под каждым товаром покупатели могут оставить свое мнение о приобретенном товаре. У каждого продавца и каждого товара есть рейтинг, рейтинг отражает мнение покупателей о товаре и их желание приобрести его снова.
Что я могу купить на Wildberries ?
Практически любой товар можно найти. В наличии есть все, от одежды, аксессуаров, обуви, до автотоваров, игрушек, бытовой техники, книг и многого другого.
Рассмотрим некоторые категории:
Одежда
В категории «Одежда» вы найдете широкий выбор товаров.
Из этих вещей можно собрать полноценный гардероб для женщин, мужчин и детей. Наслаждайтесь огромным разнообразием товаров от российских производителей, большим размерным рядом и отличным качеством!
Согрейтесь холодной зимой с помощью пуховиков и толстого трикотажа для всей семьи. Найди новые яркие украшения по сниженной цене!
Если у вас недавно родился ребенок, закажите все необходимые предметы гардероба онлайн!
Товары для дома
Торговая площадка предлагает товары, которые сделают ваш дом уютным и комфортным. Их можно найти в разделе «Главная» на сайте Wildberries. Меняйте обстановку и настроение в своей квартире, начните с мелочей. Не забудьте добавить в заказ товары для души! Любители искусства и DIY найдут что-то особенное для своего творческого процесса.
Косметические средства
Если вы любите заботиться о себе и не выходить за рамки бюджета, загляните в раздел «Красота». На Wildberries вы найдете множество продуктов для макияжа и ухода за собой, в том числе ряд лосьонов для лица и тела, кремы и все, что необходимо для качественного ухода за кожей.
Электроника и бытовая техника
На этом рынке вы можете купить много электроники. Обратите внимание на новейшую бытовую технику. Аудиоколонки, умные весы и уникальные бьюти-приборы уже готовы к заказу.
Автотовары
Специально для автолюбителей на Wilberries есть специальная категория! Самое приятное в заказе автоаксессуаров, бытовой техники и химии — это цены со скидками, ознакомьтесь со скидками!
Игрушки
Если ваши дети любят необычные игрушки и всегда готовы что-то сделать сами, подумайте о покупке развивающих игр!
Спортивные товары
Если вы ведете активный образ жизни и стараетесь поддерживать себя в форме, делайте покупки в категории «Спорт». Здесь вы найдете вещи, созданные известными спортивными брендами.
В этой категории собраны любой спортивный инвентарь, одежда, тренажеры, запчасти для велосипедов и многое другое. Выбирайте то, что вам нужно и переходите к заказу!
Как делать покупки в России на Aukciony.com?
Оформить заказ на сайте Wildberries можно двумя способами:
1.
Вы можете оформить заказ и оплатить его самостоятельно. Обычно для оплаты товаров в российском интернет-магазине нужна российская банковская карта. Для выкупа и доставки товара вы всегда можете воспользоваться нашим торговым адресом
в России. Необходимо указать его в поле «Адрес доставки» при оформлении заказа. Там мы получим товар и подготовим его к дальнейшей отправке на ваш домашний адрес. Проверьте все адреса наших складов в России по этой ссылке .
Обратите внимание: Если вы оформили доставку до пункта выдачи, вам необходимо сообщить об этом нашему менеджеру, чтобы он смог забрать посылку.