Самая лучшая бесплатная админка - Django. Посмотрите количество коммитов, количество разработчиков и дату первого релиза - сразу понятно мощный проект. Но там придется описывать модели,
class Person(models.Model):
first_name = models.CharField(max_length=30)
last_name = models.CharField(max_length=30)
class Musician(models.Model):
first_name = models.CharField(max_length=50)
last_name = models.CharField(max_length=50)
instrument = models.CharField(max_length=100)
class Album(models.Model):
artist = models.ForeignKey(Musician, on_delete=models.CASCADE)
name = models.CharField(max_length=100)
release_date = models.DateField()
num_stars = models.IntegerField()
и без кода новое поле в админку и на сайт не добавить. Но описав модель верстка, сохранение в базу, javascript генерируются автоматически (поскольку ты описываешь уже встроенные типы данных типа models.IntegerField, и для них уже сделаны поля для админке). Главное преимущество Django - плоская структура данных (в отличие от Entity/Attribute/Value). Это обеспечивает максимальную скорость.
Если нужна прям CMS, чтобы вы могли создавать новые поля без кода, то можете взять Битрикс, там данные хранятся и в плоской таблице (если возможно только 1 значение в поле) и в Entity/Attribute/Value - если поле с множественным значением. Это медленее. Но сразу скажу - навряд ли вам запрограммируют сайт так, что вы добавляете поле в админке и оно сразу выводится на сайте - продумать дизайн для универсального случая разных полей очень сложно.