【问题标题】:SEO with angularjs and asp.net restfull service使用 angularjs 和 asp.net restful 服务进行 SEO
【发布时间】:2015-01-01 23:34:55
【问题描述】:

我已经使用 angularjs 和 web api 开发了一个网站。

问题是 ajax 渲染的内容无法被 google 抓取。没有人可以使用谷歌搜索找到该网站。

阅读了很多关于这个问题的文章,包括:

This one with all links of explanation going out, Google ajax crawling protocol,还有stack over flow question,我找不到合适的解决方案。提到asp.net解决方案的都是mvc,我只需要简单的REST by web api,其他文章没有讲asp.net。

有什么简单的解释吗?

【问题讨论】:

  • 你看过prerender.io吗?
  • 是的。这将是最后的手段。我希望我的代码独立

标签: ajax angularjs asp.net-web-api


【解决方案1】:

我是很久以前问过同样问题的人,所以我会根据我的经验来回答:

首先,如果您的所有内容都可以通过唯一的 URI 访问(如果您使用它,包括 hashbang),现代搜索引擎应该可以很好地索引它。事实上,谷歌现在可以索引 javascript 生成的内容。您可以通过 Google 网站管理员工具进行尝试,看看您的网站是如何被编入索引的。

其次,如果需要,有一些库可以帮助您将解析的内容提供给搜索引擎,但在我的情况下,我并没有太在意它,因为 Google 很好地索引了 js。

【讨论】:

  • 我查看了网站管理员工具,这些页面没有被索引。问题是我时不时需要更改我页面中的内容,然后才能找到新的关键字。
  • googlewebmastercentral.blogspot.com/2014/05/… 这里是关于谷歌新做法的链接。上面建议的prerender.io 也是一个不错的选择,因为您可以设置 cronjob 以根据需要随时刷新静态内容。
  • 请注意,prerender 确实打开了它的源:github.com/prerender/prerender
【解决方案2】:

我看到其他人问过这个问题,也许我遗漏了一些东西或者这已经过时了,但我不明白为什么 AngularJS 需要成为 SEO 的问题。

假设您有一个登录页面,其中包含一堆链接。假设您在 AngularJS 中使用 html5 模式(我不确定这是 100% 必要的)和类似 ng-route 的东西,那么登录页面上的链接既可以作为“角度”(JavaScript)链接也可以作为“老派”使用(整页加载)链接。

如果您是人类用户,您可以单击一个链接,它会执行角度魔法并调整内容,而无需加载整个页面。好的,一切都好。

但是,如果您改为复制链接并将其粘贴到新选项卡或新浏览器中,它仍然可以工作 - 假设您已正确设置路线。

无论如何,我都不是 SEO 专家,但据我了解,拥有加载页面的链接并让这些页面具有真实和有用的内容是 SEO 的核心,并且这样做,AngularJS 应该工作正常。要检查的关键是您是否复制并粘贴链接(而不仅仅是单击它)它是否有效。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-20
    • 2015-10-22
    • 1970-01-01
    • 2013-10-02
    • 2014-03-22
    相关资源
    最近更新 更多