我需要做些什么来为我的服务器添加?_escaped_fragment_=
支持?我希望谷歌能够爬过我的ajax网站。我的哈希已经在#!
格式
但我不知道如何告诉我的服务器,当我向浏览器输入mywebsite.com/?_escaped_fragment_=section
时,网址为mywebsite.com/section
,它将等于mywebsite.com/#!
感谢
答案 0 :(得分:5)
简单回答 - 我的方法(很快将用于具有大约50,000个AJAX生成的URL的站点)是使用无头环境(尝试zombie,phantomjs或任何其他)来加载node.js服务器网站,确保它能够执行javascript并读取DOM - 然后在运行时,如果它是google请求片段,则向node.js服务器发出请求,该服务器加载网站,执行javascript,等待响应,以及传回HTML,输出到浏览器。
如果这听起来像是很多工作 - 我大约90%完成了为您完成所有操作的代码,您只需将一行(PHP)代码放在网站/应用程序的顶部它使用远程node.js服务器完成剩下的工作。
代码将是开源的,所以如果你想在节点服务器上自己设置它,你可以 - 或者如果它是PITA自己设置它,我可能会有一个实时服务器启动并运行你的app / website会触发?_escaped_fragment_
个请求,并返回html快照。它还实现了缓存,因此每隔X天只请求一次。
观看这个空间 - 只需要解决一些问题,它就会出现在我的网站上(josscrowcroft.com),我也会把它放在一个github回购中。