首页 > 解决方案 > 如何将 gatsby 创建的页面排除在索引之外?

问题描述

语境

无头 CMS 奇迹Gatsbygatsby-plugin-advanced-sitemap让生成强大sitemap.xml的文件变得轻而易举。

该插件支持通过 slug 或巧妙的正则表达式排除页面。

但是,就我而言,我有 2 个用户生成的内容页面集合:

B 集合没有使它们可以用正则表达式识别的 slug 模式。

问题

如何从索引中排除集合 B?

标签: gatsbysitemap

解决方案


如果它们允许具有属性的 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.


推荐阅读