Totally Free Website

With EU.org, Cloudflare and GitHub

A Quick Introduction

If you want to make a website and don't want to pay a single coin, well, you can do that. And it's not some shady so-called "free hosting service" that abuses your data. Nope, there are totally legit ways to get a free website up and running. And guess what, all the services we are going to use for this purpose are from reputable companies. So, that's one less thing to worry about.

Now then, let's get down to business.

Things you need

In order to create a website you need five things —

  1. Domain name : This will be your website address.
  2. DNS service : This will point your visitors in the right direction.
  3. TLS certificate : To protect the data exchange between you and your visitors. Also makes you look legit with the https address.
  4. The code : We'll assume you can write the code for your website or have someone to do that for you. But you can just use any website creator app that exports the final content in plain HTML/CSS/JS.
  5. Hosting service : We need to host the website somewhere, so that your visitors can reach it.

What to Avoid

Please avoid the so called "free" hosting providers who give you everything in a single click or something like that. Most of them are scams. They will seize your domain name the moment it gets popular and hold it hostage. They will also inject advertisements to your website whenever they see fit.

You should also avoid cheap hosting providers who promise you "unlimited" everything. There is no such thing as unlimited, they will throttle your site as they please or claim unfair usage on your part if your website starts consuming more resources than they intend to allow.

Also should you plan to buy the premium services, don't buy the domain from your hosting company, it'll be a major pain if you ever need to switch hosts. And never buy a very long term package from your hosting provider, you'd lose a lot of money if their service quality drops later.

Services We Can Use

Here is a list of reputable service providers that we can use for each of our requirements.

EU.org

EU.org is a European organization dedicated to provide free domain names to anyone who wishes to use them. They are a non-profit organization and depends on volunteers across the world. They are not very shiny, but they get the job done quite good. Their domain names don't have any strings attached and you can use them as long as you want provided you don't host any illegal stuff in your website.

There domain names are a bit longer though, as you can see from the address of this website itself. But that's only a minor inconvenience in my opinion.

Link: https://nic.eu.org/

Cloudflare

Cloudflare is a giant DNS provider that provides both free and premium DNS services. Their free service will be quite enough for our purposes. Their service also includes DNSSEC and free TLS, which is awesome.

Link: https://www.cloudflare.com/

GitHub

GitHub is primarily a code hosting service, but they also allow you to host a static website. The website has to be static though, that means no server side scripting and the site can only be made with HTML/CSS and client side JS. But not to worry, it's quite enough for our purposes.

Link: https://github.com/

The Step by Step Approach

Now we'll see how each of the required steps can be performed.

Register the Domain

Visit the EU.org site and create an account. There website can be a bit difficult to navigate so here's the sign up link, click here to visit the login page and click on the Register button to create an account. You'll need to confirm your e-mail address before you can register a domain. Here's their domain policy guidelines. It takes them about a day or two to approve any domain name request, so be patient and check back after a day or two.

Setup the DNS Records

You need to create an account with Cloudflare first. Now you need to perform the following steps —

  1. Login to your Cloudflare account and look for the nameserver names. There will be two.
  2. Add the domain name to your account. Don't panic if it complains about not finding any records, because we haven't created any yet.
  3. On the DNS page create two A records with the GitHub's IP addresses, which are currently 192.30.252.153 and 192.30.252.154. This page should contain the latest records.
  4. Login to to your EU.org account and edit the DNS record of your registered domain. When prompted for the nameservers, add your Cloudflare nameservers to your domain record.
  5. It takes about a day to propagate the DNS records across the world, so you might want to continue the next steps the following day.

Upload Files to the Host

For this you need to register an account with GitHub. You may need to confirm your e-mail address. You also need to have your code ready at this point, just a simple index.html will do. After all this is done, perform the following steps —

  1. Create a repository called <username>.github.io. So if your username is totallyfree, your repository name should be totallyfree.github.io.
  2. Upload your files to the repository.
  3. Go to the settings page of this repository, scroll down to the GitHub pages section and add the domain name you registered at EU.org.

If everything went okay until now, you should have your website up by now. In case something is wrong, retrace your steps and read the respective manuals of these services.

Enable HTTPS with Cloudflare

Login to your Cloudflare account and visit the crypto tab. Enable SSL from here, you should choose either flexible or full in the SSL options.

So, your website is online now and it can be accessed securely over https by your visitors. Congratulations!

Bonus Item: Setup Free Email

So we have successfully set up our websites, why not have our very own email addresses as well? And the good news is you can do that for free too!

Zoho is an Indian company that provides free email addresses with your own domain name. You need to register an account with them and they also require your mobile phone number.

Link: https://www.zoho.com/

About This Site

This site was created as a proof of concept for the method described here. It is totally free and it uses EU.org, Cloudflare and GitHub. The site was written by hand using the Bootstrap 4 library.

The Final Conclusion

So if you want a totally free website, you can not only get one but you can get it in hight quality too. All you need to know is where to look.

However you should really consider buying your own personal domain name. They are an asset and good domain names are running out fast. Besides they are fairly cheap. But always buy them from a reputable domain registrar.

I personally use and recommend BigRock. If you decide to buy from them use the coupon code agnibho.com to get up to 25% discount on your purchase.

Now that you have a website, post some quality content in it and share the link with others. Hopefully your new website will start having visitors in no time.

Author: Agnibho Mondal
Last Edited: March 03, 2018


Copyright © 2018 Agnibho Mondal