ИМХО, если пишешь CMS, то то лучшим вариантом будет следующий — жесткая форма для страницы(лучше почти прямое отображение в БД) + возможность добавлять дополнительные поля(типа key-value, тогда в шаблоне легко вывести это через {доп. поле key}) + конструктор форм и много виджетов. При определенной доле строгости можно реализовать почти все. Для контента классно будет иметь rich editor, который будет работать с библиотекой мультимедиа. Посмотри Wordpress(правда не все что я описал, он может из коробки).
Другое дело если хочешь написать CMF, тогда нужно сделать возможность кодинга из админки, но для пользователя такая админка не годится.
Посмотри Modx.