Создание и продвижение интернет-магазина на 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) Не расстраивайтесь. В процессе создания и продвижения магазина у вас постоянно будут возникать трудности, однако, при усердной работе, их все можно преодолеть.

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

0
15 комментариев
Написать комментарий...
John Doe
интернет-магазин на Java
Ответить
Развернуть ветку
Nikolay Kenig

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

Ответить
Развернуть ветку
Денис Карпенко

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

Ответить
Развернуть ветку
Ruslan V.
Автор

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

Ответить
Развернуть ветку
Денис Карпенко

Супер! Благодарю за информацию. Буду разбираться.

Ответить
Развернуть ветку
Irvin Goodspeed

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

Ответить
Развернуть ветку
Ruslan V.
Автор

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

Ответить
Развернуть ветку
Victor Morozov

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

Ответить
Развернуть ветку
Ruslan V.
Автор

Уже в процессе подключения. Не спешили с этим, так как в связи с коронакризисом возникают проблемы с поставками товаров, поэтому часто придётся возвращать деньги, что может создать неправильное впечатление.

Ответить
Развернуть ветку
Александр

Не помешает дизайнера нанять, в таком магазине ничего не хочется покупать. Нет ощущения качества.

Ответить
Развернуть ветку
Ruslan V.
Автор

На втором шаге так и собираемся сделать, особенно для мобильной версии. Пока занимаемся функциональностью, про это пользователи больше пишут, на дизайн пока не жаловались.

Ответить
Развернуть ветку
Valera Fox

На гибхабе нет кода?) Или какой стек использовали? Spring WebFlow, MVC, REST.....

Ответить
Развернуть ветку
Ruslan V.
Автор

Привет. На гитхабе нет, код закрытый. Не хочу чтобы в интернете копии сайта появлялись, плохо влияет на сео. Про стек - есть в разделе "Создание сайта".

Ответить
Развернуть ветку
Ruslan V.
Автор

Сообщение удалено

Ответить
Развернуть ветку
Денис Карпенко

Супер! Благодарю за информацию. Буду разбираться.

Ответить
Развернуть ветку
12 комментариев
Раскрывать всегда