【问题标题】:AngularJS and SEO - Setting Different Meta Description Tags for each partial?AngularJS 和 SEO - 为每个部分设置不同的元描述标签?
【发布时间】:2014-11-25 08:04:02
【问题描述】:

对于我的情况的一个简单示例,假设我有一个注册部分页面 ('/signup') 和一个登录 ('/signin') 部分页面。

对于注册部分,我希望元标记是:

<meta name="description" content="Sign Up">

对于部分登录,我希望元标记为:

<meta name="description" content="Sign In">

在我的主 index.html 文件中,我有 ng-view 标记,它嵌套在 body 标记内,将显示部分。由于部分在正文标记内,而标题标记(通常将静态文件的元标记放置在其中)在外面,如何使用 AngularJS 为每个部分设置元描述标记?

如果有人可以帮助我提供示例代码,那就太好了,因为我完全被困住了。 :(

【问题讨论】:

  • 你看到这个github.com/moonfuse/angular-meta了吗?
  • 感谢您的链接!似乎它会完全满足我的需要。但是,恐怕就像 skewl84 所说的那样,搜索引擎爬虫将无法检测到这段 javascript 代码。任何人都可以确认它是否适用于 SEO 目的? :O
  • 读取 javascript 的爬虫(例如 google)可能能够检测到它,但是,对于 seo,我建议还使用爬虫生成站点的静态版本,以便搜索引擎可以索引包含所有适当元信息的静态版本。

标签: javascript html angularjs seo meta-tags


【解决方案1】:

您是否需要为 SEO 目的执行此操作如果是,请不要尝试通过 angularjs 执行此操作,因为搜索引擎爬虫不允许运行任何 javascript 代码。

而是着眼于实现 hashbang 和服务器端方法。

看这篇文章: http://www.yearofmoo.com/2012/11/angularjs-and-seo.html

【讨论】:

  • 是的,出于 SEO 的目的,我需要这样做。我实际上已经阅读了这篇文章并完成了它,但不幸的是它没有提到更新特别是元描述标签。 :(
  • 我正在使用 #! Google 的 hashbang 标准设置。
  • hashbang hack 是 awful,多年前被 the history API 取代。
  • 最近谷歌一直在通过渲染javascript来抓取网页。
猜你喜欢
  • 2015-11-26
  • 1970-01-01
  • 2016-03-03
  • 2021-02-05
  • 2017-11-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多