高木のブログ

【Gatsbyブログ】gatsby-plugin-sitemapが3系から4系で仕様が変わっていた

2021/07/25

Google Search Consoleで新しい記事がインデックスになかなか追加されないなと思ったら、gatsby-plugin-sitemapが3系から4系で仕様が変わっていたためだった

3系から4系でいくつか変更があると思うが、今回は出力されるサイトマップのURLの話

出力されるサイトマップのURLの変更

3系では/sitemap.xmlが出力されていたが、4系からは/sitemap/sitemap-index.xmlになった

Google Search Consoleには「 https://www.example.com/sitemap/sitemap-index.xml 」この形で登録してあげたら良い
しばらく待っていると正常に登録される

変更に気づくのが遅れた理由

4系に上げてから気づくまでに2ヶ月くらい経ってた
このブログはVercelにデプロイしていて、/sitemap.xmlがキャッシュに残っていた
記事は更新されていないが、URLが存在するため検知ができなかった

対応

--forceオプションを付けてデプロイしてあげたらキャッシュが消える

vercel --prod --force

参考にさせていただいたブログの補足

対応1

google search console に登録するサイトマップの URL を/sitemap/sitemap-index.xml にすると登録できたが、紐づく sitemap-0.xml がエラーとなってしまった。

原因は、/sitemap/sitemap-0.xml にアクセスしないといけないのに、sitemap-index.xml 内の URL が /sitemap-0.xml となっているためでした。

こちらのバグは修正済み

対応2

gatsby-plugin-sitemap のオプションに出力先が指定できるので、gatsby-config.js に設定する。

ビルドすると public フォルダの直下に出力できたが、google search console は登録エラーのままだった、、、

こちらについては時間が経てば登録されるはず

参考

GatsbyJS gatsby-plugin-sitemapを更新すると登録できない


Written by ytkg, Twitter, GitHub

Pixela