Вы правы: через iframe блоки сайта никто не соединяет уже лет 20. В современных сайтах блоки хедера, футера, меню, контента верстаются отдельно и собираются в одну страницу, а вот каким образом тут уже есть варианты:
- самый простой - на уровне вебсервера с использованием SSI(Server Side Includes), но используется сравнительно редко;
- самый распространенный - когда бекэнд на лету собирает страницу перед отдачей клиенту, но это не ваш вариант;
- для статических же сайтов обычно используют либо "генераторы статических сайтов", либо настроенную систему сборки типа webpack/gulp, которая собирает css/js/html "блоки" в единое целое.
Так же сейчас популярны SPA(Single Page Application) сайты, в случае визиток инфа сразу же загружается со страницей, а там уже "разбивается" на разделы с помощью верстки/js/css, в случае чего-то более динамического инфа подгружаться на лету с помощью js.