Java中AngularJS应用程序的搜索索引
我已经在生产AngularJS应用程序,我需要使它谷歌友好。我读过关于Ajax爬行机制的文章,我有以下两个问题: 1。因为我已经用Java编写了后端,所以我尝试了HtmlUnit来制作静态快照,但它在AngularJS中效果不好。如何使用Java提供AngularJS页面的快照 2。正如我所提到的,应用程序已经发布,并且它使用简单的散列,而不带!。例如:/#/关于,/#/家。有可能保留这个计划吗?改为/#!/将需要修改所有的链接,并将打破所有现有的链接(张贴在网站上)Java中AngularJS应用程序的搜索索引,java,javascript,angularjs,seo,snapshot,Java,Javascript,Angularjs,Seo,Snapshot,我已经在生产AngularJS应用程序,我需要使它谷歌友好。我读过关于Ajax爬行机制的文章,我有以下两个问题: 1。因为我已经用Java编写了后端,所以我尝试了HtmlUnit来制作静态快照,但它在AngularJS中效果不好。如何使用Java提供AngularJS页面的快照 2。正如我所提到的,应用程序已经发布,并且它使用简单的散列,而不带!。例如:/#/关于,/#/家。有可能保留这个计划吗?改为/#!/将需要修改所有的链接,并将打破所有现有的链接(张贴在网站上) 提前谢谢 单页应用程序的S
提前谢谢 单页应用程序的SEO总是一个问题 我建议您快速实现Phantom.js,以便将已呈现的页面显示到google bots。查看更多信息 Phantom.js将是一个网关,您可以将每个索引bot请求重定向到该网关,然后它将像普通用户一样呈现您的应用程序,然后将呈现的页面发送回bot 另外,最好将您的
/#/
更改为仅/
,这样对您的用户和SEO都有好处。您只需将每个请求重定向到index.html页面,并使用“/#/”作为不支持pushState的旧浏览器的后备
你也有一些付费的解决方案,比如工作起来很漂亮。谢谢你的回答,我想用Java来处理这种情况,但是因为我还没有找到任何有效的解决方案,所以我根据你第一个url中的示例实现了node.js/express脚本。另外,我已经切换到html5状态。我希望它能起作用。