Знаком с несколькими CMS, реально делал сайты на Друпале и MODX. Опыт в веб-программировании минимальный, стал детально изучать PHP столкнувшись с неприемлемыми для меня недостатками CMS.
На взгляд новичка, основные недостатки Друпала и MODX (и, наверное, других подобных CMS)/
1. Попытка сделать универсальную CMS как для программиста, так и для непрограммиста.
2. Попытка включить в ядро CMS как можно больше функционала.
3. Следствие двух первых пунктов - большая избыточности кода, медленная работа, чрезмерная нагрузка на сервер, чрезмерное количество запросов к БД и прочее, что делает сайты на такой CMS неконкурентоспособными.
Поскольку невозможно сделать универсальную и оптимальную CMS в одном флаконе, необходимо, наверное, делать CMS как минимум в трех реализациях.
1. Сборка Микро. Только для программистов. Только минимальный набор самых необходимых компонентов ядра. Все остальное может подключаться как расширения. Из обязательных компонентов админка и скрипт работы с БД (предпочтительно только для MySQL).
2. Сборка Мини. Только для программистов. Более полное ядро. Добавление системы регистрации пользователей. Все остальное подключается как расширения.
3. Сборка Универсал. Для программистов и непрограммистов. Расширенные функции ядра. Возможность работы с несколькими БД. Расширенный функционал на основе дополнительных модулей (расширений). Различные сервисы для непрограммистов.
Блочно модульный принцип построения CMS, в идеале, чтобы из сборки Микро можно было собрать и Мини и Универсал.
Ключевые установки - жесткий минимализм, недопустимость наращивания функционала в ущерб значимой потери быстродействия и/или значимого увеличения нагрузки на сервер.
Жестко ограниченный набор минимального функционала, чтобы для пользователей CMS, преследующих разные цели, в нагрузку попадало как можно меньше не нужных им функций.
Примерно так. В этом случае сайты на такой CMS могут приблизиться по быстродействию и конкурентоспособности к сайтам без CMS.