Сравнение CMS (Систем Управления Контентом)

За основу взят материал из безвозвратно порюханной на Луркоморье статьи.

Content Management System (Двиг, Движок, Мотор, Сайтбилдер) — как правило, представляет собой высер быдлокодера сложный скрипт управления сайтом, созданный для того, чтобы облегчить жизнь вебмастерам и быдлокодерам.

Типы

Существуют платные и халявные CMS. Платные, как правило, встречаются на сайтах редко и ломаются, соответственно, тоже редко. Быдлокодеры используют халявные CMS для написания на них новых CMS или дырявых модулей.

В общем случае CMS делятся на:

  • ECMS — Enterprise Content Management System (Система управления контентом масштаба предприятия).
  • WCMS — Web Content Management System (Система управления Web-контентом).
  • MCMS — Mobile (Wap) Content Management System (Система управления Wap-контентом).
  • SCMS — Simple Content Management System (Система управления статическими сайтами, содержащие несколько страниц, возможно гостевую).

Халявные Движки

« Некоторым мастерам халявные CMS не позволяет ставить религия »
— Анонимус

Особая категория CMS (иногда имеют особое обозначение: движок из паблика, паблодвиг, дырявый мотор), факт — на них построено 90% сайтов всемирной паутины.

Самые знаменитые халявные WCMS:

  • WordPress
  • Drupal
  • Joomla (в девичестве — Mambo)
  • TYPO3 (Тупо3 Тайпо3. Почти неизвестна у нас — видимо, скрывается антифашистами, ибо сделана в…)
  • Php-nuke
  • Atome CMS

Самые знаменитые халявные MCMS:

Пристальный взгляд

Joomla!

В девичестве известная как Mambo. Потом разработчики чего-то разосрались и половина ушла делать свой движок с контентом и удобствами. Mambo, скопипащеная и доработаная напильником, вышла в 2005 году как Joomla 1.0. В течение четырёх лет ветку 1.0 допиливали, параллельно через 2,5 года выпустив версию 1.5, в которой полностью поменяли архитектуру, переписав расширения на MVC (большинство поддерживаемых расширений уже переписаны с поддержкой MVC и какой-то части API и соглашений Joomla!). Тем не менее, всё и сейчас работает через универсальный интерфейс, достаточно посмотреть хотя бы количество кода любого стандартного компонента с небогатой функциональностью, вроде контактов. Позже стала доступна версия 1.6, где расширили систему прав пользователей и сделали неограниченную вложенность категорий (см. ниже), последняя версия — 3.0.3.

Несмотря на лицензию GNU GPL v.2, не является полностью свободной, так как использует, с разрешения правообладателя, несвободные иконки для тулбара административного интерфейса, из-за чего не попала в ортодоксальный Debian GNU/Linux (и не надо).

Сейчас лидирует по популярности среди вебконтор-однодневок, фрилансеров и просто людей, которые решили зафигачить себе крутой сайт за один день (впрочем, Ucoz среди последних популярнее).

Основное Единственное преимущество перед конкурентами — куча готовых сторонних кривых, ущербных и монструозных, свободных и бесплатных расширений, большого количества платных (из них единицы качеством превышают сабж, остальные на том же уровне) и разнообразных шаблонов, бесплатных и платных Наибольшей популярностью из них пользуются расширения:

  • Joom!Fish, обеспечивающее многоязычность (в нормальных CMS это реализовано из коробки, из-за чего куда более юзабельно; Джумлу же обычно проще установить отдельно для каждого языка).
  • sh404SEF (стал менее популярным, когда стал платным), изменяющий вид URL (из коробки SEF присутствует, но он ненастраиваемый), что хорошо реализовано из коробки во всех остальных CMS. Поддерживает компоненты через плагины, возрождающие добрую традицию register globals.
  • VirtueMart, очень многофункциональный интернет-магазин, динозавр среди расширений сабжа. Это стороннее расширение имеет сотни сторонних расширений. За три года существования версии 1.5 этот монстр так и не переписан на архитектуру MVC и только дополнен множеством костылей в использовании API для работы с этой версией.

