Можно ли как-то закешировать сайт на локальной машине и разместить ... на VDS
Можно, используя какой то кэширующий wp плагин (автор указал wp тег в вопросе), по типу simply static или wp2static, плагин обходит весь wp и генерит статику, которую потом можно залить на vds. Но тогда не будут работать стандартные плагины форм и другие, которые обычно шлют запрос на /wp-comments-post.php, /wp-json/... итп. Затем, нужно будет что то придумать с роутингом, т.к. на wp у вас будет отдаваться страница по адресу /some-page, а на сервере будет лежать some-page.html
в идеале раз в сутки обновлять кеш с локальной машины (типа снимать снимок)
cron (раз в сутки, ночью) + rsync (заливать только обновленные файлы статики) + ssh.
А можно не изобретать очередной велосипед и воспользоваться стандартной практикой - поставить nginx fastcgi cache, который сам закэширует wp, размещенный за этим nginx.