Предлагаю создать отдельную категорию администраторов сайта с контролем версий. То есть у роли практически не ограничен доступ редактировать всё, как у владельца сайта(кроме данных владельца и выделения ролей), но он работает в своей версии. После завершения сеанса(в течении времени или по запросу) владельцу приходит запрос на склейку сайта с версией сотрудника. Со списком внесенных сотрудником изменений. Просмотрев список изменений владелец может принять или отклонить слияние версий. И ещё лучше, если изменение на каждой странице сайта(категории, товаре, всё что имеет свой url) будет отображаться в виде пункта в списке изменений с возможностью отменить или подтвердить каждый такой пункт по отдельности.
В общем типа git. Но со спецификой CMS с визуальным редактором. Я думаю это можно реализовать.
Это позволит использовать труд фрилансеров. И значительно увеличит эффективность работы над сайтом. Очень важная функция для микро компаний.
Не обязательно фактически делать копию всего сайта для каждого такого "СуперПользователя", пусть он работает с оригиналом(вы же все равно делаете бэкап) разница лишь в формировании списка изменений. Понятно, что тяжело будет реализовать синхронную работа множества таких пользователи, поэтому предлагаю ограничить их от 1 до 2.
Мне кажется мы к этому придем в ближайшем будущем.