Du bör kolla in
http://se.php.net/ob_start - den gör att du kan skriva till en buffer som du enkelt kan skriva ner till disk. Dvs du behöver inte göra några förändringar i din webbsida mer än en ob_start i början och en ob_flush eller vad den heter i slutet av sidan.
Sedan kollar du i din kod bara om det finns en nyligen cachad version av din sida, då visar du den för besökaren, annars renderar du sidan.
Vill du gå steget längre så använder du cron/at för att ta bort gamla filer tillsammans med tex find och kollar redan i tex .htaccess om filen finns eller inte med flaggan "-f".
Låter det krångligt? Google vet mer... :P