Выбор движка (CMS) для сайта имеет множество мифов, которые создают конкуренты и создатели движков. Поэтому, чтобы правильно выбрать движок для сайта, необходимо отбросить «маркетинговую шелуху» и исходить из своих задач. Честно ответить себе на вопрос и заглянуть в будущее своего проекта: «Какой функционал мне понадобится? Смогу ли я реализовать свои задачи на этой CMS?»
Нет хороших и плохих движков, есть конкретные задачи, которые должна решать CMS.
Например, создатели платных движков, придумывают такой миф, что бесплатные CMS легко взломать, потому что они находятся в свободном доступе и хакеры могут их скачать, изучить код и найти слабые места. Отчасти это так, но и платные движки не составит труда найти на просторах интернета в свободном доступе. Поэтому отбрасывайте все эти мнения и исходите из здравого смысла.
Начинаем выбор CMS
Для начала вам надо определиться с типом вашего сайта — это блог, интернет магазин, каталог. Расписать какие функции вам необходимы. Имеется ли у вас бюджет на покупку CMS.
В интернете есть множество сервисов для помощи в выборе движка. Но новичку, очень сложно пользоваться этими сервисами, потому что они имеют характеристики, которые вам будут не знакомы.
Откуда вот вам знать какой язык программирования лучше?
Поэтому если вы новичок, то наилучшим решением — спросить на форуме у профессионалов или поискать отзывы о CMS в поисковых системах, рейтингах, каталогах, посмотреть обзоры.
http://ratings.cmsmagazine.ru/cms_analytics — удобный рейтинг CMS, можно прочитать описание каждого движка и посмотреть отзывы
http://www.itrack.ru/research/cmsrate/#!cms-overall-tab — рейтинг показывает популярность того или иного движка
Самописный или готовы движок сайта?
На сегодняшний день существует множество CMS (движков) – как платных, так и распространяющихся в свободном доступе. Причем надо сказать, что в своем большинстве это довольно сложный программный продукт, позволяющий без каких либо особых навыков осуществлять управление сайтом. Но плата за этот продукт не единственное отличие одной CMS от другой.
Прежде всего, различают так сказать официальный, широко распространенный продукт – готовый движок и творение мастеров-одиночек – самописные CMS. На первый взгляд, кажется логичным вопрос: какая существенная разница между ними? Ведь и тот и другой продукт осуществляют управление сайтом, взаимодействие администратора с пользователями и с системой.
Но это может быть обманчивым утверждением и для того, чтобы понять существенные отличия готового движка от самописного, необходимо рассмотреть все достоинства и недостатки каждого из них, разложив их по полочкам.
Прежде всего, следует отметить, что преимущество той или иной системы управления контентом могут быть плюсом для разработчика и минусом для покупателя и наоборот. Итак, сначала обратим внимание на плюсы приобретения готовой CMS, а потом рассмотрим отрицательные стороны. Так сказать, раскроем этот вопрос со всех углов. Так как мы рассматриваем этот вопрос с разных сторон, то информация кое где дублируется.
Преимущества готовой CMS
Итак, что главное можно выделить в преимуществах.
1. Стоимость продукта
Стоит учитывать, что в подавляющем большинстве покупка готовой CMS значительно дешевле, чем заказ ее разработки. Услуги опытного разработчика стоят недешево, а такая объемная работа, как написание собственного движка для сайта может обойтись в баснословную сумму.
И в отличие от готового продукта, самописная CMS не прошла, так сказать, полноценной обкатки и ее дальнейшая доработка при выявлении каких-либо ошибок может повлечь дополнительные расходы.
2. Универсальность решений и гибкие возможности
В интернете существует множество различных готовых движков, предназначенных для многих задач (информационный портал, интернет магазин, блог и так далее). Это является несомненным плюсом не только для покупателей, но и для разработчиков. Это позволяет им с легкостью создавать различные проекты, используя уже готовые наработки и инструменты, вкладывая минимум труда и времени.
Таким образом, значительно упрощается перенос кода между проектами. Если же движок является самописным, то код тоже возможно перенести, но при этом могут возникнуть определенные трудности, а времени и труда придется вложить гораздо больше. Это существенный минус, когда заказчик ценит время.
3. Простота добавления дополнительных функций
Готовые CMS являются более распространенными, а значит для них проще, быстрее и дешевле найти готовые плагины, чтобы расширить функционал движка. При необходимости эти плагины можно доработать под конкретные задачи.
В случае же самописных систем управления контентом, дополнительные плагины чаще приходится писать заново. Это, несомненно, замедляет процесс, что критично при больших объемах проектов, ограниченности их бюджета и сроков выполнения.
Если же нужного плагина нет, то его можно создать самостоятельно или заказать специалисту. В любом случае к уже известным и распространенным движкам написать дополнительной функционал гораздо проще – все знакомо и специалистов пользующихся данной системой гораздо больше.
4. Готовые решения для стандартных задач
При ограниченности бюджета можно выбрать готовый шаблон. Его правильный выбор позволит качественно реализовать конкретный проект. Уникальности здесь не будет, но ведь не все готовы платить большие деньги за уникальный дизайн.
Тем не менее, множество «коробочных» проектов предлагает широкий выбор различных функциональных и эстетических решений. В связи с этим творческий потенциал дизайнеров и разработчиков весьма широк.
5. Простота поиска специалистов
Для заказчика, в случае если нужно дополнить функционал сайта или что-то изменить, легко найти специалиста, если при создании сайта использовался готовый движок. Для разработчика это тоже является огромным плюсом и дает множество возможностей:
Во-первых, при большой загруженности проектами на готовом движке можно с легкостью найти специалистов, на которых в случае необходимости можно скинуть пару проектов.
Во-вторых, здесь возможен заработок и на посредничестве. Имея хорошо оплачиваемые проекты можно отдавать их в работу более молодым специалистам, которые берут меньшую плату за свои услуги, а разницу оставлять себе.
В-третьих, можно создать свою команду и заниматься административной работой.
Все это тяжело реализовать, используя собственный самописный движок. Ведь привлечь стороннего специалиста для реализации проектов на самописной CMS весьма непросто. Его нужно обучить, а это траты времени и денег. И скорее всего он не согласится тратить на это время без серьезного финансового стимула.
6. Чистота отношений разработчика с заказчиком
Распространенность готовых систем управления контентом обеспечивает прозрачные отношения между заказчиком и разработчиком. Поэтому большинство клиентов выбирают именно их. И в случае необходимости, если не устраивает разработчик, заказчик может найти другого. А вот при использовании самописной CMS клиент как правило привязан к одному разработчику.
Преимущества самописной системы управления контентом
Следует отметить, что самописные движки обладают и некоторыми преимуществами, в основном для разработчиков этих самых CMS.
1. Обучение
Создавая и совершенствуя собственную CMS разработчик получает колоссальный опыт, который сложно переоценить. При этом он совершенствует свои навыки и знания. Хорошо сочетать такую практику с изучением уже готовых продуктов.
2. Монополизм
Реализуя проект на собственном движке, разработчик получает клиента, так сказать «на блюдечке». Это означает, что дальнейшая работа по изменению или доработке проекта будет доставаться именно ему. Клиенту сложно будет найти стороннего специалиста для такой работы.
3. Абсолютное соответствие требованиям конкретных проектов
Готовые системы управления контентом позволяют с легкостью реализовывать любые типовые проекты. Но для создания и реализации сложного и неординарного проекта самописный качественный движок может оказаться лучше. Ведь он пишется под конкретный проект.
Отрицательные стороны использования самописной CMS
Теперь разберем минусы самописной CMS для клиента. В основном клиенты заказывают разработку самописных движков у фрилансера (одного программиста), а не команды. Поэтому я рассмотрю, какие негативные последствия вас могут ожидать при разработке CMS у фрилансера.
1. Монополизм
Если для разработчика это является несомненным плюсом, то для клиента это не очень хорошо. Ведь в итоге он попадает в полную зависимость от разработчика. Таким образом, устранение каких-то недоработок, улучшение, добавление функционала являются прерогативой только разработчика этой системы. К тому же, решение об изменение стоимости обслуживания, пользования лицензией или дальнейшей разработки и модернизации системы остается за автором.
Грубо говоря, разработчик является хозяином и по своей прихоти может сделать, к примеру, бесплатную лицензию платной с какого-то момента или сделать обновления платными или повысить стоимость платных. Не следует забывать, что в его власти использовать все данные задействованные в системе. И если натолкнуться на недобросовестного разработчика то можно в одночасье лишиться всего контента или, скажем, базы клиентов. К счастью, такие случаи скорее исключение, чем правило. Но задуматься стоит.
2. Безопасность данных
Система управления контентом, как и любая программа, может иметь слабое место, которым могут воспользоваться злоумышленники. Поэтому немаловажным мероприятием для обеспечения безопасности данных и надежности используемого движка является проведение аудита безопасности.
В результате такой процедуры проверяются все подсистемы сайта и выявляются уязвимые места, которые в дальнейшем ликвидируются установкой обновлений. Возможны случаи, что при исправлении слабых мест системы, выявленных при аудите, могут возникнуть новые «дыры» или неисправности. По этой причине такая процедура на готовых движках проводится регулярно.
А вот с самописными дело, в основном, состоит иначе. Большая часть разработчиков самописных систем управления контентом, распространяемых бесплатно просто не проводят аудит. Альтруистов в наше время мало. А в платных самописных системах, авторы, зачастую, проводят лишь формальную проверку системы. Таким образом, о надежности самописных CMS можно только догадываться.
В любом случае, если вы выбрали идти по пути самописного движка, то лучше выбирать команду разработчиков, которая сможет уделить должное внимание безопасности вашей системы.
3. Отсутствие большого числа пользователей
Готовые движки, зачастую, используют пользовательский аудит. А если число пользователей использующих данный движок велико, то шанс найти уязвимое место в программном коде, возрастает в разы. Нередки случаи, когда пользователи выявлял ошибки, которые были не найдены при официальном аудите.
Если же используется платная самописная система, то количество таких пользователей является равным одному – самому автору системы. Если же самописная система управления контентом является бесплатной и открытой, то таких пользователей будет всего несколько. Это энтузиасты своего дела и альтруисты, а таких не много.
4. Создание системной архитектуры
Разработка архитектуры самой системы имеет первоочередное значение для ее нормального функционирования. Человек редко может быть высококвалифицированным специалистом во множестве областей. Так и разработчик самописной CMS не может быть одновременно и хорошим системным архитектором.
В лучшем случае такой разработчик берет архитектуру уже готовой CMS, делая в ней по своему усмотрению несколько изменений. И эти изменения не всегда оправданы или безопасны для системы в целом.
5. Некачественный код
Бывает, что самописные системы управления контентом в начале разработки, имея минимальный функционал, гораздо быстрее реагируют на запросы пользователей и могут работать более эффективно, чем готовые CMS.
Заказчик может повестись на это, но когда такие системы обрастают множеством дополнительного функционала, как правило, возникают проблемы с соответствием стандартам хостингов, зависание, некорректная работа и всевозможные ошибки. И в итоге может получиться, что такой движок намного хуже большинства готовых аналогов.
6. Сложный интерфейс
Даже если у самописного движока - программный код прописан верно и без излишеств, системная архитектура в норме и даже безопасность данных на приемлемом уровне, могут возникнуть проблемы с пониманием ее принципа управления у администраторов.
Понятный и простой интерфейс – это одно из основных качеств, которым должна обладать CMS, чтобы получить популярность у множества пользователей, ведь не всем хочется тратить долгие часы на попытки понять тот или иной аспект работы.
7. Наличие понятного руководства пользователя
Продолжая предыдущий пункт можно сказать, что даже сложный и не совсем логичный интерфейс легче понять, когда имеется грамотно написанное руководство для пользователей. Но такое руководство, полноценно описывающее процесс взаимодействия с движком есть не у всех готовых систем.
Что уж говорить о самописных аналогах. В них редко можно встретить подобные тексты или же все руководство сводится к описанию типа: «нажмите сюда, затем туда». А вот нормальные руководства, позволяющие понять общий принцип работы и отвечающие на конкретные вопросы сложно найти.
8. Отсутствие полноценного API
Хотя интерфейс прикладного программирования (API) и не является обязательным атрибутом для CMS, но, все же, его наличие существенно облегчает работу разработчикам и позволяет им без труда разрабатывать на его основе сторонние программы и плагины. А теперь задумайтесь, может ли самописная система, созданная одним автором, предоставить полноценный API?
9. Отсутствие контроля за выявлением лазеек
Как уже говорилось, в открытых готовых ресурсах используется пользовательский аудит, в ходе которого рано или поздно все проблемы безопасности могут быть выявлены.
В платных CMS используется официальный регулярный аудит, проводимый командой разработчиков, иногда в таких системах используются оба вида аудита. В самописных же системах невозможен пользовательский аудит по причине малой популярности, а разработчики, в большей части пренебрегают такой процедурой или попросту сами скрывают свои дыры в системе.
10. Отсутствие сообщества пользователей
В случае использования готового движка почти всегда можно найти решение той или иной проблемы в специализированных сообществах таких же пользователей или обратиться в службу поддержки. А вот для самописных аналогов такого сообщества или службы просто не существует.
11. К кому обратиться за помощью?
Как уже говорилось в предыдущем пункте, в случае возникновения каких-либо проблем можно обратиться к сообществу или в службу поддержки при использовании готовых систем управления контентом. А при использовании самописного аналога можно обратиться только к автору.
Но представим, что нужно решить какую-то проблему и самостоятельно ее решить не получается. В первом варианте можно обратиться к квалифицированному специалисту, а вот во втором такой специалист на стороне, скорее всего, не найдется и придется снова идти к автору системы и дополнительно оплачивать поддержку.
12. Кто тестирует систему?
Перед тем как выставить в свет очередную версию готового движка, команда разработчиков пользуется услугами тестировщиков, что позволяет на ранних стадиях эксплуатации выявить большинство слабых мест системы. А вот уверенности, что такие тесты проводятся в самописных системах, нет.
13. Отсутствие четкой стратегии развития и материальная заинтересованность
В большинстве случаев, при приобретении готовых движков четко прописываются обязанности сторон. Таким образом, разработчики не могут сказать, что какой-либо плагин или же сама система с какой-то версии становится платной, если конечно эта возможность не прописана в правах разработчиков.
А вот в случае самописных систем управления контентом такая возможность не исключена, и пользователь находится в полной зависимости от разработчика. А может возникнуть ситуация, в которой разработчик просто уходит и прекращает всяческую работу и поддержку уже имеющихся пользователей.
14. Не SEO оптимизированный движок
Программисты очень редко знакомы с SEO оптимизацией, поэтому они могут построить самописную CMS, таким способом, что ее надо будет постоянно дорабатывать, чтобы она имела хорошую SEO-оптимизацию.
Поэтому обязательно спрашивайте у разработчика, знаком ли он SEO. Если вдруг не знаком, то вы всегда сможете нанять SEO-специалиста, который поможет программисту на начальном этапе внедрить все SEO-функции в движок.
Выбрать платную или бесплатную CMS?
Как мы уже говорили выше, если CMS платная, то это не означает, что она лучше бесплатной. Все может быть наоборот. У бесплатных движков, например очень развитое сообщество, много плагинов и обучающих материалов. Платные движки, таким изобилием информации и плагинов похвастаться не могут.
Поэтому совет тут такой:
Если вам не хватает функционала в бесплатной CMS, то используйте платные движки.
При покупке CMS обращайте внимание на систему оплаты. Это может быть годовая оплата или покупка движка навсегда.
Главные функции в движке
Почти все движки на сегодняшний день считаются универсальными. Имеют множество различных функций. Но на что следует обратить первоочередное внимание при выборе CMS?
1. Развитое сообщество
Один из главных показателей на которых стоит обратить внимание. Вам легче будет найти по этому движку документацию в Интернете или решить вопрос на форуме. Не проблема будет отыскать и специалиста, который решит вашу проблему.
Обычно у бесплатных движков, сообщество всегда больше. Потому что в силу своей бесплатности они популярнее и доступны всем желающим.
2. Цена доработок
Свой сайт вам всегда захочется улучшать, не всегда вы сможете это делать самостоятельно. Сложные решения вы будете доверяться специалистам. Если у вас не очень популярный движок, то и цена на такого специалиста будет выше, потому что их не так много. Обычно работы на доработку бесплатных CMS стоят дешевле, чем у платных.
3. Seo оптимизация движка
В движке должна быть базовая seo-оптимизация, от этого зависит как ваш сайт будет ранжироваться в поисковых системах. Например, если можно прописать title, description, ЧПУ, оптимизировать изображение, настроить перелинковку, сделать карту сайта, то в сторону этого движка уже можно смотреть.
4. Скорость работы
Необходимо обращать внимание насколько прожорлив движок.Есть ли возможность установить на него систему кеширования или она уже встроенная. Ведь ваш сайт постоянно будет расти и с количеством посетителей, будет увеличиваться нагрузка на сайт.
5. Обновление и развитие CMS
Стоит обратить внимание улучшается, дорабатывается ли движок его создателями. Невозможно создать сразу идеальную систему, его необходимо постоянно улучшать и дорабатывать. К тому же, очень часто меняются технологии и разработчики должны под них подстраиваться. Движок должен иметь постоянные обновления, и не должен быть заброшен разработчиками.
6. Удобная панель администратирования
Большую часть своего времени вы будете проводить в админ панеле своего сайта. Панель должна быть удобной и понятной. Сюда можно отнести и удобство визуального редактора, ведь именно в нем вы будете печатать и редактировать статьи или товары.
7. Управление уровнями доступа
Вы не всегда сами будете писать и редактировать статьи. С развитием ресурса вы будете делегировать эту работу. Поэтому движок должен иметь возможность создавать пользователей с правами доступа.
8. Плагины (модули)
Каждый проект имеет свои потребности и не всегда базовые функции CMS их могут удовлетворить. Для этого существуют плагины (модули), которые дополняют движок и вносят в него новый функционал. В бесплатных движках таких плагинов больше и они в основном бесплатны, как и сам движок.
Так какую CMS все таки выбрать?
Я перепробовал множество известных платных, бесплатных движков и у меня сформировалось свое мнение на этот счет. Все зависит от ваших задач, поэтому надо отталкивать именно от них. Надо понимать, что у каждого движка есть свои плюсы и минусы, где то их больше, а где то их меньше.
Если требуется CMS для решения стандартных задач, то без всяческих раздумий лучше воспользоваться одной из готовых бесплатных систем. Это позволит сэкономить время для запуска вашего сайта.
Для реализации сложных и нестандартных проектов можно воспользоваться и самописной системой. Но это связано с большим риском и гарантий, что вы не попадете на мошенника или просто жадного до денег разработчика, вам никто не даст. К тому же, разработчик просто может бросить свое детище в «сыром» варианте и вы останетесь со своими проблемами один на один. Поэтому выбирайте надежных подрядчиков.
Даже для реализации сложных, неординарных проектов, можно воспользоваться готовыми CMS – благо дополнительный функционал их постоянно расширяется. Это дает возможность для реализации даже самых амбициозных проектов с минимальными доработками.
Я очень скептически отношусь к самописным CMS. Если это какой нибудь небольшой сервис, то это может быть оправдано. Но если это — интернет магазин, блог или СМИ сайт, то не вижу смысла в этом выборе.
Минусы самописного движка:
- Дорогостоящие. Дорогие в разработке для крупных проектов.
- Большие затраты времени. Чтобы довести движок до ума, потребуется очень много времени.
- Опыт в сайтостроение. Чтобы сделать нормальный самописный движок, вам необходимо понимать в seo и других процессах, чтобы предвидеть работу CMS.
- Привязанность к разработчику. Если вдруг разработчик этого движка вас покинет, то не факт что найдется другой, который сможет доделать его работу.
Плюсы самописного движка:
- Заточенность под определенную задачу. CMS будет работать только с поставленной задачей и не будет нагружать систему, другими ненужными функциями.
Если у вас не специфическая задача и у вас нет штата программистов. То лучше отказаться от этой затеи, вы потратите много времени и денег. Лучше довериться профессионалом, которые уже сделали готовые движки. Тем более на сегодняшнее время, выбор CMS очень широк, на любой цвет и вкус.
Что выбрать для информационного проекта?
Если вы делаете информационный, новостной сайт или блог. То здесь безоговорочно, я бы советовал WordPress.
Плюсы:
- Это самый популярный движок из всех.
- Он легкий в управлении, удобная панель администратора.
- Имеет хорошую поддержку и большое количество бесплатных плагинов.
- Не проблема найти специалистов.
- Часто обновляется и устраняются проблемы с безопасностью.
Минусы:
- Для новичка могут возникнуть проблемы с установкой. Но если вы один раз её сделаете, то вы поймете, что она очень легкая на самом деле.
- Движок тяжеловат и оказывает приличную нагрузку на сервер. Решается установкой систем кеширования, которых для wordpress очень много.
- Нельзя создавать одинаковые url при разном уровне вложенности. Например у вас есть рубрика /articles/. Если вы хотите сделать две разные рубрики с одним названием url, но на разном уровне вложенности. Например так: 1) site.ru/articles/ 2) site.ru/blog/articles/ — у вас не получится так сделать. WordPress не поддерживает два одинаковых названия в url.
Что выбрать для интернет магазина?
Мой выбор остановился на Opencart.
Плюсы
- Бесплатен
- Простой в установке и управлении
- Есть все основные функции для интернет-магазина
- Много шаблонов
- Шустрый
Минусы
- Не совсем seo оптимизирован, приходится дорабатывать, чтобы полностью оптимизировать
- Почти все нужные плагины платные
- Неудобная система загрузки изображений
Небольшой магазин можно создать и на woocommerce — плагин для WordPress. Тоже отличное бесплатное решение для небольшого магазинчика.
Что выбрать для форума?
Самый популярный бесплатный движок для форума phpBB.
Плюсы
- Бесплатен
- Развитое сообщество
- Множество модулей
- Постоянное обновление
- Не нагружает систему
Минусы
- Спамеры очень сильно атакуют этот движок. Придется ставить защиту.
- Сложность в установке модулей
Из платного, посоветовал бы Xenforo. Очень мощный, современный форумный движок.
Что выбрать для корпоративного сайта?
Рекомендую Modx.
Плюсы
- Бесплатный
- Гибок — возможно реализовать любые желания
- Не прожорлив к ресурсам
- Много специлистов
Минусы
- Запутаная админ панель
Заключение
Стоит серьезно подойти к выбору CMS и не полениться — почитать обзоры, попробовать различные движки и поинтересоваться на форумах. А уже потом делать свой выбор.
Основывать свой выбор движка на опыте одного отдельного специалиста — не следует. Ведь каждый будет хвалить свой движок в котором он работал и знает его вдоль и поперек!