Hugoのsitemap.xmlがlocを相対パスで出力してた
問題
表題の通り。 相対パスで出力されてたのでsitemap.xmlとして不正な状態だった。
結論
- baseURLが”/“になってた
- これを修正すればsitemap.xmlにも反映された
説明
まず疑ったのはsitemap.xmlのテンプレートがおかしいのでは? という線。 sitemap.xmlは特にテンプレートを設定せずにおいても出力されるが、 これを自分で明示的に設定した。
配置場所は layout/_default/sitemap.xml
で内容はデフォルトのものをコピペした。
詳細は https://gohugo.io/templates/sitemap-template/#sitemap-templates こちらを参照。
これでは改善しなかったので、absURLを使って <loc>{{ .Permalink | absURL }}</loc>
こんな感じで明示的に修正してみた。
使い方の詳細は https://gohugo.io/functions/absurl/#readout こちらを参照。
これでも直らなかったのでそもそもbaseURLおかしいのでは? と思い、config.tomlを参照したら "/"
こうなってしまっていたので、これを修正するとlocが絶対パスになった。
設定の詳細は https://gohugo.io/getting-started/configuration/#all-configuration-settings この辺参照。
2020-05-07