Ещё один нюанс, раньше бывший большим преимуществом, — большое комьюнити, в котором вершину иерархии занимали величайшие гуру фаллометрии. В целом же, от русскоязычного сообщества пользы было чуть менее, чем нисколько. В настоящее время каждый из достигших приемлемого в собственном представлении уровня ЧСВ создал своё сообщество, где продолжает перепощивать новости с оффсайта и оставаться максимально бесполезным для развития данной системы. Особо хитрожопые, просёкшие фишку впаривания лохам коммерческих движков, переметнулись на другую сторону фронта: бесплатные движки, не позволяющие скозложопам рубить бабло с лохов — есть плохо, а говнобитриксы — это хорошо, ибо дают профит с лохов в 100500% прибавочной стоимости.

До версии 1.6 компонент «Статьи» (Content) допускал лишь трёхуровневую структуру «Раздел» → «Категория» → «Статья», из-за чего для многих сайтов совершенно неюзабелен. В Joomla 1.6 остались только «Категория» и «Статья». В каждую «Категорию» можно вложить сколь угодно иных категорий, которые, в свою очередь, могут иметь сколько угодно других категорий и т. д.

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

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

В отличие от морально устаревших движков с древовидной структурой контента, Joomla! удобна тем, что для создания материала (статьи) достаточно:

  1. В админке кликнуть «добавить материал»;
  2. В появившейся панели создания статьи выбрать раздел, задать заголовок, произвести дополнительные SEO-фрикции;
  3. Кликнуть «Сохранить». В результате изготовленный контент будет выводиться в нужном месте в навигации сайта автоматически.

Slaed CMS & Anti-slaed CMS

Slaed CMS — тот же php nuke, движок которого распространялся по GNU лицензии, но впоследствии был спизжен ЕРЖ по имени Эдик (отсюда и название Slaed: Studio Laas Edwart). Сделано это было исключительно для срывания покровов профита, потому как CMS ВНЕЗАПНО стала платной.

Упоротая cms, в исполнении ЕРЖ

Первая в линейке, Slaed 1.4, была высером, да ещё каким! Как и следовало ожидать, кулхацкеры чуть медленнее, чем моментально, обнаружили кучу дыр и багов в системе. Что особенно доставляло (автор гарантирует, так как сам пользовался) — в движке был бэкдор (все пассы сливались пЭдику на сервак), сделано это было для троллинга особо упоротых пользователей системы. Например, Эдик выпустил новую версию системы, как всегда была анонсирована куча изменений и т. д., но люди, купившие первую версию, естественно, крайне не хотят обновляться, потому как дорого, ёпт. Так вот, Эдик ломал сайт (ломал — громко сказано, все что ему надо было сделать — это зайти в пхп файл, в который дампились пароли, и с помощью Ctrl+F найти нужного человека), а вернуть админку обратно соглашался при условии, что клиент купит обновление.

Стоит так же рассказать про хитрый план: на подсосе у Эда была куча малолетних шавок, которым он давал модерку на форуме slaed.net, и те сносили все темы недовольной клиентуры, а также делали суровый ПиаРъ и даже сайт, вроде как в благодарность от клиентов.

Многим пользователям было не по нраву такое положение дел, и однажды из них собралась команда AntiSlaed (в основном, те, кого кинул Эд), ломанули последнюю версию Slaed, вернули все копирайты и стали распространять ее бесплатно. Количество высраного недоавтором строительного материала составило более, чем докуя, а угрозы и логи переписок, которые позже были выложены в интернеты — утопали во всеобщем хохоте. Сайт АнтиСлаеда падал неимоверное количество раз. Анонимус поговаривал, что пЭдик выражал крайнюю озабоченность и подавал иск за нарушение авторских прав. Но всем покуй.

Крайне не рекомендуется ставить нулённый slaed или antislaed, так как существует риск того, что хостер окуклится и забанит его. Такое бывает, если пЭд делает предъявы, а хостеру, естественно, проблемы не нужны.

e107

Еще одна CMS, имела популярность у школоты и недоВебдизайнеров из-за простоты использования. Был еще один плюс — это модуль LGSL для мониторинга CS, CS:S, WoW серверов, поэтому в то время многие клан-сайты ставили именно её. Историю создания этого высера можно почитать здесь.

