【Hugo】Custom Domain が Sitemap.xml に適用されない

【Hugo】Custom Domain が Sitemap.xml に適用されない

Hugo 2024/10/26

結論

デプロイ時のコマンド hugo --gc --minify -b ${DEPLOY_PRIME_URL}" が原因。

きっかけ

sitemap.xml をみたときに、URL が 自身のカスタムドメインではなく Netlify.app のドメインになっていた。
また、私のサイトを Google で検索しても、Netlify.app 側のドメインが検索で引っかかってしまう。
内容が同じでドメインが重複しているため SEO としても良くないため対応をした。

原因

netlify.toml 内に記載されたデプロイ時のコマンドオプション -b ${DEPLOY_PRIME_URL}" が原因だった。
{DEPLOY_PRIME_URL} は Netlify の環境変数であり、簡単に言えば https://feature-branch--petsof.netlify.app といった Netlify 側の URL が入る。
-b オプションをつけることで、 baseURL が設定されるため、 Netlify の URL が baseURL として設定されてしまった(本来は Custom Domain を入れたい)
このオプションは、 Hugo のテーマを適用したときに付いてきたもの(GitHub の Use this template)だった。

解決

-b ${DEPLOY_PRIME_URL} のオプションを削除することで、 カスタムドメインが正しく反映され、 sitemap.xml も正常な値に戻った。

修正後

netlify.toml
[build]
publish = "public"
command = "hugo --gc --minify"

[build.environment]
HUGO_VERSION = "0.132.2"

参照