Какую CMS выбрать для интернет магазина: самописную или готовый продукт

Для тех, кто не очень в курсе сразу приведу выдержку из википедии:
«Content Management System (система управления содержимым) — информационная система или компьютерная программа для обеспечения и организации совместного процесса создания, редактирования и управления контентом.»

Другими словами – это программный код, который, по сути, является для нас интернет магазином, его функциями, интерфейсом и прочими элементами. Если вы как-то добавляете товар в магазин, а затем он появляется на интернет витрине или в разделе сайта или принимаете оплату от покупателей, через интернет магазин, или делаете что-либо еще, то это все осуществляется как правило, CMS с определенным функционалом.
Что приводит нас к тому, что фактически это является техническим сердцем нашего интернет магазина, и без этого самого сердца нам было очень и очень туго, но возможно.

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

1. Скорость реализации решения
На мой взгляд, в нашем вечно изменяющемся мире вечных авралов и дедлайнов, скорость реализации: от описания функционала до открытия интернет магазина – один из самых важных параметров. Чем проще и быстрее запустить интернет магазин, тем, на мой взгляд, лучше. С этой точки зрения самописное решение проигрывает готовому CMS. Так как на реализацию технического задания уйдет время, которое программист или программисты потратят на написание кода, тестирование, отладку, исправление багов. В то время, как на готовое решение уйдет ну максимум рабочий день одного человека на установку и возможную быструю настройку CMS.
Вывод: По скорости, готовое решение быстрее, чем самописный вариант.

2. Функции и возможности интернет магазина
Функционал или то, что может ваш интернет магазин тоже очень важный параметр при выборе, но в 95 процентах случаях функционал интернет магазина идентичен в представлении владельца. Именно поэтому все готовые решения легко решают 80-90 процентов нужных задач для интернет магазина. Говоря простым языком, то что вам необходимо в интернет магазине уже с большой вероятностью раз 100 реализовано в различных готовых, бесплатных и платных CMS-ах. Грубо говоря, 90 процентов вашего функционала не уникально, а уже придумано и реализовано много раз.
Иногда бывает так, что вы придумали действительно множество уникальных функций, которых нигде нет, но еще чаще оказывается так, что эти функции никому не нужны кроме вас и пользователи впоследствии ими вообще не пользуются.
Вывод: Готовое решение с большой долей вероятности будет отвечать 90 процентам ваших запросов и изобретать велосипед заново нет нужды. А если у вас изначально супер уникальная система, что бывает крайне редко, то лучше все равно начать с действительно необходимых функций, которые есть во всех готовых CMS и постепенно двигаться к реализации вашего уникального функционала, дорабатывая его по пути. Чтобы не получилось так, что то, что вы разрабатывали год, оказалось вообще никому не нужным.

3. Избыточный функционал и быстродействие
В готовых решениях вы всегда столкнетесь с тем, что часть функций и возможностей, которые находятся в CMS, вам будут не нужны. Иногда бывает так, что много не нужно из того, что есть. А это значит, что это все придется или отключать, или скрывать от обычного пользователя. Что в какой-то мере увеличивает время на запуск интернет магазина. В самописном варианте у вас будет только то, что нужно вам и не больше.
Кроме всего прочего, часто, избыточный функционал и возможности замедляют работу скрипта интернет магазина.
Грубо говоря, чем больше нагружен различными наворотами движок магазина, тем медленнее он будет работать. Но если вам все эти навороты не нужны, и вы их не используете, то они тормозят общую работу просто так, что приводит нас к тому, что вам придется заниматься оптимизацией готового решения. В то время как самописное решение может быть изначально оптимизировано, без лишнего функционала и нагромождения ненужных элементов. Однако быстродействие работы магазина не всегда зависит от этого, но об этом в следующем пункте.
Вывод: если у вас очень мало функций и большая часть того, что есть в готовых решениях вам не нужно, то возможно, имеет смысл делать самописную CMS, так как это может выйти быстрее и работа скрипта будет эффективнее.

4. Быстродействие и качество кода
Кроме различных наворотов, быстродействие и устойчивость зависит также от качества программного кода скрипта. Это значит, что если CMS делали вам криворукие программисты недоучки, то такой код может тормозить еще похлеще, чем готовое решение с огромным количеством избыточных возможностей. Кроме всего прочего, написанный криворуким программистом, скрипт может выдавать кучу ошибок или отключаться от нагрузок или не протестированных последовательностей действий.
В то время, как готовое решение с репутацией и активной поддержкой, особенно если речь идет о коммерческой CMS, будет работать стабильно и быстрее, хотя будет с кучей всякого рода наворотов. Просто потому, что за счет больших ресурсов разработчики постоянно занимаются совершенствованием своего скрипта.
Вывод: Если вы наверняка не знаете, что получите качественный код, а программист – хороший профи своего дела. То с очень большой долей вероятности, готовое решение будет качественнее и стабильнее сделано.

