Skip to main content

Modern Static Sites Done Right: Zero Cost, Maximum Performance

·438 words·3 mins
Youssef Sadek
Author
Youssef Sadek

TL;DR
#

We deployed a lightning-fast static site with zero hosting costs using:

  • 🎯 Hugo static site generator
  • 🐡 Blowfish theme (clean, fast, developer-focused)
  • 🤖 GitHub Actions for CI/CD
  • 📦 GitHub Pages for hosting
  • 🔒 Custom domain with HTTPS

Why This Stack?
#

After years of over-engineered solutions (and fleeing the WordPress war 👀), we wanted something different for our web presence:

  • Blazing fast load times
  • Zero maintenance overhead
  • Git-based workflow
  • Actual cost: $0/month (yes, really! 💸)

Prerequisites
#

  • Install hugo
  • git
  • Desire to kill a LAMP Stack (killed a LAMP stack 😈🔥💀)
  • Basic undestanding of Markdown

The Technical Setup
#

1. Development Environment
#

hugo new site frybad
cd frybad
git init
git submodule add https://github.com/nunocoracao/blowfish.git themes/blowfish

See Blowfish installtion docs for alternative ways to install.

2. Setup GitHub Actions and Pages
#

See the very straightforward Hugo Docs to host on GitHub Pages

3. Performance Results 📊
#

  • 100/100 PageSpeed score
  • ~50ms Time to First Byte
  • ~150ms Fully Loaded
  • 0 external JavaScript dependencies

4. (Optional) Use a custom domain 🌐
#

Connecting your custom domain to GitHub Pages is straightforward but some attention to DNS settings. Here’s the process broken down:

1. Domain Verification
#

First, verify your domain ownership in GitHub. This requires adding a temporary CNAME record to your domain’s DNS settings. GitHub will provide the specific record details during the verification process.

2. DNS Configuration
#

After verification, you’ll need to configure your DNS settings with your domain provider:

  • Add A records to point your domain to GitHub Pages’ IP addresses
  • Add AAAA records for IPv6 support
  • Optionally, add a CNAME record for subdomains (e.g., www)

These records ensure visitors reach your GitHub Pages site when accessing your domain. See GitHub Docs on DNS records

3. GitHub Pages Setup
#

In your repository settings under Pages, enter your custom domain and enable HTTPS (available after DNS propagation). This final step connects everything together.

The Real Benefits ✨
#

  • 📝 Git-Driven Content: Write posts in Markdown, push to main, site updates automatically. No block editor drama here.
  • 🛡️ Zero Attack Surface: No databases, no servers, no need for 50+ plugins to make things work.
  • 📈 Infinite Scalability: CDN-delivered static files can handle any traffic spike.
  • ⚡ Hugo is awesome! Analytics, I18n, and other features that don’t require a subscription plan.

Cost Breakdown 💰
#

  • Hugo: $0
  • GitHub Actions: $0 (included in organization plan)
  • GitHub Pages: $0
  • Domain: ~$12/year (only direct cost)
  • Our time: A few hours

The best way to modernize is to simplify and the best things in life are free. For anybody watching the WordPress ecosystem in 2025. Hope this helps 💙

Goodbye Wordpress