GitHub Pages vs Netlify: What are the differences?
What is GitHub Pages? Public webpages freely hosted and easily published. Public webpages hosted directly from your GitHub repository. Just edit, push, and your changes are live.
What is Netlify? Build, deploy and host your static site or app with a drag and drop interface and automatic delpoys from GitHub or Bitbucket. Netlify is smart enough to process your site and make sure all assets gets optimized and served with perfect caching-headers from a cookie-less domain. We make sure your HTML is served straight from our CDN edge nodes without any round-trip to our backend servers and are the only ones to give you instant cache invalidation when you push a new deploy. Netlify is also the only static hosting service with integrated continuous deployment.
GitHub Pages and Netlify can be primarily classified as "Static Web Hosting" tools.
Some of the features offered by GitHub Pages are:
- Blogging with Jekyll
- Custom URLs
- Automatic Page Generator
On the other hand, Netlify provides the following key features:
- Global Network
- Global Network
- Instant Cache Validation
"Free" is the top reason why over 283 developers like GitHub Pages, while over 25 developers mention "Fastest static hosting and continuous deployments" as the leading cause for choosing Netlify.
Lyft, CircleCI, and Bukalapak are some of the popular companies that use GitHub Pages, whereas Netlify is used by Startae, Ratio, and Flat. GitHub Pages has a broader approval, being mentioned in 576 company stacks & 682 developers stacks; compared to Netlify, which is listed in 85 company stacks and 104 developer stacks.
What is GitHub Pages?
What is Netlify?
Need advice about which tool to choose?Ask the StackShare community!
Sign up to add, upvote and see more prosMake informed product decisions
Sign up to get full access to all the companiesMake informed product decisions
Sign up to get full access to all the tool integrationsMake informed product decisions
When my SSL cert MaxCDN was expiring on my personal site I decided it was a good time to revamp some things. Since GitHub Services is depreciated I can no longer have #CDN cache purges automated among other things. So I decided on the following: GitHub Pages, Netlify, Let's Encrypt and Jekyll. Staying the same was Bootstrap, jQuery, Grunt & #GoogleFonts.
What's awesome about GitHub Pages is that it has a #CDN (Fastly) built-in and anytime you push to master, it purges the cache instantaneously without you have to do anything special. Netlify is magic, I highly recommend it to anyone using #StaticSiteGenerators.
For the most part, everything went smoothly. The only things I had issues with were the following:
- If you want to point
wwwto GitHub Pages you need to rename the repo to
- If you edit something in the
_config.ymlyou need to restart
bundle exec jekyll sor changes won't show
- I had to disable the Grunt
htmlminmodule. I replaced it with Jekyll layout that compresses HTML for #webperf
Last but certainly not least, I made a donation to Let's Encrypt. If you use their service consider doing it too: https://letsencrypt.org/donate/
I use Netlify for all of my projects for the ease of setup and the huge Developer Experience they offer. From Netlify CLI, to the newly announced Netlify Analytics, we have no issues with Netlify and scaling is possible to a certain degree. We connect Netlify with our GitHub Repos and let all branches build to get a Preview. Also we connected our Domain with ease to it and were able to have the page be shown on our domain.
To start off, check this out: https://perfwars.com/netlify.com/vs/godaddy.com/
If you are new to Netlify, it will take you less than 5 minutes to get your site up and running, 3 minutes if you are fast. To get started simply go here: https://app.netlify.com/
Choose one of the following options to sign up: GitHub, BitBucket, GitLab, or you can use your email address.
If you sign up with your email address, it will ask you to enter a 4 digit verification code that they sent to your email address.
Once signed in, you will be shown a quick intro:
- SIMPLY PUSH TO DEPLOY
- FREE ONE-CLICK HTTPS
- NEVER HAVE TO LEAVE TERMINAL
These are three huge benefits of Netlify over most other hosting platforms.
OK, now that you have signed up and gone through the highlights, you need just select new site. From there you can either link a Git repository or just drag and drop your site folder into the browser window. Your site will be uploaded and available for browsing within a minute or so.
Once your site is on Netlify, you can setup a custom domain by selected the settings tab, if you are not already there, then click edit next to domain. Simply put your domain in, save and then follow instructions on Netlify's documentation page on how to set up your DNS: https://www.netlify.com/docs/custom-domains
So easy! You are done setting up your site! Now for making changes and adding features. You no longer have to do crazy manual set ups to get SSL installed on your site, with Netlify even my grandma could do it! You can still use your own certificate if you prefer, but if you wanted it even easier, all you have to do is select "Lets Encrypt Certificate" from the SSL tab on your site in Netlify.
When you select "Lets Encrypt Certificate", Netlify shows a dialog entitled "Automatic TLS Setup" and asks you to ensure that your DNS is set up properly before you provision the certificate. This is important, and it will be fine so long as you set up your DNS properly according to their custom domains documentation that I shared earlier. All you need to do here is click save. The SSL will start to work shortly and all http URLs will automatically be redirected to https! And the best part is, it is free!
Recap of the setup process: 1. Sign up and verify your account 2. Link repository or drag and drop site folder 3. Change domain and setup DNS 4. True One-click SSL 5. Upgrade your site for more awesome features (Optional)
That's it! You are done! Takes less than 5 minutes!
Before I came across Netlify, I would often use drag and drop web builders because the complication of managing servers and setting up configurations to handle forms and SSL were too complicated. With Netlify however, all you need to do for form handling is to put in a little call out to Netlify to say, hey, this is a form I want you to handle. It is so easy! You already know how easy it is to set up SSL now too. I now have no fears in launching a site, setting up form handling and SSL.
If you are interested in setting up the form handling, you can go here: https://www.netlify.com/docs/form-handling
Netlify also has amazing and simple documentation. I have never had a problem figuring something out. If ever I have had a question, I have found a resolution with in 1-2 minutes in their documentation. They have thought of everything!
My favorite tools in Netlify are the notifications! You can set up your form handling to automatically notify you via email or even Slack. I love Slack too by the way, and being able to get updates about my deployments or form handling via Slack is a huge plus.
The notification integrations are my favorite, however, I still cannot get over how easy it is to set up SSL and form handling. They are by far the most useful features for me. Another very useful feature is being able to see a history of your builds and having the ability to restore to a previous build or download it. I have been unable to find any of these features in their simplicity anywhere else. Netlify is literally the easiest to use, most reliable and overall best hosting platform out there.
One more mention, the founder of Netlify is involved in the JAMStack Revolution. Here is a quick blurb from their site (Looks Awesome!):
Adrenal Fatigue Solution use high-quality ingredients, well-researched chemistry, and efficient oral delivery to ensure your well-being comes first. Our goal is to provide you with the tools to live the healthiest life possible through fast-acting products designed to improve bodily functions on a cellular level.
t is integrated with the Jekyll software for static web site and blog generation. The Jekyll source pages for a web site can be stored on GitHub as a Git repository, and when the repository is updated the GitHub Pages servers will automatically regenerate the site.
Serves the main site through CDN. Provides super easy password protection and third-level domain for staging. Uses web hooks from Contentful and Github to know when to trigger new build and update the site. Perfect.
Our main purpose for GitHub pages is inspecting open source code for the purpose of finding out if someone else has already solved a solution to a problem we're working on and whether or not it fits into our plan.
We take advantage of Githubs very lightweight, but powerful static file hosting for our front-end static files. But we have a CDN in front of this to ensure best performance for users anywhere.
We often use Github Pages to easily develop and deploy marketing sites. Typically we couple middleman as our static site generator and then host the pages on github pages.
Netlify makes it super-easy for various team members to deploy whenever there's a push to our Git master branch. Automatic build, deployment, and setup on CDN.
It's free and has so many features - just perfect for open-source projects like GitDocs.