gatsby - 如何将 gatsby 创建的页面排除在索引之外?
问题描述
语境
无头 CMS 奇迹Gatsbygatsby-plugin-advanced-sitemap
让生成强大sitemap.xml
的文件变得轻而易举。
该插件支持通过 slug 或巧妙的正则表达式排除页面。
但是,就我而言,我有 2 个用户生成的内容页面集合:
- 集合 A,包含需要托管和索引的页面,
- 集合 B,包含需要托管但未编入索引的页面。
B 集合没有使它们可以用正则表达式识别的 slug 模式。
问题
如何从索引中排除集合 B?
解决方案
如果它们允许具有属性的 Google 机器人,或者如果从其他页面到该页面的链接具有属性,则您不包含(或排除)的文件sitemap.xml
也可以被编入索引。robotx.txt
index
follow
关于您的问题,该插件允许您添加一组页面,尽管您的查询检索到这些页面,但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
.
推荐阅读
- c++ - 在 vscode 上选择 c++(GDB/LLDB) 时,我收到无法读取未定义错误的属性“包含”
- java - 在窗口 10 上设置外部工具时,Intellij 在 $FilePath$ 之前添加用户主路径
- php - PHP 对象和 foreach 循环出现问题,对象未正确存储值
- ruby-on-rails - 用户控制器#create中nil:NilClass的未定义方法'key'
- curl - curl:(6)无法解析主机:'http gitlab-ci runner
- sql-server - EF 6 和多对多关系
- swift - 在 Swift 中获取嵌入式 UIElement 在屏幕坐标中的位置
- c - C语言——使用struct形成矩阵
- amazon-web-services - 如何修复 s3cmd 响应中不正确的公共 url?
- android-studio - 将精灵附加到子弹 - Box2D LibGDX kotlin