通过 Zendesk 联合搜索,终端用户可以在帮助中心搜索结果中查看帮助中心以外的内容,例如外部知识库、学习管理软件、博客和您的网站页面。您可以使用 Zendesk 联合搜索 API 或网络抓取程序实施联合搜索。
网络抓取程序位于帮助中心的搜索设置中,无需开发者资源即可在帮助中心实施联合搜索(请参阅设置网络抓取程序)。您可以使用本文章来解决在应用程序中设置网络抓取程序时可能遇到的抓取程序设置和页面错误。
本文章包含以下主题:
抓取程序设置错误
当网络抓取程序由于域名所有权验证或网站地图处理中的错误而无法成功运行时,会生成抓取程序设置错误。抓取程序设置错误会生成一封电邮通知,发送给在网络抓取程序设置期间配置的抓取程序所有者。
无法验证域名所有权
网络抓取程序每次运行时都会尝试验证域名所有权,这可能需要 24 小时。如果域名验证失败,抓取程序所有者会收到电邮通知,且抓取程序页面将显示“域名验证失败”的抓取状态。
要解决域名验证错误,请检查以下内容:
- 您的网站主页(也称为索引或根页面)已设置并公开可用。该页面不应有任何用户登录名、密码、IP 限制或其它身份验证要求。
- 您需要确认您的域名所有权。单击抓取程序页面上的选项菜单 (
),然后选择编辑以返回抓取程序设置,并在其中确认您的域名所有权。请参阅使用网络抓取程序或 API 在帮助中心设置联合搜索。
无法处理网站地图
网络抓取程序每次运行时都使用在部署抓取程序设置时定义的网站地图。如果无法处理网站地图,抓取程序所有者会收到一封电邮通知,且抓取程序也不会运行。如果发生这种情况,请验证以下内容:
- 网络抓取程序指向正确的网站地图 URL,可以成功找到它。您可以编辑抓取程序以查看当前网站地图 URL。请参阅管理网络抓取程序。
- 网站地图已提供并公开可用。此页面不应受到任何用户登录名、密码、IP 限制或其他身份验证的限制。
- 网站地图是遵循网站地图 XML 协议的 XML URL 网站地图。
记录错误
如果没有设置错误,但网络抓取程序无法成功抓取并索引抓取程序网站地图中指定页面,则会出现记录错误(请参阅“设置网络抓取程序”)。发生记录错误时,系统会向抓取程序所有者发送一封电邮通知,其中包含一个指向 CSV 文件的链接,该文件列出了受影响的页面及其相关错误。
未检测到区域设置
“未检测到区域设置”错误表示网络抓取程序无法检测到任何区域设置,或检测到的区域设置与任何当前的帮助中心区域设置都不匹配。
要确定记录的区域设置,抓取程序将尝试以下方法。第一个成功的策略决定了记录的区域设置。
- 从 <html> 标签中的 lang 属性提取区域设置。
- 从 Content-Language 标头提取区域设置。
- 从 <meta> 标签中提取区域设置。
- 对内容进行文本分析 (CLD - Compact Language Detection)。
“未检测到区域设置”错误是由以下问题之一导致的:
- 已识别的区域设置或语言与您在帐户的任何帮助中心中配置的区域设置或语言不匹配。要查看您帐户中每个帮助中心都配置了哪些语言,请参阅配置帮助中心以支持多种语言。您可在按产品查看 Zendesk 语言支持中查找您已配置语言的区域设置代码。
- 网络抓取程序无法确定区域设置或语言。
要解决此问题,请验证以下内容:
- html 标签中的 lang 属性与帮助中心的区域设置相匹配。
- HTTP Content-Language 标头与帮助中心的区域设置相匹配。
- 在 http-equiv 属性中设置了 Content-Language 的 Meta 元素与帮助中心的区域设置相匹配。
请参阅了解网络抓取程序区域设置。
未检测到标题
“未检测到标题”错误表示网络抓取程序无法检测到记录的标题。网络抓取程序使用以下方法来确定记录标题:
- 提取 <title> 标签的内容。
- 提取 <h1> 标签的内容。
- 从 <body> 标签中提取文本。
第一个成功的策略决定了记录的区域设置。抓取程序仅对所提取内容的前 255 个字符建立索引。如果上述策略无法确定任何内容,则记录不会编入索引。
要解决此问题,请确保受影响的页面带有上面列出的标签之一。
找不到正文
“找不到正文”错误表示网络抓取程序无法检测到页面正文。要解决此错误,请确保受影响的页面已正确使用 <body> 标签。
HTTP [状态代码]
如果记录的 CSV 中的错误代码字段包含 HTTP 和一个状态代码,则表示该页面因无法访问而无法编入索引。如果页面可成功索引 (HTTP 2xx),您将不会收到 HTTP 状态代码错误。
最常见的错误代码包括:
- 404 - 找不到页面:页面不存在或已移至另一个 URL。要解决此问题,请确保抓取程序使用的网站地图是最新的,并且网站地图中所有的 URL 都指向现有的页面。
-
403 - 禁止:由于某种访问控制机制,例如需要登录或 IP 地址限制,抓取程序无法访问页面。要解决此问题,请验证以下内容:
- 您已将 Zendesk/External-Content(即网络抓取程序用户代理)添加到允许列表中。
- 您要索引的页面可公开访问,因为抓取程序无法抓取访问受限的页面。如果您要抓取并索引的页面无法公开访问,应尝试使用联合搜索(外部内容)API 对其进行索引。请参阅设置 Zendesk 联合搜索 API。
- 5xx - 服务器错误:由于服务器错误,页面无法抓取。该网站可能暂时不可用。要解决此问题,请访问出现此错误的一个或多个页面,确保网站运行正常。如果网站出现故障,联系网站管理员。修复错误后,等待抓取程序以正常频率(每 12-24 小时)再次运行。
无效的 URL 域名
“无效的 URL 域名”错误表示网站地图中列出的页面 URL 不在您在部署抓取程序设置期间配置的域名中。
要解决此问题,请验证触发错误页面的域名是否与为您的网络抓取程序定义的域名相同。如果网站地图中链接的页面指向的页面托管域名与抓取程序设置期间配置的托管域名不同,您可以进行以下操作之一:
- 为受影响的页面设置新的网络抓取程序。
- 将页面从外部域名移动到为网络抓取程序配置的域名。
不确定
“不确定”错误可能是由以下一个或多个原因引起的:
- 您已超出实例的外部记录限制:如果您已超出外部记录限制,则超过该限制的最新外部记录将不会被编入索引或更新。要解决该问题,您可以执行以下一项或多项操作:
-
页面正在使用 JavaScript 位置重定向:网络抓取程序未检测到 JavaScript 位置重定向。如果页面使用了 JavaScript 位置重定向,则抓取程序无法访问页面内容。
要解决此问题,请执行以下操作之一:
- 确保网站地图直接指向您要索引的页面。
- 实施 HTTP 重定向。
robot.txt 错误
robots.txt 文件用于告知抓取程序其可以访问网站的哪些部分。其主要目的是防止网站因抓取请求过多而过载。
robots.txt 不是一个配置步骤,而是一组指南,用于告知抓取程序其可以抓取整个网站还是特定部分。客户仅在抓取程序被阻止或 robots.txt 文件无效时才需要处理 robots.txt。在这些情况下,系统将生成以下错误之一。必须先解决这些错误,然后才能成功抓取和同步网站。
抓取已被网站阻止
当 robots.txt 文件配置为阻止所有用户代理(包括抓取程序)访问网站时,就会发生此错误。
要确保 Zendesk 抓取程序有权访问网站,同时可选择性地阻止其他抓取程序,您可以在 robots.txt 文件中添加一条覆盖规则,以允许 Zendesk 抓取程序访问。
User-agent: Zendesk/External-Content
Allow: /
User-agent: Googlebot
Disallow: /
无效 robots.txt 文件
当 robots.txt 文件存在但包含语法错误或无效规则,导致抓取程序无法读取并忽略或取消抓取时,就会发生此错误。
要解决此问题,请查看并更正您的 robots.txt 文件,确保其语法正确,并准确指定抓取程序权限。使用在线工具(例如 Google 的智能机器人测试工具)验证您的 robots.txt 文件。