Ajax 构建GSA友好的AngularJS应用程序

Ajax 构建GSA友好的AngularJS应用程序,ajax,angularjs,google-search-appliance,Ajax,Angularjs,Google Search Appliance,因此,我们刚刚启动了一个新项目,以迄今为止最广泛的方式实现AngularJS。其中一个问题是,由于我们广泛使用GSA,GSA对网站进行爬网的能力 目前我们的实施情况如下: 步骤1:JSP从服务器返回页面内容,其中包含使用JSON对象所需的任何AJAX提要的URL引用 feeds: { "global": "href", "page": "href" } 第2步:Angular然后对这些提要进行AJAX调用,以获取包含页面数据的JSON对象 步骤3:如果AJAX调用成功,那么数据

因此,我们刚刚启动了一个新项目,以迄今为止最广泛的方式实现AngularJS。其中一个问题是,由于我们广泛使用GSA,GSA对网站进行爬网的能力

目前我们的实施情况如下:

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

feeds: {
    "global": "href",
    "page": "href"
}
第2步:Angular然后对这些提要进行AJAX调用,以获取包含页面数据的JSON对象

步骤3:如果AJAX调用成功,那么数据将以与提要键相同的名称附加到根作用域

$rootScope.global = result;
步骤4:然后使用附加到根作用域的对象来构建站点。这包括站点上的所有动态数据,其中包括导航页眉和页脚、页面内容,以及页面上几乎所有的内容

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

到目前为止,我们提出的唯一解决方案是检测页面请求是GSA请求还是用户请求,如果是GSA请求,则直接在页面上转储内容而不进行样式设置,或者按照上述流程进行处理。我知道这被认为是伪装,但我们使用我们自己的GSA内部,这不是为了搜索引擎优化的目的


有没有更好的方法可以让GSA在不需要做两次这样的工作的情况下使用AJAX应用程序?

你是对的。GSA可以索引页面上的javascript内容,但不会索引呈现的内容

可以找到来自谷歌的完整文档

听起来好像内容存储在一个数据存储中,为什么不在那里用一个显示url对其进行索引,当GSA提供它时,这个url就是点击url