Speedy Ghosty!
This website is neither static nor headless :-) I'll go there after someone else has simplified that process a bit.
In the meantime, Ghost's inherently efficient architecture makes optimization tweaks mostly inconsequential. But, I do always notice (and do always loathe) even millisecond delays.
(I further admit that I may be a little bit addicted to achieving a 100% performance rating.)
So I've applied some of the recommended optimizations to this site.
Recommendation 1 - Serve Scaled Images
Firstly, GTmetrix reported that my user avatar was being "resized" by Ghost (made visually smaller, but not actually scaled down in filesize to save bytes) from 100px down to 30px. GTmetrix frowned, urging me to save a few bytes and provide a version of my avatar that was actually 30px.
So I went to pixlr, loaded up the 100px avatar I had made, and saved a new copy, scaled down to an actual size of 30px.
Then, in post-card.hbs I changed the profile_image size from size="xs" to size="xxs" to force Ghost to go find and serve up the new, smaller (30px) image...
This allowed Ghost to load the smaller version of the image file from a different directory where it thought the 30px version of the image should be.
To thank me for my trouble, GTmetrix choked up an actual error (since those sub-directories did not exist)...
So I created the sub-directories, and upload into the bottom folder my new, scaled-down (30px) avatar image...
Then I remembered to purge/clear the cache on the server... and was rewarded...
Recommendation 2 - Remove Redirect Chains
Secondly, GTmetrix told me (twice) to "Remove the following redirect chain if possible."
... if possible? Now the GTmetrix was just taunting me. Just watch me dig into a challenge like that...
To accommodate, I created new sub-directories to provide the file locations (as above) where it seemed Ghost was expecting to find the images, and moved the images into those new bottom directories. But this time I just copied over the (same-sized) original images.
Then, remembering again to purge/clear the cache on the server, I was again rewarded...
But wait - not so fast... following that last step, GTmetrix threw me a new directive...
To accommodate, I removed size="l" in index.hbs to prevent Ghost from looking for a (non-existent) larger version of my site logo image...
Again, I remembered to purge/clear the cache on the server, and was rewarded again...
So, now I have a 100% PageSpeed Score on my Ghost site, along with the satisfaction of some fun time spent learning and practicing new things!
And performance ratings from Google Page Speed Insights...
And here a similar performance result at web.dev...
I imagine there are more simple solutions (I consider what I did here to be hacky little work-arounds.) I'll post here if/when I discover better solutions.
OTHER IDEAS
https://www.paolotagliaferri.com/how-to-make-ghost-blog-super-fast-page-experience/