If you have ever considered setting up a personal website, you know the market is inundated with hosting options. If, like me, you want to show off your web development skills with a fast, free, and reliable hosting option, then GitHub Pages might be the perfect fit for you.

GitHub logo

After a few weeks of reading about the importance of having a personal website, I decided to take the leap and set up one of my own. I quickly realized that there are quite a few options for setting up your own website, and I needed to choose one. After reading through a few guides, I happened upon Jonathan McGlone’s guide to creating and hosting a website using GitHub Pages. Even though the guide has not been updated in a while, it offered an excellent starting point. For those of you who do not know, GitHub allows each user to create and host a website free of charge, provided the source code for that website is in a public repository.

It is important to point out that one of the main purposes of building my personal website was to showcase my front-end web development skills, so I mostly was not considering hosting services like WordPress. It is possible to do some front-end coding using a site like Weebly or WordPress, but I have read a few horror stories of users who set up their website on WordPress, and then spend many hours trying to fight with the default code to add new functionality to the platform. Here is a list of common problems with WordPress that mostly do not apply to GitHub Pages. So, I personally would prefer to use a fully customizable platform like GitHub than something like WordPress or Weebly. Listed below are a few reasons that GitHub Pages stands out from the other web hosting services.

Fast Set-up

Since I already knew I wanted to set up a website, my next priority was to get a shell website set up as soon as possible. Jonathan McGlone’s guide offered the distinct advantage of just cloning a repository and viola! I have the base of a website set up in minutes! Even if you include the time that it takes to set up an account with GitHub, the process is still very fast.

Performance & Reliability

While smaller companies often offer good solutions, I wanted the performance and reliability of a larger hosting service. Basically, I do not want to have to worry about my site going down or loading incredibly slow. GitHub Pages has been highly rated for reliable, high-performance service.

Ability to Edit Website from Anywhere

As someone who frequently travels out of town on the weekends, I love the ability to make a quick edit from anywhere with a computer and an Internet connection. GitHub has an integrated file editor that allows you to change and commit files directly from your web browser. This does not allow me to preview large changes or run tests, but this does mean that I can make many small change without needing my local environment. You can also write posts in Markdown, rather than Markup, and then preview what the post would look like before putting it live. This makes adding new blog posts easy, since you don’t even need to download a text editor. I can add new blog posts from my laptop, or even my phone!!

Visible Code Base

Another strong point of GitHub is the ability for anyone to view the full code base directly in my public repository. Viewers do not even have to have a GitHub account! Since my website is intended to be partially a portfolio/resume, having the code base accessible by anyone is a huge advantage. Another related bonus is the easy “Fork Repo” option. This means that if I write a blog post about integrating a particular functionality or making an update, I can refer readers to the exact file that contains that change, and viewers can browse around my other files to help troubleshoot their own integration if they run into issues.

Fast Re-Deploy & Automatic Re-Building

I initially did not think that having Jekyll built into GitHub Pages would matter to me, but it has actually made the development process much easier. The fact that Jekyll is built-in means that I can focus on the front-end of my website. GitHub also will re-deploy quickly, so I am able to make minor changes from the GitHub online editor and then see the results live within minutes.

Recognizable Domain Name

Some hosting solutions have many of the advantages above, but may not have a recognizable domain name. An example is wwww.SomeCompany.com/users/user893022478. This is just a deal breaker for me. That URL is rather long to put in a resume or business card, and it is more difficult to ascertain the purpose of the website from the URL only. GitHub’s default domain name for user websites is [GitHub Username].github.io. This means that my website, by default, is located at ercreager.github.io. Since this URL puts my username at the beginning of the URL instead of the end, it is much easier to tell that it is my personal website.

Actively Developed Open Source Software

Open source software can offer many advantages over proprietary solutions, such as better security, low cost, and high customizability. This is obviously not true in every case, but GitHub is easy to use and is actively being developed by a passionate open source community.

Simplicity & Online Help

As a new developer with relatively few resources, it is especially important to me to have plenty of online help pages for my hosting solution. GitHub has tons of online documentation for features as well as guides for getting started. GitHub Pages is also large enough that there are many blog posts and StackOverflow pages to assist with troubleshooting.

No Mandatory Advertisements

For my personal website, I really wanted users to be able to focus on the content of my website without being distracted by any advertisements or sponsorship notices. I am happy with the clean, refreshing design of my website, and I plan to keep it this way. Unfortunately, some hosting providers require that you add “Hosted by Sample.com” or some other notice at the bottom of each page. I’d imagine some companies will let you take off that advertisement if you pay for their Premium service, which brings us to the next benefit of GitHub Pages.

Free

GitHub Pages is free. Not just kind of free, where additional services cost a small amount. It is completely free. In order to get all of the advantages listed above, I would be happy to pay a few dollars a month, but GitHub Pages offers all of this for free. The only limit that I have seen is one free website per user, but as far as I can tell there is no limit on the individual file size or total repository size or any other restriction. I know many companies offer trial periods that sound very tempting. However, after you’ve finished building your website on their platform, you can often feel “locked in” to paying for the service when the trial period ends. This is often referred to as the Sunk Cost Fallacy, and this video explains why you should avoid- []() it.

HTTPS Support

Even though my website does not have user logins or accept credit card information, it is still important to employ HTTPS (S is for Secure Sockets Layer technology). Sites with HTTPS will rank higher on Google search results, and can often load faster on mobile devices. As an added bonus, GitHub pages actually provides this feature with zero work on the developer’s part.

Wrap-Up

While the points above may not apply to everyone, they were definitely the deciding factors me to choose GitHub Pages to host my website. In terms of setting up an online portfolio, GitHub Pages + Jekyll has been perfect. GitHub has done a great job with their hosting service so far, and I am excited to see new features and functionalities from them in the future.