Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/396.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
Java中AngularJS应用程序的搜索索引_Java_Javascript_Angularjs_Seo_Snapshot - Fatal编程技术网

Java中AngularJS应用程序的搜索索引

Java中AngularJS应用程序的搜索索引,java,javascript,angularjs,seo,snapshot,Java,Javascript,Angularjs,Seo,Snapshot,我已经在生产AngularJS应用程序,我需要使它谷歌友好。我读过关于Ajax爬行机制的文章,我有以下两个问题: 1。因为我已经用Java编写了后端,所以我尝试了HtmlUnit来制作静态快照,但它在AngularJS中效果不好。如何使用Java提供AngularJS页面的快照 2。正如我所提到的,应用程序已经发布,并且它使用简单的散列,而不带!。例如:/#/关于,/#/家。有可能保留这个计划吗?改为/#!/将需要修改所有的链接,并将打破所有现有的链接(张贴在网站上) 提前谢谢 单页应用程序的S

我已经在生产AngularJS应用程序,我需要使它谷歌友好。我读过关于Ajax爬行机制的文章,我有以下两个问题:

1。因为我已经用Java编写了后端,所以我尝试了HtmlUnit来制作静态快照,但它在AngularJS中效果不好。如何使用Java提供AngularJS页面的快照

2。正如我所提到的,应用程序已经发布,并且它使用简单的散列,而不带!。例如:/#/关于,/#/家。有可能保留这个计划吗?改为/#!/将需要修改所有的链接,并将打破所有现有的链接(张贴在网站上)


提前谢谢

单页应用程序的SEO总是一个问题

我建议您快速实现Phantom.js,以便将已呈现的页面显示到google bots。查看更多信息

Phantom.js将是一个网关,您可以将每个索引bot请求重定向到该网关,然后它将像普通用户一样呈现您的应用程序,然后将呈现的页面发送回bot

另外,最好将您的
/#/
更改为仅
/
,这样对您的用户和SEO都有好处。您只需将每个请求重定向到index.html页面,并使用“/#/”作为不支持pushState的旧浏览器的后备


你也有一些付费的解决方案,比如工作起来很漂亮。

谢谢你的回答,我想用Java来处理这种情况,但是因为我还没有找到任何有效的解决方案,所以我根据你第一个url中的示例实现了node.js/express脚本。另外,我已经切换到html5状态。我希望它能起作用。