はじめに

HUGOでWEBサイトを作成した場合に、各ページのURLは、config.tomlのbaseurlからの相対パスで設定される模様。

相対パスでWEBサイトを作成していたところ、config.tomlのbaseurlにhttps://example.com/blogという設定をすると、
NextやPrevのアンカーの参照先のURLが、本来であれば、
http://localhost:1313/blog/page/2/としたいのに、http://localhost:1313/blog/blog/page/2/のようになってしまう事象が発生した。

本記事では、HUGOでURLを相対パスから絶対パスに変更する手順を記載する。


実行環境

下記のテーマを利用。

https://github.com/dim0627/hugo_theme_robust


URLの正規化オプションを設定

下記のようにconfig.tomlにcanonifyurls = trueを設定すると、 baseURLを起点とした相対パスから、絶対パスになる模様。

canonifyは正規化という意味の英単語。

https://gohugo.io/content-management/urls/

baseurl = "https://example.com/blog"
title = "SiteTitle"
theme = "hugo_theme_robust"
canonifyurls = true

googleAnalytics = "UA-XXXXXXXX-XX" # Optional
disqusShortname = "XYW"

[params]
description = "This is site description"
dateformat = "Jan 2, 2006" # Optional
# Fonts settings.
googlefonts = "https://fonts.googleapis.com/css?family=Lobster|Lato:400,700" # Optional, Include google fonts.
fontfamily = "Lato,YuGothic,'Hiragino Kaku Gothic Pro',Meiryo,sans-serif" # Optional, Override body font family.
logofontfamily = "Lobster, cursive" # Optional, Override logo font.

[params.author]
thumbnail = "images/author.jpg"
name = "John Doe"
description = "<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit</p><p>sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p>"
facebook = "https://www.facebook.com/daisuke.tsuji.735"
twitter = "https://twitter.com/dim0627"
github = "https://github.com/dim0627"

[outputs]
page = [ "HTML", "AMP" ] # if you want AMP enable.

上記の設定をhugoを実行すると、NextやPrevの参照先のURLが、
http://localhost:1313/blog/page/2/のようにする。