【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 は登録エラーのままだった、、、
こちらについては時間が経てば登録されるはず