跳到主要内容

📦 plugin-sitemap

此插件为您的站点创建站点地图,以便搜索引擎爬虫可以更准确地爬取您的站点。

production only

此插件在开发环境中始终处于非活动状态,并且 仅在生产环境中处于活动状态 ,因为它基于构建输出工作。

安装

npm install --save @docusaurus/plugin-sitemap
提示

如果您使用预设 @docusaurus/preset-classic,则无需将此插件安装为依赖项。

您可以通过 预设选项 配置此插件。

配置

接受的字段:

名称类型默认值描述
lastmod'date' | 'datetime' | nullnulldate 为 YYYY-MM-DD。datetime 为 ISO 8601 日期时间。null 为禁用。请参阅 站点地图文档
changefreqstring | null'weekly'请参阅 站点地图文档
prioritynumber | null0.5请参阅 站点地图文档
ignorePatternsstring[][]一组 glob 模式;匹配的路由路径将从站点地图中过滤掉。请注意,您可能需要在此处包含基本 URL。
filenamestringsitemap.xml创建的站点地图文件的路径,相对于输出目录。如果您有两个插件实例输出两个文件,则很有用。
createSitemapItems CreateSitemapItemsFn | undefinedundefined一个可选函数,可用于转换和/或过滤站点地图中的项目。

类型

CreateSitemapItemsFn

type CreateSitemapItemsFn = (params: {
siteConfig: DocusaurusConfig;
routes: RouteConfig[];
defaultCreateSitemapItems: CreateSitemapItemsFn;
}) => Promise<SitemapItem[]>;
信息

此插件也遵循一些站点配置:

  • noIndex :导致不生成站点地图
  • trailingSlash :确定站点地图中的 URL 是否带有尾部斜杠
关于 lastmod

只有当插件提供 路由元数据 属性 sourceFilePath 和/或 lastUpdatedAt 时,lastmod 选项才会输出站点地图 <lastmod> 标签。

所有官方内容插件都为由内容文件(Markdown、MDX 或 React 页面组件)支持的路由提供元数据,但第三方插件作者可能不提供此信息,并且该插件将无法为其路由输出 <lastmod> 标签。

示例配置

您可以通过预设选项或插件选项配置此插件。

提示

大多数 Docusaurus 用户通过预设选项配置此插件。

If you use a preset, configure this plugin through the preset options:

docusaurus.config.js
module.exports = {
presets: [
[
'@docusaurus/preset-classic',
{
[translation failure]: {
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 找到您的站点地图。