Gatsby.js のブログにサイトマップが欲しくなったので導入する手順をまとめてみました。
公式に沿って導入しています。
gatsby-plugin-sitemap のインストール
インストールはこれだけ。
npm install --save gatsby-plugin-sitemap
siteMetaData に URL を指定
本番環境で使っている URL を siteMetadata に設定して上げる必要があります。
// gatsby-config.js
siteMetadata: {
siteUrl: `https://www.example.com`,
},
プラグインに指定
デフォルトで使うだけなら
plugins: [`gatsby-plugin-sitemap`]
サイトマップに載せたくないページがあるなど、オプションを使いたいなら、以下をプラグインに追加
{
resolve: `gatsby-plugin-sitemap`,
options: {
//自分の好きなファイル名にしたい場合はoutputを追加。デフォルトは「sitemap.xml」
output: `/some-other-sitemap.xml`,
//除外したいページを指定する。「*」でワイルドカードも使える。
exclude: [`/admin/*`, `/tags/*`, `/tags/`, `/category/`],
},
},
これで、本番にデプロイすると/sitemap.xml
のページが生成されます。
なお、ローカル開発環境でgatsby develop
した際は生成されません。
ローカルでみたい場合は、一度gatsby build
を実行して、/public
の中を確認してください。