没有hashbang的Ajax可爬网应用程序

Ajax crawlable application without hashbang

本文关键字:应用程序 Ajax hashbang 没有      更新时间:2023-09-26

我正在构建一个基于Ajax的网站。当加载Dom时,会向服务器发出异步http请求,服务器会回答JSON文本,然后通过javascript将JSON中的数据放入Dom中。谷歌爬虫就是不读取javscript之后加载的内容,所以我需要(在服务器上)创建一个页面的HTML快照,并让我的服务器用hashbang处理请求。但我怀疑我的请求中没有使用hashbang。我唯一的ajax req是类似http://www.apiservice.com?get_data=true的东西。我如何告诉谷歌哪个请求可以获得整个页面的HTML快照,以及在哪里可以完成(也许可以将请求url放在网站地图中?)

感谢您的优势

我知道您的页面是通过两个步骤构建的:第一个步骤是向服务器请求获取核心html/javascript,第二个步骤是获取要在页面中显示的额外数据。

如果是这样,那么第一个请求就是针对带有hashbang的爬网程序的请求。把它放在你的网站地图上很有意义。服务器应该返回的静态html页面是进程中两个服务器调用产生的完整html。

如果您不为爬网程序缓存静态html页面,而是动态生成它(例如,使用htmlunit,请参阅此SO参考),那么在返回静态html快照之前,将执行这两个步骤。因此,如果你缓存它,那么你应该确保你也这样做。