Yoast SEO is addmitedly a nice plugin in Wordpress. I was thinking a lot how to replace it in Hugo. Quickly I learned that SEO is not magic.

This post is mostly about search engine optimization (SEO) in Hugo, but has also some ideas for content tagging for social media. The following tips are not strictly Hugo specific.

Is SEO important on your Hugo website?

I have done a lot of SEO for my website throughout the years. During the site renewal I questioned my values to maintain a website.

This is the current priority for my personal website:

  1. Platform for me to
    • Publish my thoughts
    • Experiment tech
  2. Hobby project
    • Simplicity
    • Flexbility
    • Quality over hurry
    • High performance
    • Fully customizable
    • Low cost
  3. Make side income
    • Polished content
    • Search Engine Optimization
    • Attract visitors

Previously many of these goals were conflicting with each other. For example: Optimizing the content for search engines to the last piece vs Spending that time to experiment new tech.

With this prioritization it is easier to focus on things I enjoy the most.

SEO friendly site structure in Hugo

Site structuring is important part of SEO. And that is something where plugins like Yoast SEO falls short.

I realized that my blog has spread to multiple topics with totally different audiences. People interested on my free time activities might not be that keen to read the data science articles.

It might be reasonable to say that in this kind of case the category root page is more important than the blogs main page where all topics are mixed. For that reason I promoted the Wordpress category url format from /en/blog/category/free-time/ to /en/categories/free-time/ in Hugo. Hopefully this makes it more clear for search engines that categories can be found from one place and individual posts under the blog folder like /en/data/website-renewal/.

It would have been more logical and SEO friendly to sink the individual blog posts under a specific category like this: /en/categories/free-time/one-way-ticket/. As I valued the site flexibility over SEO so I decided to decouple the post slug and category with thise structure: /en/blog/one-way-ticket/.

Taxonomy SEO in Hugo

Category is the only taxonomy that is indexed for search engines.

The tag and series pages have this markup in the html file to exclude them from crawling:

<meta name="robots" content="noindex,nofollow">

Otherwise they would compete with the categories in the SEO.

Tags and series are still helpful to for visitors to navigate on the site and link relevant content easily. Related tags can be found at the end of each blog post and I use them in my CV. Series have a bit similar purpose, but they have time order and together they create a story.

Google alogrithm update cuts page views by 50%

Since May 2021 my website started to have lower visitor numbers.

The page loads dropped from 10 000 per month to 5 000. I did not have definitive explanation until I did a bit of research. It seems that Google changed their alogrithm on that time to emphasize user experience. It would not be just content optimization and tricks anymore!

The original reason to switch from Wordpress to Hugo was to make the site simpler, faster and better structured. All these objectives went well together with Google’s emphasis with the user experience.

Nevetheless, the visitor counts have not returned to the glory days. And I’m totally fine with that, as my prioritization shows.

Indicating Hugo site language for crawlers

Google bot determines the site’s language automatically .

Just create separate domains or urls per language and don’t mix the languages.

Open graph tags for social media

Open graph tags are not really for search engines. According to my understanding they are more useful for social media to render previews when somebody shares a post.

Here is an example of og meta tag:

<meta property="og:title" content="This is some page"/>

And here is list of all tags I currently use on my site:

  • og:url
  • og:site_name
  • og:description
  • og:title
  • og:image

Focus on the content quality on the Hugo site

Create a routine to write your content in a way that both the readers and search engines understand it:

  • Interesting content that people want to read
  • Image naming and alt tags
  • Short and descriptive urls
  • Systematic and descriptive titles
  • The most important links easily available

But don’t overdo it! The basics should be enough.