SuperAPI AI 工具集

umbraco-sitemap

前端与建站

查看项目

更新于 10-16 06:09

技能介绍

用途

umbraco-sitemap 用于为 Umbraco 17+ 站点添加 XML 站点地图,提供两种受支持的实现路径。

两种实现方式

方式 A:缓存型控制器(默认)

  • 实现形式:自定义缓存 API 控制器。
  • 站点地图 URL:固定为 /sitemap.xml。
  • 缓存:使用内存缓存,自动失效。
  • 后台操作:无需后台操作,仅基于文件。
  • 适用:无头(Headless)/Delivery-API 站点、无法访问后台的场景。

方式 B:Razor 模板

  • 实现形式:Razor 模板配合 Document Type。
  • 站点地图 URL:由 XmlSiteMap 内容节点提供,例如 /xml-sitemap。
  • 缓存:无缓存,按请求渲染。
  • 后台操作:必需,包括 Document Types、组合(composition)和内容节点。
  • 适用:传统 Razor 站点,支持编辑者逐页控制(优先级、变更频率、隐藏)。

如何选择

  • 默认采用方式 A。
  • 当团队希望使用官方文档的做法,或需要编辑者逐页控制(优先级 / 变更频率 / 隐藏)时,选择方式 B。
  • 方式 B 的 Document Types、组合与模板随 assets/sitemap-package.xml 和 assets/xmlSitemap.cshtml 提供,可作为包安装,或依据该规范手工搭建。
  • 建议优先使用 Umbraco Developer MCP 完成后台步骤;如果 MCP 不可用,应手动引导用户完成这些步骤,而不是因为缺少 MCP 就改用方式 A。
  • 只有在完全无法访问后台时,才回退到方式 A。
  • 如果情况不明确,简要提供两种方案并推荐方式 A。

版本兼容性

  • 两种方式均面向 Umbraco 17+。
  • 方式 A 使用 IDocumentNavigationQueryService(Umbraco 15+)。

验证

  • 两种方式的断言位于 evals/evals.json。
  • 可通过 umbraco-skill-evaluator 技能运行这些断言。

参考资料

  • approach-a-cached-controller.md
  • approach-b-razor-template.md

来源说明

  • 自定义代码由文档中的构建块组成。
  • 模板与包清单已在 assets/ 中验证,遵循官方教程。