📦 plugin-sitemap
このプラグインは、検索エンジンのクローラーがサイトをより正確にクロールできるように、サイトマップを作成します。
本番環境のみ
このプラグインは、ビルド出力で動作するため、開発環境では常に非アクティブで、本番環境でのみアクティブです。
インストール
- npm
- Yarn
- pnpm
npm install --save @docusaurus/plugin-sitemap
yarn add @docusaurus/plugin-sitemap
pnpm add @docusaurus/plugin-sitemap
ヒント
プリセット @docusaurus/preset-classic
を使用する場合は、このプラグインを依存関係としてインストールする必要はありません。
このプラグインは、プリセットオプションを通じて設定できます。
設定
受け入れられるフィールド
名前 | 型 | デフォルト | 説明 |
---|---|---|---|
lastmod | 'date' | 'datetime' | null | null | date は YYYY-MM-DD です。datetime は ISO 8601 の日時です。null は無効です。サイトマップのドキュメントを参照してください。 |
changefreq | string | null | 'weekly' | サイトマップのドキュメントを参照してください |
priority | number | null | 0.5 | サイトマップのドキュメントを参照してください |
ignorePatterns | string[] | [] | グロブパターンのリスト。一致するルートパスはサイトマップからフィルタリングされます。ここにベースURLを含める必要がある場合があることに注意してください。 |
filename | string | sitemap.xml | 出力ディレクトリに対する、作成されたサイトマップファイルのパス。2つのファイルを出力する2つのプラグインインスタンスがある場合に役立ちます。 |
createSitemapItems | CreateSitemapItemsFn | undefined | undefined | サイトマップ内のアイテムを変換および/またはフィルタリングするために使用できるオプションの関数。 |
型
CreateSitemapItemsFn
type CreateSitemapItemsFn = (params: {
siteConfig: DocusaurusConfig;
routes: RouteConfig[];
defaultCreateSitemapItems: CreateSitemapItemsFn;
}) => Promise<SitemapItem[]>;
情報
このプラグインは、サイト設定もいくつか尊重します
noIndex
: サイトマップが生成されないtrailingSlash
: サイトマップ内のURLに末尾のスラッシュがあるかどうかを決定します
lastmod
についてlastmod
オプションは、プラグインが ルートメタデータ属性 sourceFilePath
および/または lastUpdatedAt
を提供する場合にのみ、サイトマップの <lastmod>
タグを出力します。
公式のコンテンツプラグインはすべて、コンテンツファイル(Markdown、MDX、またはReactページコンポーネント)に裏打ちされたルートのメタデータを提供しますが、サードパーティのプラグイン作成者がこの情報を提供しない可能性があり、その場合、プラグインはルートの <lastmod>
タグを出力できません。
設定例
このプラグインは、プリセットオプションまたはプラグインオプションを通じて設定できます。
ヒント
ほとんどのDocusaurusユーザーは、プリセットオプションを通じてこのプラグインを設定します。
- プリセットオプション
- プラグインオプション
プリセットを使用している場合は、プリセットオプションを通じてこのプラグインを設定します。
docusaurus.config.js
module.exports = {
presets: [
[
'@docusaurus/preset-classic',
{
sitemap: {
lastmod: 'date',
changefreq: 'weekly',
priority: 0.5,
ignorePatterns: ['/tags/**'],
filename: 'sitemap.xml',
createSitemapItems: async (params) => {
const {defaultCreateSitemapItems, ...rest} = params;
const items = await defaultCreateSitemapItems(rest);
return items.filter((item) => !item.url.includes('/page/'));
},
},
},
],
],
};
スタンドアロンプラグインを使用している場合は、プラグインに直接オプションを提供します
docusaurus.config.js
module.exports = {
plugins: [
[
'@docusaurus/plugin-sitemap',
{
lastmod: 'date',
changefreq: 'weekly',
priority: 0.5,
ignorePatterns: ['/tags/**'],
filename: 'sitemap.xml',
createSitemapItems: async (params) => {
const {defaultCreateSitemapItems, ...rest} = params;
const items = await defaultCreateSitemapItems(rest);
return items.filter((item) => !item.url.includes('/page/'));
},
},
],
],
};
サイトマップは /sitemap.xml
にあります。