Building a boring static site that is easy to operate
Static sites are useful when the goal is to publish durable information with a small operational surface. The best version is intentionally boring: no database, no runtime migrations, no background workers, and no hidden dependency on a build server.
Checklist
- Serve prebuilt HTML, CSS, JavaScript, and media from a single directory.
- Keep a simple deployment path such as rsync, tar extraction, or a container volume update.
- Return stable status codes for common paths:
/,/about,/feed.xml, and/sitemap.xml. - Use long cache lifetimes for fingerprinted assets and shorter lifetimes for HTML.
- Log access and errors separately so noisy clients do not hide real problems.
Nginx shape
server {
listen 443 ssl;
server_name example.com;
root /www/sites/example.com/index;
index index.html;
}
The important part is not the exact server block. It is the absence of surprises: a new host should be able to serve the same directory without understanding an application framework.