Проблема с предлагаемым решением включения материалов на каждую страницу вашего сайта состоит в том, что вам нужно обновить все страницы вашего сайта, если вы хотите включить другую вещь, скажем, боковую панель.
Лучшая идея - вообще не иметь соединения между скриптом и страницей. Таким образом, вы не пишете php-файл на страницу, которую хотите показать. Вместо этого используйте один файл фронт-контроллера, большинство используют index.php в корне сайта. А затем используйте Apache mod_rewrite или другие методы сервера, чтобы иметь гибкость в URL вашего сайта. Затем пусть index.php отображает различные URL-запросы для обслуживания разных страниц, после чего вы можете поместить все страницы вашего сайта в базу данных или куда-то еще.
Таким образом, на вашем сайте есть только одна точка, включающая шаблоны для верхнего и нижнего колонтитула, поэтому ее легко изменить, и вы можете использовать корень сайта для обслуживания запросов AJAX, в которые вы не хотите выводить HTML, но JSON, например.
Афаик, это хороший способ сделать это.