2014-09-30 38 views
0

對於我的情況的一個簡單示例,假設我有註冊部分頁面('/註冊')和登錄('/ signin')部分頁面。AngularJS和SEO - 爲每個部分設置不同的元描述標籤?

對於註冊部分,我想了元標記:

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

對於局部的標誌,我想meta標籤是:

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

在我的主要指數.html文件,我有ng-view標籤是嵌套在身體標籤內的部分將被顯示。由於partials位於body標籤和標題標籤(通常會將靜態文件放置元標記的地方)之外,因此如何使用AngularJS爲每個部分設置元描述標籤?

如果任何人都可以用示例代碼來幫助我,那將會很棒,因爲我完全被卡住了。 :(

+1

有你的鏈接看到該https://github.com/moonfuse/angular-meta – 2014-09-30 16:00:45

+0

由於現在看來似乎會做我需要的東西,但是,像skewl84所說的,恐怕搜索引擎爬蟲將無法檢測到此JavaScript代碼。任何人都可以確認它是否適用於SEO目的? :O – user3314402 2014-09-30 17:46:16

+0

讀取javascript(例如google)的爬行程序可能能夠檢測到它,但是,對於seo,我建議還使用爬蟲生成該網站的靜態版本,以便搜索引擎可以爲所有靜態版本編制索引的適當的元信息。 – 2014-09-30 18:03:43

回答

-4

你需要爲SEO的目的這樣做。如果是,不要試圖通過angularjs這樣做,因爲搜索引擎爬蟲不要允許運行任意JavaScript代碼。

而是看實施hashbang和服務器端方法

看看這篇文章:。?! http://www.yearofmoo.com/2012/11/angularjs-and-seo.html

+0

是的,我需要爲SEO目的這麼做。我實際上已經閱讀了文章並完成了它,但不幸的是它沒有提到更新特別是元描述標籤。 :( – user3314402 2014-09-30 17:43:35

+0

我正在使用Google的#!hashbang標準設置 – nathanengineer 2014-11-15 16:57:57

+0

hashbang hack是[糟糕](http://isolani.co.uk/blog/javascript/BreakingTheWebWithHashBangs),並被[歷史API]取代, (https://developer.mozilla.org/en-US/docs/Web/Guide/API/DOM/Manipulating_the_browser_history) – Quentin 2015-02-25 14:42:44