Se hai voglia di
sbatterti si può fare una soluzione ibrida js/xmlhttprequest/php di questo tipo:
tutte le tue pagine devono essere .php, e se richiamate con un parametro del tipo
?solocontenuto=1 allora danno in output solo il contenuto del div, senza il codice che lo circonda, altrimenti danno la pagina intera
nel tuo menu, metti sia un js che richieda le pagine nella suddetta "versione ridotta" e le inserisca nel div, sia i normali link alle pagine intere, nel caso javascript non sia disponibile.
Funziona, degrada decentemente, è leggibile dai motori di ricerca. Ti devi sbattere un filo, e alla fine (come tutte le pagine ajax) mandi a quel paese il funzionamento del pulsante Back.
Dato il rapporto sbattimento/vantaggi/svantaggi, ti direi di fare le pagine normali e bon