Pues con includes precisamente...
Yo lo hago así: en la izquierda el menú, cada elemento del menú tiene un enlace del tipo: index.php?modulo=loquesea
Todos los módulos se cargan en index.php, de manera que todo el site está compuesto de una única página dónde se van cargando los módulos...
En el index hay un switch que comprueba el valor de 'modulo' y en función de ese valor carga (include) una u otra sección, siendo un 'modulo' simplemente un script en php que devuelve una tabla html (o lo que sea).
Fíjate:
http://djnelson.webcindario.com
Todo lo que se ve en la web está dentro de una tabla de 3 celdas (que no se ve), los modulos de la derecha (el menú, el cuestionario, el buscador...) en una celda, todo lo que se ve en el centro de la página en la segunda celda, y los módulos de la derecha en la tercera celda.
Saludos.