【发布时间】:2017-03-21 01:46:10
【问题描述】:
到目前为止,我一直在使用 prerender.io 使我的 angularjs 网站对 seo 友好。当涉及到带有 hashbangs 的 url (website.com/#!) 时,我工作得很好。
目前,我正在让我的网站进入 html5mode,它在 url 上不包含 hashbangs,并且看起来更漂亮。但是,即使我去了html5 url,prerender.io也不能正常工作。
另外,我想出了一篇谷歌文章,声称他们的新技术允许引擎自动渲染 Javascript 框架网站 (https://webmasters.googleblog.com/2015/10/deprecating-our-ajax-crawling-scheme.html)。但是,当我在 Google Search Console 中使用“Fetch as Google”工具时。它渲染得很差,我的标题和元描述吐出 angularjs 语法({{seo.tile}} 或 {{seo.desc}}),它们没有被渲染。
我很迷茫,我应该从哪里开始解决我遇到的问题。我试图摆脱 prerender.io,因为我认为我们不再需要它了。
对于我组织不善的帖子和问题,我深表歉意。让我试着把下面的问题弄清楚并打结。
1) 我们还需要向 Google 机器人介绍 angularjs 吗?
2) AngularJS+ExpressJS SEO 最稳定和最佳实践是什么?我不想为此尝试不稳定且容易崩溃的方法。
非常感谢您的宝贵时间。
【问题讨论】:
-
我同时使用了 $locationProvider.hashPrefix('!') 和 。但我认为我不应该。到目前为止,我的结论是,如果我想进入 html5 模式,我需要 index.html 文件中的元标记。但是,如果我离开 html5 模式而只使用 hashbang,我需要在主 angular 模块中包含 $locationProvider.hashPrefix('!') 并且不一定将元标记添加到 index.html。
-
**更正:即使你放了 pushstate 标签 (
标签: angularjs node.js express seo html5mode