How to get your charity on the internet for free

It's never been easier or more affordable to get started.

05 February 2018

If you’re running a small business, charity or campaign then you need to get it in front of people, and that means getting it on the internet.

The good news is that once you’ve acquired a domain name, everything else you need to get started is free courtesy of modern technology. As you scale up you may want to migrate to paid services that can handle more complex requirements or are designed for higher use, but there’s no need to go there on day one (and for many small projects, you may never need to go there at all).

This is my guide to bootstrapping something good enough to get you started out. In the spirit of building an MVP I’ve tried to limit it to the essentials, but feel free to drop any tips or questions in the comments box at the end. I hope you find it helpful!

Step 1: Domain name

Internet domains are basically commoditised, so pick whatever registrar you like as long as they are reputable and will let you use third-party nameservers.

This is the only step that will cost you money, but it won’t break the bank: standard domain names (.com,, etc.) will run to about £10 - £15 a year.

Step 2: Website and email

Move your domain infrastructure to Cloudflare

This will get you protection against DDoS attacks, improvements in site performance via a global CDN, and the option to use Cloudflare’s SSL services with your domain.

Set up Cloudflare for free here.

Host your website on GitHub Pages

This will serve your website directly from a GitHub repository. You can pick a theme and start adding content via your browser, or if you want to build something bespoke then Pages supports Jekyll for static sites and blogs.

You can tell Pages you have a custom domain name, and use your Cloudflare account to direct website traffic to GitHub’s servers.

Set up GitHub Pages for free here.

Get a Google Account

You’ve probably already got one of these, but if not then this will get you a free Gmail mailbox and access to a bunch of useful apps like Docs, Sheets and Drive.

If you’re running a registered nonprofit then you can upgrade to G Suite for free and skip the next step by hosting your domain’s email directly with Google.

Set up a Google Account for free here.

Set up email routing with Mailgun

This will forward email from your domain to your Gmail mailbox, and also provide an outbound server you can use with Gmail to send email from your domain.

You’ll need to use your Cloudflare account to direct incoming email to Mailgun’s servers, and change the settings in your Gmail account to use your preferred outbound address.

Set up Mailgun for free here.

Step 3: Social, analytics and payments (optional)

Set up a Facebook Page

This will help people find and share your content on Facebook, and give them another channel to get in touch with you. You can also use your Page to drive traffic to your website.

Set up a Facebook Page for free here.

Run email marketing with Mailchimp

This will help you engage your customers / supporters, and is another good way to drive traffic to your site. Automation makes it easier to reach the right people at the right time, and to measure how your campaigns are performing.

Set up Mailchimp for free here.

Get insights from Google Analytics

This will get you all the insights you need on your website traffic, including how many visitors you have, where they are coming from and how long they stay.

Set up Google Analytics for free here.

Accept payments with Stripe Checkout

This will let you accept card payments on your website; the interface looks great and is super easy to use. Stripe charges a fee per transaction, but there is no standing charge.

Stripe requires a server-side action to complete a payment, but you can handle this by using to set up a serverless endpoint.

Set up Stripe Checkout for free here.

Postscript: the alternatives

The steps above will suit anyone who is happy to learn a few new things along the way, and there’s a real sense of satisfaction to be had from getting it all up and running.

If you don’t fancy being so hands on with the technology then is a great alternative to consider. It’s easy to get a basic website online, and the pricing is pretty reasonable. The drawback is that you can end up reliant on third-party themes and plugins, and it can be complicated to manage if your site gets big.

And finally, if you’re a rockstar developer then AWS, Azure and Google Cloud all have free tiers (but you didn’t need me to tell you that).