5. Избыточный функционал и техническое развитие интернет магазина
Кроме негативного момента, избыточный функционал готовых решений имеет и положительную сторону. Рано или поздно вы захотите что-то менять, дополнять в своем магазине. Или того захотят пользователи. И если в самописном решении вам придется заниматься очередным этапом разработки, то в готовых CMS необходимая функция уже может быть, просто она может быть отключена или изменена в виде настройки. И техническое развитие в готовом CMS может завершиться в один день, а в самописном может растянуться на неопределенный период.
Вывод: избыточный функционал готовых решений не всегда плохо, впоследствии он может оказаться тем самым функционалом, который вам понадобится.

6. Деньги или стоимость интернет магазина
Наверняка для многих, особенно начинающих е-коммерсантов, этот вопрос стоит достаточно остро. Готовых решений масса, как бесплатных, так и коммерческих платных. То есть цена готового решения может варьироваться от 0 до любой другой суммы. Но если сказать грубо, то основной функционал, которого хватит большинству людей, в виде готовой CMS будет находиться в границах от 0 до 1000$. То есть даже бесплатно вы сможет получить готовый скрипт интернет магазина. В то время как написание интернет магазина с нуля и на заказ, будет стоить каких-то денег точно, а каких зависит от кучи параметров. Однако, чаще всего, написание с нуля будет стоить дороже покупки готового решения. Так как готовые решения в основном рассчитаны на массовую аудиторию.
Вывод: Если для вас остро стоит вопрос денег, то готовое решение будет, с большой долей вероятности, стоить дешевле написания скрипта магазина с нуля под заказ.

7. Уникальность против усреднения
В предыдущих пунктах я затрагивал этот момент, но опишу его отдельно, если у вас супер пупер уникальный интернет магазин, аналогов которого никогда не видел этот мир, то с большой долей вероятности готовое решение вам не подойдет. И быстрее будет писать с нуля, чем дорабатывать готовое решение. Однако, в большинстве случаев, нужен обычный и типовой скрипт. Или еще чаще бывает, что человек, который только начинает крутиться в этой сфере и делает свой первый интернет магазин, он просто не знает, какой интернет магазин ему нужен. Поэтому тут идеальным вариантом станет старт с типовым функционалом. А когда человек хочет нечто уникальное, скорее всего, он уже обладает неким опытом в этих вопросах, чтобы понять подойдет ему готовый скрипт или нужно писать с нуля.
Вывод: для супер уникальных проектов, скорее всего, готовое решение не подойдет и быстрее, дешевле и проще будет писать с нуля под конкретные задачи. Но такие случаи очень-очень редки.

8. Доступная инфраструктура специалистов, знаний и опыта
Это наверно, тоже один из важных пунктов, который стоит учесть при выборе между самописным и готовым решением. Стоит задать себе вопрос, а что будет с моим магазином, если программист, который его разрабатывал, сменит профессию или с ним что-то случится? Скорее всего вы замучаетесь искать нового, который будет готов разбираться в коде другого человека, возможно, не самом качественном коде. В то время, как вокруг готовых решений создается своя экосистема, особенно если готовое решение уже давно существует.

Есть программисты, которые разбираются и специализируются в конкретном движке, есть дизайнеры и верстальщики, которые быстро могут менять внешний вид для вашего проекта. Пишутся готовые скрипты и дополнения, которые вы можете просто купить и установить на свой магазин, если вам нужен функционал из этих дополнений, вместо того, чтобы разрабатывать с нуля, появляются сообщества владельцев интернет магазинов, у которых такая же CMS, как и у вас. Создаются базы знаний и опыта, форумы, блоги, в которых уже будут решены множество проблем и будет множество ответов на вопросы, которые появятся у вас только впоследствии. Такие как особенности поискового продвижения для вашей CMS, оптимальные настройки сервера, особенности работы и прочие насущные задачи. А если ваша задача еще не решена, всегда можно получить ее решение, обратившись к сообществу. В самописном решении вы будете, как одинокий волк в лесу. Единственный, с кем вы сможете проконсультироваться – это разработчик вашего скрипта. Хорошо если ваш разработчик — это квалифицированная команда, а если один программист, то уже не так хорошо.
Вывод: при использовании готового решения, особенно популярного, вы получите в пользование всю экосистему, которая образовалась вокруг этого решения в свое пользование. В самописном варианте – это исключено.

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

