2016-05-25 38 views
1

环顾四周后,我对此事一无所知:谷歌和其他搜索引擎是否抓取了只能通过ng-click访问的页面,而没有锚标签?或者是否始终需要呈现锚标记才能使抓取成功进行?搜索引擎优化和抓取:UI-Router ui-sref VS ng-click

我必须以通用的方式建立链接到其他页面的各种元素,ng-click对于我来说是灵活性方面最好的解决方案,但我想Google不会“点击”那些元素,因为他们没有锚标签。

除了明显ui-sref标签与我有类似的其他解决方案:

<a ng-click = 'controller.changeToLink()'>Link name</a> 

Altough我不知道这是否是一个很好的做法无论是。

有人可以澄清这个问题吗?谢谢。

回答

3

单页面应用程序一般来说非常不友善,不会被跟着成为最不重要的问题。

应用程序无法呈现服务器端,因此搜索引擎爬行程序很难正确索引内容。

根据最新的recommendation,Google抓取工具可以呈现和编制最动态的内容。

它将工作的方式是它将等待Javascript踢和呈现应用程序,并且只有在内容被注入页面后才进行索引。这个过程不是100%的证明,直到最近,单页应用程序才能与静态应用程序竞争。

这是大多数网站将它们用于其菜单系统的主要原因,因为这会使整个页面重新加载的用户体验更好。单页应用程序不适合搜索引擎优化。

这正在慢慢改变,因为现在Angular Universal,Ember Fast Boot和React增加了将服务器端渲染为SEO友好的页面的可能性,但仍然将它作为客户端的SPA来接管。

我认为您尝试改善您的搜索引擎优化的最佳方法是使用其网站管理员工具向Google提交网站地图文件。这将让谷歌了解你通过ng-click触发的那些页面。

请注意,如果您使用路由器的HTML5模式并且不使用书签(使用#的网址),那么这只会有工作的机会,因为Google不索引书签。

一般来说,很难为Angular 1应用获得良好的SEO,这就是为什么它大多不用于公共可索引内容。 AngularJs的甜点是用于构建应用程序的“仪表板”私人部分,用户可以在登录后访问。

-1

尝试使用prerender.io预渲染这些angularge页面并过滤掉bot请求并提供这些渲染后的页面页面缓存。