给 eleventy(11ty) 添加 sitemap.xml 和 robots.txt

给 eleventy(11ty) 添加 sitemap.xml 和 robots.txt

💡 原文中文,约1500字,阅读约需4分钟。
📝

内容提要

本文介绍了如何配置站点信息和sitemap文件,包括添加数据文件、添加sitemap模板文件和配置不同页面的sitemap表现。同时还提供了参考文档供读者参考。

🔎

延伸解读

站点信息集中管理

通过 _data/site.json 集中定义 baseUrl、robots 路径和 sitemap 默认值,便于统一维护。修改站点域名或 sitemap 路径时只需调整此文件,无需在多个模板中查找替换,降低了出错风险。

灵活控制页面收录

利用页面元数据中的 sitemap.ignore 和 sitemap.priority,可以精细控制哪些页面出现在 sitemap 中以及它们的优先级。优先级取值范围为 0 到 1,默认值由 site.json 提供,页面级设置会覆盖默认值。

分页页面需额外配置

对于分页数据,必须设置 pagination.addAllPagesToCollections: true,否则 sitemap 只会包含第一页。这一配置确保每个分页页面都能被搜索引擎发现,避免内容遗漏。

robots.txt 与 sitemap 联动

robots.txt 模板通过 eleventyComputed 动态生成 permalink,并引用 site.baseUrl 和 site.sitemap.path 来声明 Sitemap 地址。这样爬虫能自动找到 sitemap,同时 User-agent 和 Disallow 规则可在此统一管理。

❓

Q&A

如何为eleventy添加sitemap.xml文件?

通过添加数据文件_site.json和sitemap模板文件,可以为eleventy生成sitemap.xml文件。

在sitemap中如何控制页面的优先级?

可以在页面元数据中添加sitemap.priority字段,设置不同页面的优先级,取值范围为0到1。

如何在sitemap中排除某些页面?

在不希望包含在sitemap中的页面元数据中添加sitemap.ignore: true即可。

如何配置robots.txt文件?

通过添加模板文件src/robots.txt,并定义爬虫访问规则和sitemap路径来配置robots.txt文件。

如何处理分页数据以包含在sitemap中?

需要设置pagination.addAllPagesToCollections: true,才能在sitemap.xml中包含每个分页页面。

有哪些参考文档可以帮助我学习sitemap的创建?

可以参考文档如《How to create sitemap.xml》和《Sitemap xml》等,以获取更多信息。

🏷️

标签

➡️

继续阅读