Минусы:

  • Сильная нагрузка на хост, абсолютно не подходит для серьезных проектов.
  • Сайт, использующий e107, легко убрать в даун — из-за количества посылаемых запросов в MySQL. 500 свирепых юзеров, и Error 500 — Internal server error прекрасно дополнит дизайн.
  • Проблемы с кодировками (существует 2 ядра системы: с win-1251 и utf-8). Отсюда возникали неиллюзорные проблемы с установкой модулей. Например, админ уже поставил на сайт e107 с кодировкой utf-8, а модуль галереи, который ему нужен, идет под win-1251. Единственный выход — переставлять заново, ибо фикса для этого нет.
  • Проблемы с объединением базы данных: e107 настолько надменная, что хреново работает, когда в одной БД находится вместе, скажем, с форумом (есть и интегрированный форум, но тот уёбищен до безобразия). Очень высок риск, что CMS завернет ласты, и админ лизнет 220.
  • Алгоритм бана пользователей: его приходится долго и упорно дорабатывать напильником и матом.
  • Неудобно постить новости, что огорчает. Если попытаться скопировать новость с картинкой через осла и вставить её — система наебёт вас, что всё успешно сделано, и только.
  • Неадекватная система распределения прав для групп пользователей.
  • И вообще, создатели заподозрены в тяжелых повреждениях мыслительного процесса, ибо кривее e107 системы нет. 99% гарантии.

Плюсы:

  • Относительная простота использования (после установки появляется шаблон, в центре которого красуется сочный лайм: много админов напрягали мышцы ануса, чтобы понять, как его снести нахуй. Но ставить CMS действительно просто).
  • Есть годные модули, которых нет, например, в DLE (взять тот же LGSL или EasyShop).
  • Гибкость в настройке. Настолько гибко, что может вызвать падение CMS.

Самое лучшее применение для e107 — localhost.

WapMotor

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

Позволяет вам создать полноценный HTML(wap), WML или XHTML cайт (Начиная с 16 версии реализована работа всех трех протоколов) практически без знаний html и тем более php В возможность входит полнейшее администрирование сайта через wap-интерфейс Вы можете управлять настройками, гостевой, форумом, чатом, фотогалереей, объявлениями и бан-панелью, просматривать лог-файлы, списки админов, забаненных и ожидающих активации аккаунта, вы можете добавлять новости, создавать рассылки и управлять голосованиями, также управлять статусами, изменять приветствие, импортировать файлы, распаковывать и запаковывать архивы, управлять основными и главными страницами (Только при условии покупки лицензии!) и многим другим Регистрация по всему сайту на сессиях и кукисах, форум, чат, доска объявлений, гостевая, новостная лента, приват, профиль, статусы, легкая настройка, изменение стилей, управление и прокачка персонажа, игнор и списки пользователей и самое важное скрипт работает только с файлами, не требуя Баз Данных (MySQL)!
Цитата с офсайта

Так что же из себя представляет тот самый вап-мотор: огромный скрипт, в каждой версии которого постоянно находятся дыры (при выходе новой версии старые дыры латаются, а новые появляются). По сути — ужасающая конструкция, смена копирайта запрещена, но его меняет каждый, кому не лень (автор никогда не имел опыта общения с зендером и не представляет, что это такое). На оффсайте продаётся лицензия — каждый, кто её купит, дурак получает дополнительные возможности, в частности разрешение на смену копирайта. Автором скрипта называет себя некий Вантуз, хотя существует множество слухов, что автор вовсе не он, но это и не важно. Знаменитый бесплатный говнохостинг h2m предлагает своим новым клиентам автоматически установить этот вап-мотор на сайт. Вап-мотор не использует MySQL и думает, что это плюс, хотя любой грамотный кодер даже и представить себе не может нормальную CMS на файлах (есть предположения, что автор вап-мотора не знает язык запросов MySQL). Вап-мотор ищите тут.

1C Битрикс

« — Где можно оправданно использовать Битрикс?
— В анекдотах.
»
— твит на IT конференции, 200+ ретвитов

