The method you describe is fine but the average user will quickly run into a lack of features that are taken for granted with that approach, and if they then progress to something more "mainstream" it will probably be way more complicated than this.
Your comment already assumes that just because a person can type in commands on a terminal, they need to know about version management, nginx configuration and letsencrypt setup.
If you look at the site docs [0], it further syncs from local to remote.
Also, in many cases all the overhead that we, as software developers assume we should have for everything, need not be the case for just a simple website.
[0]: https://github.com/small-tech/site.js/blob/master/README.md
sudo apt-get install nginx
Check where nginx puts the www directory by doing a google search, "myos version nginx default directory". cp index.html /var/www/
cp latestphoto.jpg /var/www/
# or use your OS GUI file manager
Set up the port forward from the router to localip:80 and you're done.You're assuming you need HTTPS but it's a personal static site so no letsencrypt is needed yet. You're assuming they need to configure nginx, but they don't the debian/ubuntu defaults are fine. You're assuming they need to learn version management for some unfathomable reason but I can't even understand that. You're assuming people need some sort of 'sync' but they don't. That's what an OS file manager is for.
It's really not that complex unless you make it so.
Buying a domain name, buying web space, pointing the domain name to the web space, uploading files. Does seem ever so simple compared with a million other complex workflows.
And yet, it didn't really catch on.
Give someone a one-click installer and the bottleneck will still be content creation and design by committee.