以下网站是使用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加载的。我想要编程/简单/练习一号。
我的网站由 NGINX 实例提供服务,该实例提供静态内容并将所有 AJAX 请求转发到 Tomcat 实例。
最佳答案
选项 1:简单的一个,使用 prerender.io
选项 2:在您的应用构建过程中包含 Phantom.js 来制作页面的静态版本
选项3:如果您使用Angular,您可以迁移到Angular2或其他具有服务器端渲染的框架
关于javascript - 如何使 AJAX 网站可爬行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35973295/