搜索引擎优化和爬行:UI-Router ui-sref VS ng-click

时间:2016-05-25 09:36:20

标签: javascript html angularjs seo angular-ui-router

在看了一下后,我对这个问题一无所知:谷歌和其他搜索引擎是否抓取只能通过ng-click访问的页面,而没有锚标签?或者是否总是需要一个锚标记才能使爬网成功运行?

我必须构建以通用方式链接到其他页面的各种元素,并且在灵活性方面,ng-click对我来说是最好的解决方案,但我认为Google赢了"点击"这些元素,因为它们没有锚标记。

除了明显的POST /api/monitoring/temperatures/collection GET /api/monitoring/temperatures/cnew 标签,我还有其他解决方案,如:

ui-sref

Altough我不确定这是不是一个好习惯。

有人可以帮我解释一下这个问题吗?感谢。

2 个答案:

答案 0 :(得分:3)

单页应用程序通常非常不友好,不点击任何问题都不会出现问题。

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

根据最新的recommendation,Google抓取工具可以呈现和索引大多数动态内容。

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

这是大多数网站将其用于菜单系统的主要原因,因为与完整页面重新加载相比,这将带来更好的用户体验。单页应用程序不是SEO友好。

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

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

请注意,如果您使用路由器的HTML5模式而不使用书签(使用#的网址),这只有可能工作,因为Google不会为书签编制索引。

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

答案 1 :(得分:-1)

尝试使用prerender.io预渲染这些角度页面并过滤掉bot请求并从页面缓存中提供这些预渲染页面。