Фактически, речь идет о том, что со временем ваш магазин может уникализироваться и развиваться так, что станет опять же супер уникальным решением, которое выходит за рамки любой готовой CMS. Существенно выходит.
Но это вопрос и проблема далекого будущего, а для большинства и несбыточного. Так как тут подразумевается то, что вы, скорее всего, станете огромным магазином, типа озона, каковы ваши шансы на это, решайте сами. И эти проблемы сейчас нет смысла решать, так как неизвестно, когда вы с ними столкнетесь и столкнетесь ли вообще.
Вывод: если вы планируете сделать огромный или нереально крутой интернет магазин, лидера рынка, который обставит озон, а может и амазон, то в таком случае лучше выбрать самописную CMS с перспективой постоянного развития и огромного роста.

Общий вывод и мои личные рекомендации
Я долго думал, писать ли конкретный ответ, и не лучше ли оставить рассмотрения с разных важных аспектов, а решение оставлять за людьми. И потом решил, что все-таки эта статья пишется для людей без особого опыта, а не для тех, кто уже собаку съел в индустрии интернет магазинов, и я бы на месте человека без опыта хотел бы видеть кроме рассмотрения с разных сторон, конкретный ответ от человека с большим опытом. Поэтому я решил, что я подведу свой личный итог и напишу, что я сам думаю по этому поводу.

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

Почти во всех случаях, кроме супер уникального проекта с огромными планами и перспективами, я советую выбирать готовые решения. Это будет проще, быстрее, качественнее, меньше проблем, легкое решение почти любых вопросов, небольшие расходы. Ниша интернет магазинов настолько сильно изучена, что 95 процентов задач для 95 процентов людей уже упорядочено и сделано в виде готовых решений. В это самая развитая ниша в плане готовых CMS. Поэтому изощрятся и писать все с нуля практически нет смысла, кроме каких-то единичных проектов.
А самое важное, советую помнить, что то, как и на какой CMS будет реализован ваш интернет магазин, практически никак не повлияет на его успешность или продажи, главное чтобы работало. Поэтому сильно заморачиваться на этом вопросе нет никакого смысла. Если вы не понимаете для чего или каких задач, вам нужно какое-то уникальное самописное решение, то просто выберете какое-либо готовое решение и начинайте работать, вместо того, чтобы вязнуть в технических аспектах программирования разработки. А дальше, время покажет, в какую сторону развиваться и двигаться.
Больших продаж вам, друзья. :)
23 комментария
avatar
Также имеет смысл затронуть вопрос безопасности/вирусов и взломов. Часто, готовые решения подвергаются атакам по каким то уязвимостям, в отличии от самописных. Потому что самописные могут быт тоже дырявые, но так как никому не интересно внедрять какой нибудь вредоносный код на какой нибудь один сайт или магазин, то часто эти дырки никого не интересуют. А в готовых решениях все наоборот. Сайтов на движке много, значит и больше вероятности того, что появится вирус или атака с использованием уязвимости этого движка.

