我有一个使用Angular 1.4.x和prerender.io的网站设置,它将渲染的静态缓存页面提供给googlebot。 Googlebot会抓取每个页面两次。一次抓取就会触及该网址,第二次抓取会将?_escaped_fragment_追加到url,以便从prerender.io获取缓存的静态页面
我正在考虑转移到universal.angular.io,这将在服务器端呈现页面。
两者之间有什么不同的方法? universal.angular.io服务器端渲染支持服务于googlebot和终端客户端吗?
谢谢,
答案 0 :(得分:3)
对于像Prerender这样的东西,它的工作方式是通过搜索引擎劫持AJAX抓取并为它们提供已缓存的预呈现版本。在这种情况下,只有搜索机器人才能看到预渲染。 (我相信?_escaped_fragment_
是触发器的原因,但它被爬虫视为与没有触发器的路由相同的路径。
如果您将应用程序迁移到Angular(2或更高版本)并使用Angular Universal,您将允许服务器呈现发送给搜索机器人和常规用户的页面。 Nixing需要?_escaped_fragment_
。