语境
无头 CMS 奇迹Gatsbygatsby-plugin-advanced-sitemap让生成强大sitemap.xml的文件变得轻而易举。
该插件支持通过 slug 或巧妙的正则表达式排除页面。
但是,就我而言,我有 2 个用户生成的内容页面集合:
- 集合 A,包含需要托管和索引的页面,
- 集合 B,包含需要托管但未编入索引的页面。
B 集合没有使它们可以用正则表达式识别的 slug 模式。
问题
如何从索引中排除集合 B?
无头 CMS 奇迹Gatsbygatsby-plugin-advanced-sitemap让生成强大sitemap.xml的文件变得轻而易举。
该插件支持通过 slug 或巧妙的正则表达式排除页面。
但是,就我而言,我有 2 个用户生成的内容页面集合:
B 集合没有使它们可以用正则表达式识别的 slug 模式。
如何从索引中排除集合 B?
如果它们允许具有属性的 Google 机器人,或者如果从其他页面到该页面的链接具有属性,则您不包含(或排除)的文件sitemap.xml也可以被编入索引。robotx.txtindexfollow
关于您的问题,该插件允许您添加一组页面,尽管您的查询检索到这些页面,但exclude这些页面不会添加到您的页面中。sitemap.xml所以,在你的gatsby-config.js:
{
resolve: `gatsby-plugin-advanced-sitemap`,
options: {
query: `{}`, // your query
mapping: {}, // add if needed
exclude: [
`/dev-404-page`,
`/404`,
`/404.html`,
`/offline-plugin-app-shell-fallback`,
`/terms-and-conditions`,
`/terms-of-use`,
`/cookie-policy`,
`/privacy-policy`,
/(\/)?hash-\S*/,
],
createLinkInHead: true,
addUncaughtPages: true,
additionalSitemaps: [], // add if needed
},
},
理想情况下,您排除的页面可能会遵循正则表达式方式,以便在生成时自动排除。但是,如果不这样做,如上面的代码所示,您可以手动添加。在这种情况下,也/terms-of-use不会/cookie-policy在/privacy-policy您的sitemap.xml.