В качестве единого подхода к проектированию SPA (поисковики и браузеры), добавлю информацию о своём мини-фреймворке
includeHTML, который позволяет как раз:
1. Сверстать шаблон, который может запускаться и работать полностью локально (без сервера!), загружая динамически нужные блоки страницы.
2. На нём очень просто создавать SPA, содержащие различные информационные блоки, которые можно раздельно отдавать с сервера, а для ПС(поисковых систем) - сшивать в единую HTML-страницу на стороне сервера.
3. Быстро понять, как использовать.
В плане быстрого шаблонизатора для JSON на стороне клиента - могу посоветовать
REX Tiny Templater