通过 Zendesk 联合搜索,终端用户可以在帮助中心搜索结果中查看帮助中心以外的内容,例如外部知识库、学习管理软件、博客和您的网站页面。您可以使用 Zendesk 联合搜索 API 或搜索抓取程序实施联合搜索。
搜索抓取程序位于帮助中心的搜索设置中,无需开发者资源即可在帮助中心实施联合搜索(请参阅设置搜索抓取程序)。您可以使用本文章来解决在应用程序中设置搜索抓取程序时可能遇到的抓取程序设置和页面错误。
本文章包含以下主题:
抓取程序设置错误
当搜索抓取程序由于域名所有权验证或网站地图处理中的错误而无法成功运行时,会生成抓取程序设置错误。抓取程序设置错误会生成一封电邮通知,发送给在搜索抓取程序设置期间配置的抓取程序所有者。
无法验证域名所有权
搜索抓取程序每次运行时都会尝试验证域名所有权,这可能需要 24 小时。如果域名验证失败,虽然抓取程序所有者会收到电邮通知,但您可以在编辑搜索抓取程序页面上立即测试验证。请参阅管理搜索抓取程序。
要解决域名验证错误,请检查以下内容:
- 您的网站主页(也称为索引或根页面)已设置并公开可用。该页面不应有任何用户登录名、密码、IP 限制或其它身份验证要求。
- 您已从抓取程序实施正确的标签。该标签没有错别字,实施于您要抓取的网站主页的 <head> 部分。域名验证标签应始终放置在网站的主页上,即使您的抓取程序已配置为抓取页面子集。您可以编辑抓取程序以查看当前域名验证信息。请参阅管理搜索抓取程序。
注意:您可以为同一域名的不同抓取程序设置多个验证标签。
示例
<html>
<head>
<meta name="zd-site-verification" content="crawler-verification-token">
<title>Title</title>
<style>
<!-- style info here -->
</style>
</head>
<body>
<!-- body of the page here -->
</body>
</html>
无法处理网站地图
搜索抓取程序每次运行时都使用在部署抓取程序设置时定义的网站地图。如果无法处理网站地图,抓取程序所有者会收到一封电邮通知,且抓取程序也不会运行。如果发生这种情况,请验证以下内容:
- 搜索抓取程序指向正确的网站地图 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 不在您在部署抓取程序设置期间配置的域名中。
要解决此问题,请验证触发错误页面的域名是否与为您的搜索抓取程序定义的域名相同。如果网站地图中链接的页面指向的页面托管域名与抓取程序设置期间配置的托管域名不同,您可以进行以下操作之一:
为受影响的页面设置新的搜索抓取程序
将页面从外部域名移动到为搜索抓取程序配置的域名。
不确定
“不确定”错误可能是由以下一个或多个原因引起的:
- 您已超出实例的外部记录限制:搜索抓取程序的上限为 50,000 条外部记录。如果您已超出 50,000 条外部记录的限制,则超过该限制的最新外部记录将不会被索引或更新。要查看抓取程序已使用的外部记录数,请查看搜索抓取程序信息。请参阅管理搜索抓取程序。要解决此问题,您可以进行以下一项或多项操作:
-
页面正在使用 JavaScript 位置重定向:搜索抓取程序未检测到 JavaScript 位置重定向。如果页面使用了 JavaScript 位置重定向,则抓取程序无法访问页面内容。
要解决此问题,请执行以下操作之一:
- 确保网站地图直接指向您要索引的页面。
- 实施 HTTP 重定向。