构建GSA友好的AngularJS应用程序

时间:2014-08-19 15:37:23

标签: ajax angularjs google-search-appliance

因此,我们正在加强一个新项目,以我们迄今为止最广泛的方式实施AngularJS。其中一个问题是关于GSA自我们广泛使用网站以来抓取网站的能力。

现在我们的实施如下:

步骤1:JSP从服务器返回页面内容,其中包含使用JSON对象所需的任何AJAX源的URL引用。

feeds: {
    "global": "href",
    "page": "href"
}

步骤2:Angular然后对这些Feed进行AJAX调用,以获取包含页面数据的JSON对象。

步骤3:如果AJAX调用成功,则数据将附加到根作用域,其名称与作为源的键相同。

$rootScope.global = result;

步骤4:然后使用附加到根作用域的对象来构建站点。这包括网站上的所有动态数据,包括导航(页眉和页脚),页面内容等(几乎所有页面上的内容)。

主要关注的是,由于页面上的所有DOM都是由AngularJS创建的,并且所有数据都是通过AJAX加载的,因此GSA无法正确抓取网站。

到目前为止,我们提出的唯一解决方案是检测页面请求是GSA请求还是用户请求,只是将内容转储到页面而不进行样式化(如果它是GSA请求),或者遵循上述流程。我知道这被认为是隐藏真实内容,但我们在内部使用自己的GSA,这不是出于搜索引擎优化目的。

有没有更好的方法让GSA能够使用AJAX繁重的应用程序,而不必像这样做两倍的工作?

1 个答案:

答案 0 :(得分:0)

你是对的。 GSA可以索引页面上的javascript内容,但不会索引渲染的角度内容。

可以找到Google的完整文档here

听起来内容存储在数据存储区中,为什么不在那里使用显示网址对其进行索引,当GSA为其提供服务时,该网址将是点击网址?