Унылая платная CMS, состоящая из говнокода чуть менее, чем полностью (в версии 8.0 уже чуть более чем полностью, я гарантирую это), от одноименной конторки, которая впоследствии была куплена 1Сом[3]. Как и все продукты данной компании, является высером (интересующиеся могут зайти на [1] и поискать там примеры кода из Bitrix — это нечто) и способом зачистки карманов леммингов, которые пробуют вести серьезный бизнес — ибо функционал сравним с бесплатными CMS. Однако, 1С далеко не глупа по части извлечения PROFIT’a и оказывает довление путем лютого троллинга фирм, которые пытаются отбиться от рук.

На официальном сайте есть раздел отзывов, где пестрят сообщения довольных клиентов, и всяческие попытки опорочить CMS безжалостно удаляются (стоит премодерация постов).

Во главе этого безобразия стоит некто Сергей Рыжиков. Вне всякого сомнения, после смерти он попадёт в адЪ, где черти будут вечно кормить его раскалённым говном.

Алсо, есть мнение, что юкоз и тот надежнее и удобнее битрикса, так как программисты срали в код и не стеснялись. Единственное преимущество — мануал на русском, но кто ж его читает…

Диапазон цен на сей шлепок коричневой массы колеблется от 1990 руб. за стартовую комплектацию (с которой работать не имеет смысла, так как разрабы постарались выпилить все самые нужные модули — чтобы медвежата покупали более дорогие версии) до 249 900 за редакцию «Бизнес веб-кластер». Примерно за эти же деньги можно взять б/у ВАЗ 2114, или иномарку выпуска начала нулевых, с пробегом, но в идеальном состоянии. При этом указанная сумма — это чисто «лицензия» на один-два сайта плюс один год обновлений и техподдержки.

Работа битрикса на shared-хостинге обычно обречена на провал вследствие того, что данный высер требует правки конфигурационных файлов php, к которым, как правило, доступа нет. Админы же не имеют стремления трогать то, что и так работает.

Drupal

Издавна считалась первейшим конкурентом Joomle’е, а также более продвинутой, но более сложной в освоении. Изначально выносит мозг быдлокодерам своей монструозной гибкостью (кроме CMS его иногда сравнивают с CMF: Content Managment Framework). Несмотря на то, что друпал написан на PHP, знание оного желательно только для понимания базового синтаксиса.

В базовой поставке являет собой что-то вроде достаточно продвинутого коллективного блога, что дополнительно вводит в ступор возжелавшего создать свой хоумпейдж творца. Более продвинутые товарищи с ходу сносят лишние модули, вроде комментариев, и навешивают на систему два модуля-кита Views и CCK + ImageField. В седьмой версии достаточно поставить только Views, CCK + Image уже находятся в ядре, а в Drupal 8 иViews в ядре, так что и его ставить не придется.

Views — это крайне прогрессивная система (особенно с расширениями) для создания выборок из созданного контента, с помощью которой можно построить и галерею, и ленту новостей, даже несложный форум. Алсо, первейший брейнфак не знающего SQL.

CCK (Content Construction Kit) — модуль для создания новых типов контента. Например, текст + две картинки + произвольное поле = полноценный элемент (node) веб-магазина, к примеру. Потом выводим их views’ом (не обязательно, но обычно так и делают), и каталог готов. В Drupal 7 большая часть CCK интегрирована в ядро.

ImageField — это просто дополнительное поле в ССК, позволяющее загружать картинки.

Вуаля, 85% сайтов может быть запилено этим нехитрым набором.

Еще более продвинутые пацаны имеют несколько уже оптимизированных под разные типы проектов сборок — например, «блог», «портал», «магазин» и «визитка». Есть даже один полуимиджборд, работающий на этом движке. Но, к тому моменту, как ты, аноним, дойдешь до таких высот быдлокодерства, количество высранных кирпичей на тему БЛДЖАД, КАК ОНО РАБОТАЕТ? позволит собрать тебе полезную в хозяйстве печку на дачку.

