我正在使用 PhantomJS 和Angular-seo 包。
我设法将其配置为与 Facebook 开放图一起使用,但似乎 LinkedIn 不支持该_escaped_fragment_
格式,并且只是在 hasbang 请求index.html
应用程序页面而不是myapp.com/?_escaped_fragment_=client_side_path
.
我该怎么做才能解决它?
我正在使用 PhantomJS 和Angular-seo 包。
我设法将其配置为与 Facebook 开放图一起使用,但似乎 LinkedIn 不支持该_escaped_fragment_
格式,并且只是在 hasbang 请求index.html
应用程序页面而不是myapp.com/?_escaped_fragment_=client_side_path
.
我该怎么做才能解决它?
不幸的是,解决这个问题的唯一方法是检查机器人的用户代理并向他们发送静态版本。据此,LinkedIn bot 的用户代理是这样的:
LinkedInBot/1.0 (compatible; Mozilla/5.0; Jakarta Commons-HttpClient/3.1 +http://www.linkedin.com)
LinkedIn 不会呈现 JS,并且只会处理您的 SPA 的 html 静态内容。
由于您的应用程序是高度动态的,您可以将 LinkedIn 爬虫请求重定向到一个端点,该端点将为 LinkedIn 爬虫动态生成所需的 HTML(例如快速获胜:通过使用带有规则引擎和无服务器功能的 CDN)
如果您不需要为爬虫提供实时信息,您可以考虑使用: