Я делал бы на CMS Joomla.
Почему? я знаю её лучше (в плане устройства и фреймворка), чем WP.
А вот что из них лучше - я не знаю...
Поэтому, коллеги которые знают и то и то, думаю, прокоментируют.
ФС как хранилище - реально работающее и быстрое решение в "прямых" руках кодера. Можно ли сделать ещё быстрее?
Легко: конечный рендеринг (HTML-секцию) каждой статьи вместе с комментариями - сохраняем в кэш-файл. При изменении данных - обновляем кэш-файл конкретной статьи.
В итоге, порядок такой:
1. POST: Новые данные (новый пост, коммент) -> рендеринг HTML-кода -> сохранение в кэш-файл.
2. GET: Запрос на вывод -> HTML из кэш-файла -> общий шаблон сайта.
Также, можно еще быстрее: организация серверной системной сессии для промежуточного хранения динамически вычисляемых результатов. Например, результаты часто используемых поисковых запросов или фильтров.
Никакой... (к сожалению)
PS: CMS Joomla - ближайший и первый по адекватности претендент на эту роль, которая с минимальными трудозатратами позволяет всё корректировать под необходимые требования ПС.
Проще разрешить пользователю сделать пост данных, но не записывать в базу. Затем пишите, что для публикации - укажите e-mail.
Если юзер есть - спросите пароль, если нет - линк подтверждения на почту и сообщение, чтобы он подтвердил постинг.
Нажмёт на линк из письма - у вас будет туча инфы для анализа и если все плохо - попросите его сыграть в капчу)
Вы запросили архитектурный класс полного цикла разработки.
Вижу 2 пути:
1. Разобраться самому - начните тут.
2. Использовать готовый архитектурный "скелетон" с несколькими готовыми модулями. Например, этот.
Могу подсказать, что Вам нужна CMS-система с компонентом визуального расположения визуальных модульных блоков по сетке с заданным шагом.
Под Joomla-у: https://www.gavick.com/free-joomla-modules
Все можно сделать.... (как бы странно это не звучало....)
1. Нужно составить схему архитектуры, создать список классов и их методов, функций и т.д..
2. Наложить файлы на архитектуру, чтобы понимать где что делается.
3. Затем, рефакторинг архитектуры и кода (если необходимо и есть время).
Продолжать работу.
PS: не очень приятная работа, однако без неё однозначно всё встанет в ближайшем будущем на этом решении без необходимого понимания и документации разработчика.