Drupal+Views+CCK — это нечто среднее между обычными CMS и хорошими, годными MVC-фреймворками. Так что, юный друг, если не хватает стандартного функционала CMS (+ готовые модули), то берись лучше сразу за рельсы, джанги и симфонии. Ибо всё равно с костылями ты упрешься в предел, когда нужно будет писать код, а это требует знания стольких обходов ограничений и банальных багов в ядре, что лучше уж сразу использовать нормальные инструменты, а не программировать мышкой. Кстати, написание handlers для Views — вершина майндфака в сабже.

Йа рисую на асфальте Drupal-каплю

К недостаткам системы относят очень высокую (только хитрым использованием views и cck, что не редкость) нагрузку на БД и малое количество готовых вменяемых тем, которые так любят профессиональные разработчики. Зато дефолтная, как и в MediaWiki, вменяема, в результате чего админка сделана на ней же.

Надо заметить, что и через полтора года после выхода версии 7 в начале 2011-го обычно нужно хорошо присмотреться, все ли нужные модули портированы, иначе придётся фактически всё переделывать под 6-ю версию, в которой, в свою очередь, не будет новых возможностей ядра и новых модулей.

Отдельные drupal-задроты из Бульбасранитраны впали в детство и нарисовали гигантскую каплю — символ Drupal. Мало того, они начитали под это дело рэпчик и засняли процесс на видео

WordPress

Он же БыдлоПресс. Эпичнейший высер быдлокодеров и эталонный пример bloatware, написанного на говнокоде. Главный конкурент Ucoz по количеству сделанных говносайтов.

Завоевала огромную популярность у школоты и быдла по банальной причине наличия over 9000 готовых кривых шаблонов, халявных ущербных расширений и простой админки, не требующей наличия мозга. Также, систему полюбили профессиональные разработчики, создающие профессиональные сайты™ за еду. Но самая больная любовь у всяких говноблогеров, потому что этот движок был создан именно для создания и ведения блогов.

С технической точки зрения, представляет собой живой труп, жизнедеятельность которого поддерживается аппаратом искусственного кровообращения кэшированием всего и вся; если отрубить кэш, у системы наступит клиническая смерть, в предсмертных конвульсиях творение былокодерства высирает порядка 1500 запросов к БД, а лог запросов превышает 1 мегабайт (пруф). Тогда как движки, написанные собственно программистами, продолжают спокойно работать и без кэширования, лишь чуть-чуть потеряв в быстродействии (пруф).

Ввиду того, что сабж состоит из говнокода чуть менее, чем полностью (пруф), от момента начала загрузки страницы до окончания выполняется очень много «лишнего» кода. А поскольку основная масса пользователей представляет собой нищебродов, которые не могут позволить себе прикупить нормальный хостинг, ресурсов которого стабильно хватало бы для питания монстра, в интернетах можно встретить многочисленные вопросы юзеров о том, как можно оптимизировать WordPress. В результате, вместо того чтобы оптимизировать систему, отключив лишний функционал, сабж обвешивают дополнительными кривыми плагинами, изменяют стандартные настройки, и система начинает тормозить ещё больше.

MODx

« Какой PHP-фреймворк вы используете?
smidth:
— Использую MODX. Его стоило бы добавить в основной список, т.к. система довольно популярная и имеет достаточно большое сообщество.
side2k:
— Это та, у которой шаблоны в БД хранятся? Популярна?
»
— Опрос на Хабре.

Расово пиндосская система управления контентом (СУК). Малоизвестный в Этой стране PHP-шушпанцер, в основном из-за того, что школьники не знают аглицкого языка (а community все англоязычное кагбэ из-за происхождения движка). От остальных веб-поделок выгодно отличается тем, что не требует каких-то особо изъебистых шаблонов: любой кусок HTML-кода — это уже шаблон для MODx. Остается только впиндюрить в нужные места метки для вывода данных (т. н. плейсхолдеры). Позволяет поднять веб-сайт уровня визитки, промо-сайта или имиджевый ресурс буквально за считанные часы. Если верить рекламке на сайте, то имеет встроенный AJAX (то есть типа обмен данными не будет вызывать перезагрузок страницы), удобен для СЕО и имеет репозиторий расширений и дополнений системы.

