以下网站是使用history.pushState()的可抓取AJAX网站(HTML5 + CSS3 + AJAX)的一个很好的例子:
(背景见https://moz.com/blog/create-crawlable-link-friendly-ajax-websites-using-pushstate)
但是,本网站假定动态内容可以在页面加载时呈现给服务器端。例如,如果您直接登陆http://html5.gingerhost.com/seattle,则与西雅图相关的内容不会通过AJAX加载,它已经在页面中。
我们假设内容只能通过AJAX调用加载。如何使这样的网站可抓取?
我的具体目标是让这个网站可以抓取: http://code-exercises.com/programming/
目前,所有编程练习都是通过AJAX加载的。我想编程/ easy / exercise-number-one。
我的网站由一个提供静态内容的NGINX实例提供服务,并将所有AJAX请求转发给Tomcat实例。
答案 0 :(得分:1)
选项1:Easy One,使用prerender.io
选项2:在您的应用构建过程中包含一个Phantom.js来制作您网页的静态版本
选项3:如果您使用Angular,则可以迁移到angular2或其他具有服务器端渲染的框架
答案 1 :(得分:0)