1) Не на JS. Раньше для этого активно использовали
фреймы
2) Когда я только тоже начал изучать HTML и делал свой первый сайт - я задавался подобным вопросом и сделал свой примитивный шаблонизатор как раз на JS (давно уже писал об этом).
Для этого выносим весь код шаблонный в JS файлы (в
переменные), а потом просто вставляем их в нужных местах через
document.write
Как это работает и сам код можно посмотреть на
моём первом сайте
Думаю начать стоит с одного из этих двух пунктов. Потом изучить следующие
3) Загружать только главную страницу, а потом аяксом осущевстлять загрузку и переходы (см. 5 пункт старую версию статьи)
4) Аналогичный второму и третьему способ, только подгружать аяксом шаблоны и вставлять.
5) Просто почитать
тут (
старую версию статьи тоже можно посмотреть) и понять, что ничего не понял и вернуться к первым двум пунктам
6) загуглить "JS шаблонизатор", может быть найдешь готовый, который покажется тебе легким в освоении.
7) Самое адекватное и лучшее: воспользоваться серверной стороной. Это кажется сложнее, но на самом деле легче всех способов. Лучше PHP, поставить несложно и недолго, всё равно потом придётся. И просто воспользоваться
include. Можно воспользоваться и другими, например NODE JS, и использовать подобное на JS, но это сложнее, хотя более модно.