Создание и продвижение интернет-магазина на Java

О том, как программист создал интернет-магазин на Java и смог заставить его приносить прибыль.

История создания магазина

Прежде чем приступить к конкретным показателям и действиям, немного расскажу о себе и о том, как пришла идея создания интернет-магазина.

Я родился и вырос в Беларуси и до создания магазина всю жизнь занимался программированием Java сайтов в крупных компаниях. Созданием своего бизнеса никогда не занимался, максимум руки доходили до создания приложения в Google Play либо бесплатных познавательных сайтов. В то же время у меня был брат, который всю жизнь занимался сантехникой, начиная от управления складом сантехники, заканчивая розничных продажей и установкой сантехники.

В какой-то момент у нас возникла идея создать интернет-магазин, так как в сумме у нас было достаточно для этого опыта. Я всегда понимал, что для достижения успеха интернет-магазином сегодня необходимо не просто быть хорошим программистом/знатоком товара, но и нужно разбираться в маркетинге и уметь эффективно пользоваться инструментами для аналитики поведения пользователей. Однако тогда до меня не доходило, на сколько это критично.

Создание сайта

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

Для создания нашего сайта было решено использовать популярный на сегодняшний день Spring Framework, в качестве базы данных используется PostgresSQL, для поиска по товарам используется Lucene, а фронт-энд написан с использованием Pebble Templates и Bootstrap. Перед разработкой были раздумья насчёт того, стоит ли создавать SPA либо использовать server-side rendering. Однако, в связи с тем, что мы хотели сделать минималистичный сайт, остановились на server-side rendering. О выборе технологий до сих пор я не жалею.

Второй, возможно даже более важной задачей, был выбор домена. Хотелось подобрать домен, который бы одинаково звучал как на русском, так и на английском языках. При этом хотелось, чтобы не было проблем с написанием и запоминанием домена. Вначале нам показалось, что домен “santego.by” справляется с задачей. И даже после старта мы так думали. Однако, по прошествии некоторого времени, начали замечать, что длина домена также важна. Если бы домен был короче, его было бы легче вмещать в маленькие баннеры с логотипом, он бы легче запоминался. Поэтому о выборе домена я жалею.

Третей задачей был дизайн сайта. Можно было бы привлечь дизайнера, что стоило бы некоторых денег. Но, так как я уже делал некоторые сайты для себя с использованием bootstrap, было решено, что для первой версии сайта я возьму их стили и минимально переделаю. Что и было сделано. Проблемы с дизайном есть, это особенно заметно в мобильной версии. О выбранном решении я не жалею, так как это сэкономило время разработки. В будущем же я планирую привлечь дизайнера, который полностью обновит нам дизайн.

Продвижение

При создании магазина, мы особо не задумывались о продвижении сайта. Планировали разместить товары на маркетплейсах и ожидали, что продажи пойдут сами. Чудо не произошло. Тогда было решено исследовать, что делают другие магазины. Стало понятно, что нужна реклама. Сначала мы подключили Яндекс Директ — это дало результат, клики были дешёвые, однако был очень большой процент отказов. Потратив несколько недель на настройку, мы добились значительно лучшего результата. После настройки было понятно, что количество пользователей, с нужной ценой клика, очень маленькое. Решили подключить Google Ads — настройка google ads оказалось намного проще и приятнее, клики там были немного дороже. В целом, две эти рекламные сети плюс маркетплейсы дают нам нужное количество пользователей. Кажется, чем больше рекламных сетей, тем лучше. Однако поддержка и настройка этих сетей занимает время, поэтому добавлять новые мы пока не планируем.

Системы аналитики и статистики

После добавления рекламы наблюдался большой процент отказов. Было интересно, что пользователям не нравится. Решили прибегнуть к использованию Яндекс Метрики. В базовой конфигурации она уже даёт необходимое количество информации, но нам было интересно знать ещё больше. В этом нам помог Вебвизор, доступный в Яндекс Метрике. Он позволяет записывать движения курсора пользователя на страницах сайта. С помощью Вебвизора, мы смогли устранить множество мелких недочётов.

К нам так и не начали приходить пользователи из поиска, тогда мы решили подключить Яндекс Вебмастер и Google Search Console. После подключения, было понятно, что поисковики даже не знают о большинстве наших страниц, с чем нам помог справиться Sitemap. Также мы заметили, что у нас есть несколько ошибок со статусами, ссылки на несуществующие страницы. После исправления всех указанных недочётов, мы наконец-то стали продвигаться в поиске.

В целом эти инструменты сейчас полностью нас устраивают. Единственное, о чём я жалею это то, что не подключил их раньше.

Несколько советов

Хочется дать советы владельцам новых интернет-магазинов:
1) Подключайте как можно больше способов рекламы вашего магазина, пока не подберёте наиболее дешёвый и эффективный.
2) Как можно раньше подружитесь с программным обеспечением для аналитики.
3) Не расстраивайтесь. В процессе создания и продвижения магазина у вас постоянно будут возникать трудности, однако, при усердной работе, их все можно преодолеть.

Я надеюсь, что данный материал окажется для кого-то полезным, и мы сможем получить обратную связь! И буду продолжать писать о нашем магазине.

55
15 комментариев

интернет-магазин на Java

5
Ответить

"создал интернет-магазин на Java"
мммм месье знает толк в извращениях!

3
Ответить

Руслан привет, спасибо, что поделился опытом. Всех благ и успехов тебе  в твоё проекте! Если не сложно, расскажи пожалуйста,  каким хостингом пользуешься? Интересно узнать какой хостинг поддерживает Java? Правильно ли я понимаю, что ты собрал web-arhiv своего магазина, выгрузил его, как например в tomkat, на хостинг и твоё приложение запустилось? Или ты администрируешь сервер самостоятельно? Очень интересна техническая сторона запуска приложения  в сеть, т.к. сейчас учу Java и проект у меня как раз онлайн-магазин ))). И, естественно, хочу в конечном итоге увидеть свой проект в сети тоже )))  

1
Ответить

Привет. Магазин в Беларуси, поэтому хостинг по закону должен быть белорусский, я выбрал support.by. Если бы не был ограничен страной, то выбрал бы hetzner.com, этот хостинг и дешевле и стабильнее. Арендую обычный виртуальный сервер (VDS) с предустановленной CentOS. Варианты готовых серверов для Java приложений не рассматривал: все что я видел раньше хоть и были проще для начала, но потом их возможностей всегда не хватало, лучше потратить один день на разбирательство и настройку обычного сервера с Linux. Изначально я хотел делать как ты описал - установить на сервер Tomcat и класть в него WAR архив, но этот способ устарел, со Spring Boot рекомендуется генерировать не WAR, а JAR и запускать его как отдельное приложение (внутри джарки лежит свой сервер приложений), так я и поступил. Помимо этого на сервере есть Nginx, его я поставил для упрощения установки и обновления бесплатного https сертификата от Let's Encrypt. Плюс с Nginx можно поставить красивую картинку с текстам во время перезапуска приложения (технические работы) и проще настроить домен + нужные редиректы.

1
Ответить

У вас на сайте нету быстрого просмотра товара, что очень затрудняет смотрение всех фотографий у товара. А входить и выходить в карточку товара это не очень удобно. Посмотрите как на вайлбересе это сделано.

1
Ответить

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

Ответить

Нет самого главного в Интернет-магазине. Онлайн платежей.  

Ответить