Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/377.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 搜索引擎优化和爬网:UI路由器UI sref VS ng点击_Javascript_Html_Angularjs_Seo_Angular Ui Router - Fatal编程技术网

Javascript 搜索引擎优化和爬网:UI路由器UI sref VS ng点击

Javascript 搜索引擎优化和爬网:UI路由器UI sref VS ng点击,javascript,html,angularjs,seo,angular-ui-router,Javascript,Html,Angularjs,Seo,Angular Ui Router,在环顾四周之后,我对这件事没有得出任何结论:谷歌和其他搜索引擎是否会抓取只有通过ng click才能访问的页面,而没有锚定标签?或者,为了爬行成功,是否始终需要存在锚定标记 我必须构建各种元素,以一种通用的方式链接到其他页面,就灵活性而言,ng click是我的最佳解决方案,但我认为谷歌不会“单击”这些元素,因为它们没有锚定标记 除了明显的ui sref标签外,我还有其他解决方案,如: <a ng-click = 'controller.changeToLink()'>Link na

在环顾四周之后,我对这件事没有得出任何结论:谷歌和其他搜索引擎是否会抓取只有通过ng click才能访问的页面,而没有锚定标签?或者,为了爬行成功,是否始终需要存在锚定标记

我必须构建各种元素,以一种通用的方式链接到其他页面,就灵活性而言,ng click是我的最佳解决方案,但我认为谷歌不会“单击”这些元素,因为它们没有锚定标记

除了明显的
ui sref
标签外,我还有其他解决方案,如:

<a ng-click = 'controller.changeToLink()'>Link name</a>
链接名称
虽然我也不确定这是否是一个好的做法


有人能帮我澄清一下这个问题吗?谢谢。

一般来说,单页应用程序对SEO非常不友好,ng单击未被跟踪是最不重要的问题

应用程序不会在服务器端呈现,因此搜索引擎爬虫很难正确索引内容

根据最新消息,谷歌爬虫可以呈现和索引大多数动态内容

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

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

随着Angular Universal、Ember Fast Boot和React增加了向服务器端呈现SEO友好页面的可能性,这一点正在慢慢改变,但它仍然在客户端作为SPA接管

我认为你最好的办法是使用网站管理员工具向谷歌提交一个网站地图文件,以提高你的搜索引擎优化。这将让谷歌知道你通过点击触发的页面

请注意,这只有在路由器使用HTML5模式而不使用书签(URL使用#)时才有可能起作用,因为谷歌不会为书签编制索引


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

尝试使用prerender.io预呈现这些大页面,过滤掉bot请求,并从页面缓存中为这些预呈现页面提供服务