如何通过SEO在ng-repeat索引中建立链接?

时间:2014-08-15 11:26:51

标签: javascript ruby-on-rails angularjs seo

我在根页面中有这样的代码(例如http://www.example.com):

<div ng-repeat="url in urls">
   <a ng-href="{{url}}"/>url</a>
</div>

每个网址只是一个SEO友好的子网址(例如http://www.example.com/pages/hello-world

我知道Google现在执行Javascript(http://googlewebmastercentral.blogspot.no/2014/05/understanding-web-pages-better.html),但我仍然无法将这些子网址编入索引(只有根页被编入索引)。

如何使其可转位?

如果可能,解决方案不应该依赖第三方服务,例如seo4ajax或prerendex.io

2 个答案:

答案 0 :(得分:2)

不久,我们遇到了同样的问题。我们使用了几种技术,因此谷歌可以更好地索引我们的网站。但老实说,这并没有奏效。我们抛弃了前端框架并决定使用rails。现在,我们对rails tubrolinks感到非常满意。

这是我们的一些工作,可能会对你有所帮助。

  1. 我们首先创建了站点地图。然后,通过网站管理员工具提交给谷歌。
  2. 当Google抓取网站时,会发送Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)之类的内容作为用户代理(通知Googlebot,这很重要)。我们创建了一个中间件来检查所有请求是否来自搜索引擎。您可以从谷歌获取所有此类用户代理的列表(可能http://www.useragentstring.com/pages/useragentstring.php也有帮助)。我们返回了静态页面(它基本上包含了网页所做的所有数据,但它不是动态的)。
  3. 您可能对https://github.com/prerender/prerender_rails

    感兴趣

答案 1 :(得分:1)

您应该为ajax crawling创建服务器端页面,在重写规则中管理“_escaped_fragment_”。