@docmd/plugin-sitemap 插件在构建目录根目录自动生成 sitemap.xml 文件。该文件为 Google、Bing 等搜索引擎提供完整的站点架构地图,确保包括版本化文档中深层链接在内的所有页面都能被爬取和索引。

配置

提供站点的 siteUrl 即可开启站点地图生成。可在 plugins 对象中自定义各章节的爬取权重。

import { defineConfig } from '@docmd/core';

export default defineConfig({
  siteUrl: 'https://docs.example.com', // Required for sitemap generation
  plugins: {
    sitemap: {
      defaultChangefreq: 'weekly', // 'always', 'hourly', 'daily', 'weekly', 'monthly', 'yearly', 'never'
      defaultPriority: 0.8,        // Default weight for standard pages
      rootPriority: 1.0            // Weight for the homepage (index.md)
    }
  }
});

页面级控制

可使用 frontmatter 覆盖特定页面的站点地图行为。

---
title: "归档页面"
priority: 0.3          # 旧版内容的较低权重
changefreq: "monthly"   # 提示爬虫此页面变更频率较低
lastmod: "2024-03-15"   # 明确设置最后修改日期
sitemap: false         # 将此页面从 sitemap.xml 中排除
---

核心功能

1. 自动 URL 构建

插件智能地将页面路径解析为规范的公开 URL。它自动处理目录索引,确保 guide/index.html 列为 https://yoursite.com/guide/,以维护简洁的 URL 结构。

2. 版本化发现

如果你的项目使用版本控制,站点地图插件会自动включать所有版本的所有页面(如 /v1/getting-started/v2/getting-started),无需手动配置即可让搜索引擎发现你的归档文档。

3. 智能排除

在 frontmatter 中标记 noindex: truesitemap: false 的页面会自动从生成的 sitemap.xml 中排除,让你精细控制呈现给搜索引擎的内容。

验证

构建站点后,通常可在 your-output-dir/sitemap.xml 找到站点地图。大多数搜索引擎控制台允许你直接提交此文件以加速索引。