Why Do You Need Big Tech for Your SSG?
A look at why small, personal websites donโt need big-tech static hosting, and how a simple local build and rsync workflow gives you faster deploys, more control, and far fewer dependencies.
OK, so Cloudflare shit the bed yesterday and the Internet went into meltdown. A config file grew too big and half the bloody web fell over.
It got me thinking about my fellow small-web compatriots, their SSG workflows, and why on earth so many rely on services like Cloudflare Pages and Netlify. For personal sites it feels incredibly wasteful: youโre spinning up a VM, building your site, pushing the result to their platform, then tearing the VM down again.
Why not just build the site on your local machine? Youโre not beholden to anyone, and you can host your site anywhere you like.
- โ No CI/CD pipeline.
- โ No big tech โ just you and your server.
- โ No VMs spinning up and down at the speed of a thousand gazelles.
How to build and deploy automatically
All you need is a hosting package that supports SSH (or FTP if you must) and a small script to build your site and rsync any changes. Hereโs the core of my deployment script:
#!/bin/bash
set -e
LOCAL_DIR="/path/to/your/site/source"
REMOTE="user@your-server.example.com"
REMOTE_DIR="/path/to/your/website/files/yoursite.com/public_html"
cd "$LOCAL_DIR" || exit 1
# --- Build Jekyll site ---
echo "๐๏ธ Building Jekyll site..."
bundle exec jekyll build --quiet
echo "โ
Build complete"
# --- Sync _site to remote server ---
echo "๐ Deploying to server..."
rsync -az --checksum --delete --omit-dir-times --quiet \
"$LOCAL_DIR/_site/" \
"$REMOTE:$REMOTE_DIR/"
# --- Fin ---
echo "โ
Deployment complete"
Hereโs what it does:
- Jumps into the directory where my source website files live.
- Builds the Jekyll site locally.
- Syncs the built files to my server over SSH, deleting anything Iโve removed locally.
Thatโs it. And thatโs all it needs to do. With these few lines of Bash, I can deploy anywhere, without waiting for someone elseโs infrastructure to spin up a build container.
My full script also checks the git status, commits changes, and clears the Bunny CDN cache, but none of thatโs required. The snippet above does everything Cloudflare Pages and similar services do โ and does it much quicker. My entire deploy, including the extras, takes about eight seconds.
Final thoughts
If youโre hosting with one of the big static hosting platforms, why not consider moving away and actually owning your little corner of the web? Theyโre great for complex projects, but unnecessary for most personal sites.
Then, the next time big tech has a brain fart, your patch of the web will probably sail right through it.