На практике же все это (кроме шаблонизатора) чуть более, чем полностью, является полной брехнёй. Аякса нет никакого — нужно самому ручками нахуярить довольно сложную прослойку для обмена данными и выполнения кусков кода (сниппетов в терминологии MODx), всё, что нужно для человеческой поисковой оптимизации, приходится долго и нудно велосипедить. Существующие дополнения чуть менее, чем все, не выполняют своих задач и на 50%. Взять тот же Shopkeeper — дополнение для создания интернет-магазинов: из коробки не умеет почти нихуя, кроме, собственно, корзины, отслеживания заказов в админке и складывания товаров в базу данных. С дополнениями (в том числе и платными) умеет принимать оплату в электронных деньгах, импортировать данные из Экселя. И, собственно, всё. Остальное делает программер с помощью зубила, молотка и ебёной матери. В итоге, создание мало-мальски сложного проекта сводится к чудовищному велосипедизму, от которого программер будет икать и вздрагивать еще не один месяц после завершения проекта.

MODx имеет две ветки развития: Evolution и Revolution, соответственно Evo и Revo. Evo — более старая ветка, имеющая более простую архитектуру и позволяющая сравнительно быстро писать дополнения к системе. Revo более сложная, не в пример Evo тяжелее для браузера и для сервака. Попытки написания всяких свистелок и перделок для Revы после долгой работы с Evo заставляют кодера безудержно фалломорфировать. Также версия Revo славится своим неслабо тормозящим интерфейсом админки (сказывается «работа» ExtJS, на котором эту админку и сделали хитрожёппые пиндосы).

Практика использования MODx для сложных проектов (естественно, с нереальным количеством аффтарских дополнений/великов) показывает, что сайт может ВНЕЗАПНО наебнуться в любой момент времени практически независимо ни от чего. Бди, въеб-мастер!

Итоги подведем

Pro:

  • ОЧЕНЬ просто делать шаблоны. Любой HTML можно использовать для отображения данных сайта, не напрягаясь вообще никак;
  • Можно изменять и коробить выводимые данные как угодно при помощи планаплагина PHx (обрабатывает данные по заранее написанной процидурке на любимом ПыХыПы);
  • Если чего-то не хватает в системе — можно сравнительно безболезненно написать свое (при этом сложность написания напрямую кореллирует со сложностью пожеланий клиента).

Contra:

  • Отсутствие готовых дополнений, качественно выполняющих свои задачи;
  • Обратная сторона волшебного шаблонизатора: все шаблоны хранятся в БАЗЕ ДАННЫХ! Эта несусветная ебанистика способна свалить с ног любого, кто видел другие CMS ранее и кому приходится редактировать/делать отладку большого количества шаблонов на MODx: постоянная дерганина из IDE в браузер и назад — это только первые 5-6 часов весело. Находятся, однако, альтернативно одаренные, которые правят код и верстку прямо в браузере, но это надо сильно много выпить, шоб так над собой надругаться. Да, кстати, та же ебанистика и с кусками кода (сниппетами): они тоже все ТАМ!;
  • Модуль в MODx — это не то, что будет работать на фронт-энде сайта, это такая хитрая хуета для работы с данными и сайтом вообще внутри админки. То есть, нет возможности работать с одним и тем же компонентом, но в разных режимах: с морды сайта и с админки. Это должно делаться двумя разными компонентами системы. Правда здорово?;
  • Сложность прикрутить AJAX-обмен данными, причем так, чтобы он не ломался и его не поломали любопытные хацкеры;
  • Нет «из коробки» никаких возможностей для поисковой оптимизации сайта: ни тебе sitemap.xml, ни ключевых слов;
  • Нет НИ ОДНОЙ блджад нормальной или хотя бы работающей интеграции MODx с форумными движками;
  • Чтобы настроить регистрацию и авторизацию юзеров на сайте, придется скурить не один стакан шмали и не один форум мануалов;
  • Нет мультиязычности. В Revo, по заявлениям разрабов, есть, но так же, как с AJAX — при помощи велосипедов с двумя рулями и квадратными колесами (введена система контекстов страниц, то есть «суперразделов» в дереве страниц).

А так MODx хороший и пушистый. Честно-честно. Ну поюзайте, а?