教程 框架 组件 接口 工具 其他

sitemap 配置教程 1080+

快应用开放内容搜索后(需手机厂商支持),开发者可以通过 sitemap.json 配置允许厂商对页面进行索引。配置后,搜索后台的爬虫通过技术手段访问快应用页面,为内容建立索引。当用户在各个场景触发关键字时,可以展示在搜索列表中,并能直达快应用。爬虫访问快应用页面时,会携带 user-agent: qa-crawler

sitemap 配置

在快应用工程 src 目录下,新增 sitemap.json 文件,表示该应用将允许被爬虫索引sitemap.json可以配置快应用被爬虫索引的具体规则。您的快应用开发工具(IDE),需要在 v3.0 以上(如果使用命令行,hap-toolkit 版本需要 >= 0.7)。

配置项

rules 字段定义了索引规则

属性类型必填默认值取值取值说明
rulestring"enable""enable"、"disable"命中该规则的页面是否能被索引
pagestring"*"、页面的路径* 表示所有页面均可收录,暂时不支持正则表达式
paramsstring[][]配置透传给快应用页面的参数, 需填入 key 值数组。快应用页面可按照文档方法获取到透传参数
picstring页面缩略图,用于搜索结果展示 icon
descriptionstring页面描述,用户搜索结果摘要
lastmodstring上次修改时间,用于引擎抓取优化。时间格式需符合 ISO-8601标准, 如 2020-06-16T03:01:21Z

注: { "rule": "enable", "page": "*" }是 sitemap 的默认规则, 爬虫遵循无禁止即允许的基本原则。

配置示例

假设 manifest.json 中配置了如下页面:

  "router": {
    "entry": "pages/A",
    "pages": {
      "pages/A": {
        "component": "index"
      },
      "pages/B": {
        "component": "index"
      },
      "pages/C": {
        "component": "index"
      },
      "pages/D": {
        "component": "index"
      }
    }
  },

示例一

{
  "rules": [
    { "rule": "enable", "page": "pages/A", "params": ["foo", "bar"] },
    { "rule": "disable", "page": "pages/B" },
    { "rule": "enable", "page": "*" }
  ]
}
  • pages/A?foo=1&bar=2 => 优先被索引
  • pages/A => 被索引
  • pages/B?foo=1&bar=2 => 不被索引
  • pages/B => 不被索引
  • pages/C => 被索引
  • pages/D => 被索引

注:链接是否带参数不会影响爬虫索引,但是会影响索引的优先级,爬虫优先索引包含配置了具体参数的页面。

示例二

{
  "rules": [
    { "rule": "enable", "page": "pages/A" },
    { "rule": "enable", "page": "pages/B" }
  ]
}
  • pages/A => 被索引
  • pages/B => 被索引
  • pages/C => 被索引
  • pages/D => 被索引

注:由于{ "rule": "enable", "page": "*" }是 sitemap 的默认规则,所以以上配置会让所有页面都能被爬虫访问索引到。

如果只想允许 A,B 两个页面被索引到,正确的配置方式有如下两种:

方式一:

{
  "rules": [
    { "rule": "enable", "page": "pages/A" },
    { "rule": "enable", "page": "pages/B" },
    { "rule": "disable", "page": "*" }
  ]
}
  • pages/A => 被索引
  • pages/B => 被索引
  • pages/C => 不被索引
  • pages/D => 不被索引

方式二:

{
  "rules": [
    { "rule": "disable", "page": "pages/C" },
    { "rule": "disable", "page": "pages/D" }
  ]
}
  • pages/A => 被索引
  • pages/B => 被索引
  • pages/C => 不被索引
  • pages/D => 不被索引

根据 sitemap 的配置,爬虫可以对页面进行索引。最终页面收录后,才会有机会展示在厂商各个场景的搜索结果中。欲提升页面的收录效果,请遵循以下优化指示搜索优化指南

条匹配 "" 的结果

    没有搜索到与 "" 相关的内容