如何使 AJAX 网站可抓取

How to make a AJAX website crawlable?

本文关键字:抓取 网站 AJAX 何使      更新时间:2023-09-26

>以下网站是使用 history.pushState() 的可抓取 AJAX 网站 (HTML5 + CSS3 + AJAX) 的一个很好的例子:

http://html5.gingerhost.com/

(背景见 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 或其他具有服务器端渲染的框架

看看如何使一个有角度的应用可抓取。

基本上,您必须具有页面的缓存版本,其中包含将提供给网络爬虫的数据。

https://prerender.io/这是一个例子。