Don’t let limitations hold you back.
GitHub Pages has one pricing tier, and that is free.
Netlify also offers a generous free plan, along with other plans to unlock more collaboration as well. These plans focus not on usage limitations, but on features.
GitHub Pages has hard limits on usage and 10 builds per hour with no option to expand or upgrade on those:
…we may not be able to serve your site, or you may receive a polite email from GitHub Support suggesting strategies for reducing your site’s impact on our servers, including moving to a different hosting service that might better fit your needs.
Netlify also has a hard limit on builds—3 builds per minute. The storage/bandwidth limit is a generous 1TB for paid plans and 100GB for free plans.
If you are hosting a site on GitHub Pages, then it’s easy to deploy your site. GitHub can watch either the master branch for your portfolio project or your gh-pages branch for projects. As soon as you push your changes to your branch, the process begins for deployment.
Add your changes to your local repository, commit them, and push to your GitHub (or BitBucket, or GitLab) repository. Netlify watches the repository for changes and rebuilds as needed for all branches.
Netlify provides more options for deployment with drag and drop deploys. If you have a project stored in a directory on your production machine, you can sign in to Netlify, drag the directory onto the page, and the site will upload and deploy automatically.
Netlify’s command line tool allows you to deploy your site in three lines:
npm install netlify-cli -g cd my-site-folder netlify deploy
No matter how you’ve chosen to deploy your site, you can always manage it through our web UI, or via the command line. Do what makes you most comfortable!
SSL & Custom Domains
All github.io pages are granted SSL by default and for free. SSL for Custom domains hosted on GitHub pages requires third-party services like Cloudflare.
When you first add a site (without a custom domain) to Netlify, your-site.netlify.com will have built-in HTTPS under Netlify’s SSL certificate. If you want to use a custom domain, we’ve made it simple, with free one-click SSL from Let’s Encrypt for all Netlify accounts. Click the HTTPS tab in your dashboard, then click the Let’s Encrypt Certificate button, and your site visitors will have all the assurances that little green lock provides.
Netlify also provides the ability to force HTTPS on all visits for all users with only one click. This is available to all users on all plans. If you like to control your own security, Netlify offers the ability to upload your custom SSL certificate as well.
Netlify plans focus on features. The following features are not offered by GitHub Pages directly, and make upgrading to Netlify even better.
With Git integration, Netlify can deploy all branches, providing you a preview to share and review for pull requests and development branches.
You can also provide separate build commands and rules using the Netlify deploy context feature. This can be helpful in providing different contexts for staging and production deploys.
Netlify also offers the ability to re-deploy previous versions of your site with one-click rollbacks. No need to revert commits to deploy an older version of your page.
Custom Rewrites & Redirects
Netlify provides an approachable way to create custom rewrite and redirect rules for your site. You can even test these rules using the Netlify Playground.
Using a third-party service can be overkill and sometimes painful, which is why Netlify builds this into their platform. You no longer need to pay to keep a PHP server running to capture form input—just log into the Netlify Dashboard to view the collected submissions.
Netlify comes with built-in prerendering on our larger plans. If you’re on a plan that supports prerendering, enabling it is as simple as checking a box.
Simple yet powerful split testing at the edge node. Just select two or more branches, how much traffic you would like to route to each branch, and start your test.