Но все конечно зависит от кода, самописные могут валиться и без атак со стороны, просто потому что плохо написаны.
avatar
Не стал описывать этот пункт, потому что большинству людей вообще все равно такой параметр как взломоустойчивость или безопасность программного кода. Кроме совсем уж гиков.
Кроме того, как вы сами сказали, дырки в самописных одиночных интернет магазинах мало кого интересуют, а готовые решения тестируются на безопасность в разы лучше самописных братьев, зачастую. Кроме того, если дырка будет в самописном то можно ее править бесконечно, если же дырка возникает в коммерческой цмс, скажем, то она быстро заделывается.
Но все это не имеет особого значения, так как 99.9 процентов людей не важен этот параметр абсолютно, конечно если про какой-то движок скажут, что он дырявый и небезопасный, то человек его не выберет. Но так как это лишь возможная проблема, а не реальная, и, зачастую, очень маловероятная, то это является совсем уж незначительным фактором, хотя, конечно уделить ему внимание в статье можно было.
Но раз мы подняли этот вопрос в комментариях, то внимательный читатель найдет наши комментарии по этому вопросы. За дополнение — большое спасибо.
avatar
Не дописал, отправил комментарий раньше. Хотел сказать что осветили тему вы конечно хорошо и подробно, плюс за топик.
avatar
Спасибо, старался, писал материал 2 дня. :)
avatar
Видно, что обстоятельная статья.
avatar
Еще есть такая технология Saas интернет магазины, еще более простой вариант, чем готовая CMS, так как в саас насколько я видел даже ничего устанавливать и возиться с технической частью практически не надо, любой сможет установить и настроить за сутки интернет магазин. Есть даже саас сервисы которые встраиваются в блоги и социальные сети, как приложение интернет магазина, то есть даже хостинг не надо. И такие сервисы как правило интегрированы со всякими платежными системами, почтой и прочими сторонними услугами, которые часто необходимы для интернет магазина, в общем самый простой и доступный вариант открыть интернет магазин.
avatar
Я СааС не считаю хорошей технологией для хоть маломальского адекватного интернет магазина. К саас есть множество вопросов, урезанный функционал, с целью продать полный, доступ сторонним людям к базе своих покупателей, почти невозможно отойти от стандартного функционала, и невозможно совсем отойти от того функционала, который прописан в конкретном саас сервисе, зависимость от стороннего поставщика, что делать если завтра поставщик прекратит работать, проблемы с поисковиками, что делать когда магазин начнет расти и перерастет возможности саас. Вообщем вопросов, проблем, как реальных, так и потенциальных множество, и проще их решить сразу, отказавшись от саас с момента открытия.
Но я с вами согласен, что саас — самый простой способ открыть интернет магазин. И если цель открыть маленькую интернет лавочку, с парой продажей в месяц, без задачи растить продажи и зарабатывать нормальные деньги на этом, то можно выбрать саас. Я же предлагаю скорее рациональный выбор, между доступностью и профессиональным подходом. Так что саас стал бы рекомендовать только бабушкам, детям и людям, которые интренет коммерцию воспринимают, как 10 долларов дополнительного дохода в месяц. Конечно, во многом я могу даже ошибаться, но это мое мнение. Но людям которые смотрят на интернет коммерцию как более-менее адекватный или серьезный источник дохода саас магазины не посоветовал бы категорически. Может разрожусь на статью про саас.
avatar
Я бы не стал так просто списывать саас со счетов, ваши претензии и вопросы к саас обоснованы, я с этим не спорю. Но эта платформа позволяет любому попробовать открыть собственный интернет магазин и посмотреть, что из этого получится. А если ничего не получится, то человек попробовавший много не потеряет.
avatar
Саас сервисы, несмотря на уверения авторов, не подойдут серьезному интернет магазину.
avatar
Никто не знает будет ли новый магазин серьезным проектом или так и останется магазином с парой продаж в месяц.
avatar
А зачем вообще открывать интернет магазин и связываться с этими трудностями, если не думать о том, что магазин может стать серьезным проектом? Веселья ради?
avatar
А что если трудности связанные с открытием интернет магазина пересилят желание открыть этот магазин? Что лучше если магазин откроется хотя бы на саас или вообще не откроется под гнетом трудностей?
avatar
Я считаю, что каждый должен заниматься своим делом, если трудности с тем, чтобы установить готовое техническое решение в виде коробочной CMS перевешивают желание открыть интернет магазин, то я думаю, что открывать магазин этому человеку не надо.
avatar
А как человек узнает что его, а что не его, если он так и не попробует?
avatar
Очень просто, если его такие мелкие трудности остановили, значит это точно не его.
avatar
Имхо стоить сообщить, что не все коробочные готовые решения имеют потенциал для доработок, если CMS, у которых код закодирован. Естественно, никто не будет пытаться раскодировать код из адекватных программистов. И в таких случаях вы уже ничего не сможете сделать, кроме как сменить движок или писать с нуля новый. Поэтому при выборе готового движка, надо быть очень внимательным и этот вопрос уточнить. Бывают даже две версии продается, одна закодированная подешевле, вторая раскодированная девелоперская, которая не закодирована и ее можно изменять.
avatar
Согласен, такое имеет место быть, однако, не думайте, что я упустил этот момент, просто статья не о том как выбрать коробочное решение, а о том, что выбрать самопис или готовую CMS. Но отлично, что вы пометили это в комментариях. Может напишу статью и на тему, как выбрать готовую CMS.
avatar
Позволю себе добавить в общую копилку то, что при создании самописной цмски на тебя свалится куча работы:
1. написание подробного технического задания
avatar
Не дописал, продолжаю:
2. четкое понимание, что нужно в магазине
3. поиск программиста/дизайнера/верстальщика или команды, которые все это сделают
4. контроль за процессом создания
5. тестирование готового продукта

Если во всем этом нет опыта, то будет не просто и куча головной боли, и ошибок.
avatar
Я это подразумевал в пункте «Скорость реализации решения», но отлично что вы дополнили и раскрыли момент создания самописа. Плюс за комментарий.
avatar
В принципе, со многим согласен и все логически верно, но не покидает ощущение, что gorki писал статью уже с предубеждением, что готовые решения лучше.

А вообще, по детальности и подробности ответа на вопрос — супер статья, на данный момент для меня лучшая на этом ресурсе. Вообще приятно, что ресурс еще толком не начал работать, а материал уже очень качественный.
avatar
Статья супер! Пишите, пожалуйста, почаще такие объемные и содержательные статьи!
avatar
Спасибо, рад, что понравилось.
Чтобы писать и задавать вопросы в комментариях – зарегистрируйтесь на сайте.
Если вы уже зарегистрированы, то авторизуйтесь на сайте.