Skip to Content

How I host my WordPress website for free with Netlify

Laptop computer browsing Joy Media's website

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!

Like this post?

Subscribe to get bi-monthly updates of our recent posts.

* indicates required