答案 0 :(得分:1)
为了制作没有散列片段可抓取的网页,您需要在页面HTML的标题中加入<meta name="fragment" content="!">
标记。
但是,对于您的案例,完整的解决方案可能是https://prerender.io/
您在服务器上安装的Prerender.io中间件将进行检查 每个请求,以查看它是否是来自爬虫的请求。如果是的话 来自爬虫的请求,中间件将发送请求 Prerender.io用于该页面的静态HTML。如果没有,请求 将继续到您的正常服务器路由。爬虫永远不会知道 您正在使用Prerender.io,因为响应总是通过 你的服务器。
作为自定义解决方案,您可以使用后备页
如果请求资源不解析JavaScript,则回退 改为显示HTML页面的页面。后备页面 基本上是静态页面通常试图复制 JavaScript Web应用程序的功能和内容通过 服务器端呈现的页面。这些页面确实包含相同的内容 JavaScript应用程序除了显示的内容 利用标准的可索引链接进行导航。
http://www.promotejs.com/seo-strategies-for-javascript-heavy-single-page-applications-or-ajax-sites/