@apostrophecms/sitemap

中文文档
1.5.1发布于 2026/10/01MITCommonJS近 30 天下载 6027

ApostropeCMS 的 siteap 生成器 .

中文使用文档
文档目录10 节
  1. 路线图
  2. 安装
  3. 使用
  4. 初始化
  5. 设置 baseUrl
  6. 选项
  7. perLocale
  8. 任务
  9. 向搜索引擎介绍网站地图
  10. 解决问题
ApostropheCMS logo

ApostropeCMS 的 siteap 生成器

Apostrope Siteap 模块生成 XML 网站地图, 供网站使用 ApostropheCMS 磁带控制系统. 站点地图包括您网站上所有公众可见的页面,包括事件和博客帖等"件"内容.

一个经常更新和准确的XML站点地图可以让搜索引擎更快地索引您的内容并查看新页面. Sitemap 模块将维护缓存的站点地图以快速加载,但在一个小时后(默认情况下)自动刷新. 这也阻止了网站地图过时,这将是 罺 为SEO.

路线图

特性状态
用于单一本地网站的项目生成已执行
排除某些 Doc 类型的模块配置已执行
手动生成站点映射的任务已执行
文本风格的站点地图生成(用于内容战略工作)计划数
支持多个地(地)已执行
输出定制功能计划数

安装

npm install @apostrophecms/sitemap

使用

初始化

配置 @apostrophecms/sitemap 内 app.js 作为项目单元.

// app.js
require('apostrophe')({
  shortName: 'my-project',
  baseUrl: 'https://example.com',
  modules: {
    '@apostrophecms/sitemap': {}
  }
});

启动网站 (与 node app 或你所偏爱的指令),并且 http://localhost:3000/sitemap.xml (地方发展)。 您现在应该看到一个站点地图中显示的任何页面, 以及任何有相关块页的作品 .

设置 baseUrl

必须配置一个 baseUrl 用于项目正确显示 URL。 如上所示,这可以在应用程序配置对象中实现. 为支持生产和发展环境的不同领域,还可以将其配置在以下结构中: data/local.js 文件,通过版本控制应当被忽略. data/local.js 将优先于 app.js,因此两者也可以用来支持多种环境.

// data/local.js
module.exports = {
  baseUrl: 'http://localhost:3000'
};

选项

所有站点映射模块选项都配置在 options 对象.

// modules/@apostrophecms/sitemap/index.js
module.exports = {
  // 👇 Module options
  options: {
    cacheLifetime: 1800,
    excludeTypes: [ 'exclusive-page', 'category' ]
  }
};

这些内容可在 app.js 模块的配置对象,但使用模块配置的专用文件是更好的做法.

cacheLifetime

默认的站点图被缓存一个小时. 您可以通过指定 cacheLifetime 选项,以秒计。 它必须是一个大于零的数字.

提示 : 为了更容易进入缓存寿命,它可以帮助将其写作数学表达式,将期望的分数乘以60:

cacheLifetime: 30 * 60 // or 1800 seconds

记住:Google和其他搜索引擎比每周多,如果是这样的话. 每小时刷一次 通常都足够了.

excludeTypes

如果存在特定的页面类型或块内容类型,则应 没有 在站点映射中,将它们列在阵列中作为 excludeType 选项.

excludeTypes: [ 'exclusive-page', 'category' ]

piecesPerBatch (折旧)

此选项不再被使用, 将被忽略 。 它之前用于控制在直接从数据库查询中构建站点映像时每次处理多少件. 站点地图模块现在使用集中式 getAllUrlMetadata API代替.

perLocale

如果您的项目使用多个本地地址, 您想要 每个地方都有自己的站点地图,启用 perLocale 选项 :

// modules/@apostrophecms/sitemap/index.js
module.exports = {
  options: {
    perLocale: true
  }
};

这将:

  • 为每个地方生成单独的站点映射文件(例如, /sitemaps/en.xml, (中文(简体) ), /sitemaps/es.xml页:1
  • 服务网站映射索引文件于 /sitemaps/index.xml
  • 禁用默认 /sitemap.xml 路径(返回 a 404)

💡 提示 如果你使用多个地方,启用 perLocale 生成一个单独的站点图.

Sitemap: https://example.com/sitemaps/index.xml

任务

print

这个 print 命令会根据需要生成最新的站点地图 将网站映射打印到控制台。也可以根据需要将输出管道化,以帮助生成静态文件版本。 在命令行上,运行 :

node app @apostrophecms/sitemap:print

update-cache

使用 update-cache 任务以强制随时更新缓存。 如果网站非常大(数以百计的URL),在生产服务器上运行此任务选项时,比标准缓存刷新更频繁地使用克龙任务,有助于在搜索引擎开始爬行网站时确保缓存可用.

node app @apostrophecms/sitemap:update-cache

clear

您可以在任何时间手动清除缓存的站点图 clear 任务。 这将迫使在下次请求时生成一个新的站点图 /sitemap.xml。在命令行中,运行:

node app @apostrophecms/sitemap:clear

向搜索引擎介绍网站地图

创建一个 public/robots.txt 如果您还没有文件,请添加站点映射行。 这是没有其他网站的有效例子 robots.txt 规则 :

Sitemap: https://example.com/sitemap.xml

解决问题

  • 如果你已经有静态 public/sitemap.xml 文档, 文件将在 /sitemap.xml URL路径代替. 删除它让模块接管.
  • 默认情况下会缓存一个小时,所以不会立即看到内容的改变. 见上文关于 cacheLifetime 选项, clear 任务,以及 update-cache 任务,用于更频繁地更新网站图.

版本与发布记录

@apostrophecms/sitemap 共发布 11 个版本,首次发布于 2021/07/01;过去 12 个月发布了 4 个版本。

版本发布日期距今
1.5.1latest2026/10/011 个月前
1.5.02026/07/113 个月前
1.4.02026/04/166 个月前
1.3.02026/03/197 个月前
1.2.02025/08/061.3 年前
1.1.12025/07/101.3 年前

关于 @apostrophecms/sitemap 的常见问题

@apostrophecms/sitemap 是什么?

ApostropeCMS 的 siteap 生成器 .

如何安装 @apostrophecms/sitemap?

在项目目录运行 npm install @apostrophecms/sitemap,或使用 pnpm add / yarn add / bun add。

@apostrophecms/sitemap 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/apostrophecms__sitemap 是否存在。

@apostrophecms/sitemap 支持 ESM 还是 CommonJS?

以 CommonJS 形式发布,可以直接 require();在 ES Module 项目中也可以用 import 引入(Node.js 会把 module.exports 作为默认导出)。

@apostrophecms/sitemap 可以商用吗?

@apostrophecms/sitemap 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@apostrophecms/sitemap 的下载量有多少?

根据 npm 官方下载统计,@apostrophecms/sitemap 在 2026/10/07 – 2026/11/05 这 30 天内被下载 6,027 次,日均约 201 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@apostrophecms/sitemap 还在维护吗?

最新版本 1.5.1 发布于 2026/10/01(1 个月前);至今共发布 11 个版本,其中过去 12 个月发布了 4 个;首次发布于 2021/07/01。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。