Did you know this website is static and hosted for free? I build this site locally with WordPress, and use a static site generator to push new versions of the site up to Netlify. Since I only charge my nonprofit/ministry clients for my overhead costs, I try to keep these costs as low as possible. This setup allows me to completely remove hosting costs from my budget!
Benefits of a static site include:
- Free (or cheap) hosting options available
- Much harder for your site to get hacked
- Plugins can be updated on my schedule, without creating security risks
- Encourages minimalism of design and management
- Automatically includes a staging (local) server
This setup could work for anyone comfortable with managing local site files, and pushing files to a git repository. My local to static process works with the following steps:
1) Build and edit site locally
I maintain and edit this WordPress site 100% locally! Local by Flywheel manages the database and local domain setup, and all the standard WordPress files are local on my computer. Of course, I keep frequent backups on Amazon S3 in case something happens to my computer – don’t worry! Whenever I need to update content or add a new blog post, I make those edits locally first.
2) Use a static site generator
After finishing my edits, I run WP2Static, an easy to use static site generator that generates a folder of static files (think HTML, CSS, Javascript). The only problem I ran into when transitioning to a static site is forms. Forms aren’t static, since they need to use server-side code to submit information. To work around this, I embedded Mailchimp forms into my pages, so that my site can remain static, and the forms can be processed off-site through Mailchimp. You could choose any external form service for this.
3) Sync files with GitLab to the live site
I have a GitLab repository for my static site folder. After I run the generator, I simply push up the new version to GitLab. That’s it for this step. Easy, right?
4) Set up free static Netlify hosting
I then use a free Netlify account to host the static site. Netlify has the ability to deploy from a GitLab repository, so whenever I push a new version of my site to GitLab, my live site is automatically updated. Kind of like magic, right?
If you’re interested in creating a static site and have questions, feel free to contact me here. I’d love to help!