How to host your frontend projects on GitHub pages for free?

Ahsan Noor.Ahsan Noor.
4 min read

Introduction:

Having a portfolio website is a great idea for a developer. We can use this website to showcase our skills, and share it with others when needed.

As a student and a beginner, we may not have the budget to pay for hosting services. Don't worry! This blog post gives you a free solution. I'll guide you step-by-step to create a simple portfolio and host it for free.

How is it possible? The answer is GitHub Pages.

Yesss! You read it right.

GitHub Pages is a service by GitHub. It helps to host any static website for free for lifetime.

Isn't it cool? Indeed, it is.

Portfolio

Now, if you don't have a portfolio template. No worries. I've got you covered.

You can download my free portfolio template. It's available on gumroad for free download. Click here to get your free copy!

Feel free to customize it and use as per your requirements.

Create Your Website

Now that you got your free template, and you have customized it as your portfolio. Place all your website files in a single folder.

Steps to host your portfolio with GitHub Pages

Before proceeding, you must be logged in to your GitHub account. If you don't have a GitHub account, you can simply create it by clicking here.

Now, let's go through steps to deploy our portfolio using GH-Pages. I've included screenshots to explain every step. If you're an advanced GitHub user, you may skip some steps.

1. Create a New Repository

Click on '+' sign and click 'new repository'.

Free Hosting Guide by Ahsan Noor (@ANoorTM ).png

2. Fill in the details for this new repository

  • Repository name: I've named it "portfolio-test"

  • Description: Write a suitable text describes your project.

  • Check "Add a README file"

  • Finally, Click on "Create Repository"

    Create a New Repository.png

3. Prepare the "Repository" for hosting

In the next step, we have to prepare our repository for hosting our actual website. In order to do that, we have to follow these steps.

i) Go to Settings

Make sure you're in the "portfolio-test" repo, and click on "Settings".

Repository Settings.png

ii) Click on “pages” on the left sidebar.

GH Pages in Repo Settings.png

iii) Find "Branch" Setting

Scroll down a bit on GH-Pages Settings page, and find "Branch". You'll see "none" option is selected by default. Click on the dropdown and change it to "main".

Settings for Branch.png

iv) Don’t forget to click on “Save”

Finally, don’t forget to click on “Save”. Congratulations! Your website just went live. You can understand "how to get your website link" in the next step.

Click Save.png

This is how you can find the link:👇

Click on your Repo > then go to Settings > click on pages.

You'll see the link of your website.

The link for my website is: "https://anoortm.github.io/portfolio/".

In your case, the link would be: "https://YourGitHubID.github.io/YourRepoName/".

YourGitHubID = Your username for your GitHub account.

YourRepoName = The name of the repository you created in the beginning of this tutorial.

In the screenshot below, you can see how & where the link would appear.

Your website's live link.png

5. Upload your Website "Files"

Now that your website has gone live, you can access it via the link we got in the previous step.

But!

You'll see nothing.

Why?

Because there's nothing in the repo that you have had created.

So, we need to upload your website files to the repo.

In order to do that, click on your repository name, and then click on "Upload" files.

Click 'Upload Files'.png

After clicking, you’ll see the following screen saying: “Choose your files”. Click on it.

Upload files.png

Navigate to the folder containing all your website files.

The files may include:

  • index.html (must have)

  • CSS files

  • JS files

  • Images

  • Other resources.

Select all files. Drag and drop them to your GitHub repo.

select website files and drop.PNG

It may take some time depending on the size of your files.

And finally!

Don’t forget to click "Commit changes"!

Commit Changes.png

After "committing", you should wait for a while. It may take a some time to propagate the files.

uploaded files available in repo.png

Aaand Boom!

Your website has been deployed. Congratulations!

But!!!

You’ll have to wait a few minutes, in order to let the website propagate through GitHub. After some time, you'll be able to access your website with the link we got earlier.

The best thing about hosting on GitHub via GH-Pages is that you will also get a free SSL certificate. That is, your website will be secure to browse.

Outro:

That's a wrap.

I hope you found some value in this post.

Connect with me on Twitter, and GitHub. So, you can get to see useful and latest content.

I create content around:

  • Web Development

  • Technical Writing

  • Personal Growth

  • Freelancing

Thanks for reading my blog, and see you in the next one (hopefully😅).

48
Subscribe to my newsletter

Read articles from Ahsan Noor. directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Ahsan Noor.
Ahsan Noor.

Software Engineer WordPress Dev Aspiring Full Stack Developer Technical Writer Freelancer