beta

HUGOで記事のパーマリンクがindex.jsonになる時の対処

HUGOで、通常HTMLとjsonファイルを両方配信するようにしていたら、パーマリンクがindex.jsonになってしまったので、対処方法をまとめました。

公開日:2019年9月18日

現象

  • HUGOのoutputsで出力をHTMLとJSONの両方にしている
  • Permalinkは下記の設定
[permalinks]
    post = "/topics/:slug/"

普通に、HTMLヘッダ部分にcanonicalを設定したら

<link rel="canonical" href="{{ .Permalink }}">

パーマリンク部分が、https://example.com/topics/xxxxx/index.jsonとなってしまいました。

解決方法

問題は簡単で、comfig.tomlでのoutputsの設定の書き方でした。

[outputs]
  page = ["JSON", "HTML"]

とすると、Permalinkがjsonになり、

[outputs]
  page = ["HTML", "JSON"]

とすると、通常のURLに戻りました。

どうやら、先に書いている方式をパーマリンクとするようです。