una forma muy básica de hacer eso es
crear una plantilla única
index.php supongamos
Código PHP:
Ver original<div id="menu">aqui el menu</div>
<div id="contenido">
<?php
$pag = $_GET['pag'];
include($pag . ".php");
?>
</div>
<div id="footer">contenido del footer</div>
en los links de tu menu pasas
index.php?pag=noticias
index.php?pag=contacto
y por supuesto tenes creadas
noticias.php
contacto.php
en lugar de usar includes podrias recuperar contenido de una BD
ese ejemplo que te paso es muy pero muy básico, necesita de mejoras
Saludos