Create a Membership Site for Free
One of the main driving forces behind the Epilocal project is to get great open-source technology tools into the hands of more small publishers and small businesses that can take advantage of them.
As membership models continue to become more and more popular in online publishing, you may be wondering, how can you take advantage of this trend for your own business? And how can you create your own membership website without a huge cost?
In this article, we will lay out how you can create and run your own membership website for free. Yes, that’s right, free. Read on to find out how.
The Architecture of a Free Membership Site
If you look around at the different options out there for creating a membership site, they can get expensive very quickly. Popular options like Substack take 10% of revenues while membership plugins for Wordpress take a smaller yet still sizeable percentage of all of the fees you earn from members.
Thankfully, you can recreate the architecture of a membership site and even improve on a lot of the other options out there, for free. What does it look like?
Let’s start with the big concepts:
- We need to build our membership site in a way that it can fit into the free tiers of cloud providers like Amazon Web Services
- The core website needs to be built on open source so we have full control of our members data and can move it to a different service whenever we choose
- We can then add on to the core membership site with free services that are not open-source like Mailchimp and Google Analytics
There are two key pieces of the puzzle that enable us to make all of this happen for free.
- The first is the availability of a free and open-source content management platform that has integrated membership software. This platform is called Ghost, and if you haven’t heard of it, we wrote an article about why Ghost is game changing software.
- The second piece of the puzzle is static-site generation. This essentially means that your membership site is converted into static HTML pages that are super-cheap to serve as opposed to standard Wordpress sites that have to make database queries every time someone visits. Without getting too technical, it means that you can get a lot of visits to your site without racking up big (or any costs) on your AWS bill.
Let’s now see how we can fit some of these pieces together to create your own free membership website.
Core: Content Management, Memberships, Web Hosting
Starting with the core of the website, first we need to get Ghost up and running on a free cloud server. Amazon Web Services offers free instances of their EC2 service which meet the requirements for running Ghost. You can find instructions on how to install Ghost on AWS here.
Now, one of the keys for keeping our cost down, is making sure that we are keeping the load on our AWS server that we just set up to an absolute minimum. The best way to do this is to convert our site to fully static HTML and only use our Ghost instance for API calls. Thankfully, Ghost has very extensive API’s that enable us to build our static site using those. (we’re using Ghost as a “Headless CMS” as you would say in the latest tech lingo)
This requires the use of a static-site generation tool, we prefer Gatsby. Using Gatsby, you can build your site’s theme using React and then connect to your Ghost API to supply all of the content.
We have already built a free and open-source Gatsby theme that you can use as a starting point. It’s based on our popular Newsliner theme for Ghost. You can find it on Github here.
Finally, you need to deploy your static site to the web. We recommend Netlify which plays really well together with Gatsby and enables you to easily trigger a refresh of your site every time you publish new content in Ghost.
(Note: at the time of publishing, our Newsliner Gatsby theme only supports free memberships, we are expanding the features soon to include paid memberships)
Add ons: Email Marketing, Analytics, Reporting
Now the hardest part is over - we’ve created our core membership site and got it up and running on a free cloud architecture. Even if our membership site scales up considerably and we get lots of traffic and new members, we should be able to keep inside the free tiers or worst case run on pennies a day.
We can now look at other services that will make running our membership site much smoother. The first of these is connecting an email marketing service like Mailchimp. Ghost has its own newsletter capabilities, but these are still pretty basic and lack the more advanced automation, segmentation and customization services that Mailchimp and other similar providers offer. For the purposes of this article we’ve chosen Mailchimp since they have a generous free plan that enables you to grow up to 2,000 subscribers before you are charged.
What we need to do is make sure that Mailchimp syncs with Ghost’s membership database every time one of the members changes. For example, every time that someone signs up as a member they will be added to the Ghost membership database - we then need Ghost to tell Mailchimp that there is a new subscriber that needs to be added to our Mailchimp list. This is actually pretty easy to do using Zapier, and Ghost has instructions on how to do it here.
Next, we need to set up our analytics. We have already included Google Tag Manager as part of our Newsliner Gatsby Starter, so you just need to put your Google Tag Manager ID in the config file.
Finally, we like to use Google’s Looker Studio for taking our reporting to the next level. We even built a free template called the Publisher’s Dashboard that you can use for free.
Other Considerations
With that, you now have a fully functioning membership site all set up with newsletters, analytics and reporting for free. Importantly, you are also running your core website on completely open-source tools, which means you could easily migrate your site to a different architecture simply by exporting your data and importing it into a new instance of Ghost somewhere else.
A couple of last things that we didn’t cover that may add a bit of cost -
- The setup above does not include a custom domain name. That will cost you something like $12 / year. You can follow Netlify’s instructions for adding a custom domain name here.
- We’ve built a custom data studio connector that enables you to get your Mailchimp reporting into Data Studio. You can find out more about it here.
Even if there are a couple of small costs that come up, the important thing is that we’ve created and deployed our core membership site in a way that allows it to scale for pennies a day.
Note: If you are interested in creating your own membership site for free but this article went over your head, drop us a line and we can discuss how we can help you