Когда я запускал такие проекты, небольшие проекты, я просто создал небольшой инструмент для кэширования всех страниц, к которым обращались с этого сайта.
например:
если кто-то откроет мою перезапись: http://www.example.com/about-us.html он получит доступ http://www.example.com/about-us.php
в моем глобальном файле я сделал что-то вроде этого:
когда кто-то заходит на эту страницу, я проверяю, существует ли /cache/about-us.html, если это не так, я бы $cache_content = implode('', file('<a href="http://www.example.com/about-us.php" rel="nofollow noreferrer">http://www.example.com/about-us.php</a>'));
открывал веб-страницу извне и записывал на диск. :
<?php
$cache_content = implode('', file('http://www.example.com/about-us.php'));
$date_cached = date('U');
$data = $date_cached."\n".$cache_content;
$fp = fopen('/cache/about-us.html', 'w');
fwrite($fp, $data);
fclose($fp);
?>
затем в файле global.php, как я уже говорил выше, он проверяет этот файл, если он находит его, он открывает и читает эту дату, если мне исполнилось 3 дня, я заново сгенерировал файл.
Я также добавил в CMS способ очистки всего кэша.
Удачи.