Featured image of post Hello World

Hello World

An introductory post describing how I started this website.

Inspiration

There are many things to learn and explore in this world. I regularly encounter new information and produce new thoughts about projects that I could do. I felt that it would be a good idea to spend some effort into enriching these thoughts and collating them somewhere.

And this is how my personal website was born! It is also a blog, so I will use these two terms interchangeably~

My website goals

This website will be a cozy space for me to post snippets of the things I learned, complete with my thought processes, some research and a list of useful links that we can refer to in the future.

My short-term goal is to populate these 3 categories with my posts:

  • Fun - where I write about interesting things I encounter
  • Software - where I describe software engineering projects I do
  • Algorithms - where I do some programming exercises

My long-term goal is to become a more knowledgeable person by studying pieces of interesting information that I come across in my daily life.

How I created this website

I was thinking… which frontend framework should I use to create this website? What do I value in a blog website? Of all things, I felt that I should be able to update my website with the utmost ease and convenience. I was leaning towards the idea of using markdown to add new posts.

Should I use React? I would most likely have to structure my content in JSON format, which is not blog-friendly.

What about Django? I could create new posts easily using the administration site. However, I would have to run a server/database for deployment. Since I am making a static site, it would be quite overkilling to host my backend just for post updates.

That’s when I learnt about Hugo. As I quote from their website,

Hugo is one of the most popular open-source static site generators. With its amazing speed and flexibility, Hugo makes building websites fun again. Hugo’s shortcodes are Markdown’s hidden superpower. We love the beautiful simplicity of markdown’s syntax, but there are times when we want more flexibility. Hugo shortcodes allow for both beauty and flexibility.

Hugo is fast and markdown-friendly, and it has many aesthetic themes available. It is also really easy to host on Netlify. With some tweaks made to the configuration and CSS, my website looks pretty decent. I’m quite impressed by Hugo!

My very own domain

For my website name, I thought of settling for github.com/neoruien/blog but it just doesn’t sound right.

Perhaps, I could register for a domain like neoruien.com. The student benefits offered by GitHub Education are great. Using any of the domain websites below, I could register my domain for free.

But only for one year. Considering that I will be graduating in 1 year, I do not think that this strategy would be sustainable. That said, this could be a great solution for your domain problems.

Eventually, I registered my domain with Cloudflare, which offers excellent DNS security.

Setting up Search Engine Optimization (SEO)

After setting up my website, I searched for neoruien on Google. Although my LinkedIn profile appeared at the top of the search results, I noticed several other neoruiens too. And my website, understandably, did not appear.

With the guidance of my friend, I enabled sitemap and robots.txt in Hugo and verified my domain on the following sites. These sites allow my site to show up in Google and Bing search results respectively.

It takes approximately one day for the changes to be applied. In the meanwhile, I wondered about the function of sitemap and robots.txt. How do they help in domain verification?

Type of fileFunction
sitemapIt informs search engine crawlers about the pages and files in the website that you regard as important. Search engines will then take the information into account for search.
robots.txtIt manages crawl traffic and controls whether image files, video files, PDFs, and other non-HTML files of a website would appear in search engine results.

Together, they allow a website to be discovered more easily.

In the meanwhile, I also ran an SEO test using Lighthouse (in Chrome DevTools). My website achieved full marks!

Moving forward

I will continue to monitor and improve the SEO of my website while creating new blog posts.

Credits

Thank you Junhua for telling me about Hugo and going through the process of domain and SEO creation with me :D

References

Tags