没有hashbang的Ajax可爬网应用程序
Ajax crawlable application without hashbang
我正在构建一个基于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快照之前,将执行这两个步骤。因此,如果你缓存它,那么你应该确保你也这样做。
相关文章:
- MockJax没有在JavaScript应用程序中发送对我AJAX请求的响应
- 无法在Windows 10 Cordova应用程序中从Web视图进行ajax调用
- 如何在rails应用程序中测试AJAX加载的内容
- 如何在AJAX驱动的应用程序中优化元素绑定
- 如何在phonegap应用程序中处理Ajax json响应
- Ruby On Rails应用程序与angularJS关于AJAX
- 在安装后首次运行应用程序时从 UIBebView 发出 jQuery Ajax 请求
- Angular.js ajax和应用程序不起作用
- Rails应用程序上的AJAX按钮
- 没有在Rails应用程序中刷新页面,AJAX就无法加载
- Chrome应用程序中AJAX请求的限制是什么
- 我正在用apachecordova开发一个应用程序,但每次我向局域网上的服务器发出ajax请求时,我都会收到这个错误
- 使用沙箱从Chrome应用程序发出ajax请求
- 使用ajax的javascript应用程序的身份验证模型
- Ajax get jsonp给出错误代码500“;请求被阻止”;来自MVC应用程序
- 如何从struts2应用程序中的AJAX调用url调用servlet
- AJAX上重定向视图的正确方式'成功'MVC应用程序中
- 在固定间隔内调用 AJAX 函数是否会减慢应用程序的速度
- Ajax 仅在 Ruby 应用程序中刷新时删除
- JavaScript 弹出窗口阻止程序和 Ajax 回调 - C# MVC 应用程序