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