I find it interesting that people still catching up on SSG, my sites are statics, if not ssg (zola) they are just html/js/css, and that was before LLM boom, it’s far easier now to do.
Also in this era, I would avoid anything python/C/C++ or things built on top of them like PHP, the former one was never meant to be anything but to hack few things for data scientists, and the later is ancient memory unsafe one. There should be a new language (besides the safe ones) where it’s ok if it’s unreadable to humans but it checks all safety and security checks, written by LLM based on the specs you write, we passed the point now where you think you are better than llm in writing the syntax.
I've posted about my site Iron Arachne before, but it's relevant here. The entire thing is just HTML, CSS, and JS. It's much more complex than a blog. https://app.ironarachne.com/
Yes, as long as you hand off the parts that need to be live. The catalog, product pages and even a search index can be generated at build time, and checkout goes to a hosted service (Stripe Checkout or Payment Links, Shopify's Buy Button, Snipcart and the like) that handles the cart, payment and tax. A webhook from wherever you edit products triggers a rebuild.
The catch is anything that changes faster than you rebuild, mainly stock counts and prices. The usual approach is to treat what's on the static page as a hint and make the checkout side the source of truth, so a sold-out item fails at checkout instead of being oversold.
For a small catalog that's a pretty comfortable tradeoff.
Also in this era, I would avoid anything python/C/C++ or things built on top of them like PHP, the former one was never meant to be anything but to hack few things for data scientists, and the later is ancient memory unsafe one. There should be a new language (besides the safe ones) where it’s ok if it’s unreadable to humans but it checks all safety and security checks, written by LLM based on the specs you write, we passed the point now where you think you are better than llm in writing the syntax.
The catch is anything that changes faster than you rebuild, mainly stock counts and prices. The usual approach is to treat what's on the static page as a hint and make the checkout side the source of truth, so a sold-out item fails at checkout instead of being oversold.
For a small catalog that's a pretty comfortable tradeoff.