2012-10-25 86 views
2

我剛剛想說,感謝您花時間閱讀本文!手動將頁面META標籤分配給asp.net動態頁面

我有一個運行內容管理系統DotNetNuke的電子商務網站,我相信它是建立在windows服務器環境中的asp.net平臺上的。當用戶瀏覽可用產品時,支持我的電子商務商店的特定模塊爲每個商店類別動態生成頁面。如您所知,必須將這些模塊放置在特定頁面上,並且模塊生成的所有動態內容都必須位於該「父頁面」上。

問題是,儘管模塊允許我在這些動態頁面上爲H1和H2添加HTML文本,但它不支持添加頁面元標記,例如「title」和「description」。因此,模塊生成的所有動態頁面都會從父頁面中提取元標記,這使Google很難理解我想要展示給用戶的內容。這也會導致谷歌顯示所有這些生成的頁面在我的分析中有「重複的標題標籤」。

臨時修正: 我已經從所有這些「父母頁面」中刪除了標題標籤,希望谷歌決定從駐留在動態頁面上的H1和H2標籤生成它的snippits。這是明智的嗎?

現在對於這個問題: 是否有任何一種解決方案可以讓我手動將meta標籤分配到我在我的託管環境中指定的頁面?正如我前面所述,我可以將正文HTML代碼添加到頁面。有沒有什麼辦法強制從代碼中放置的頁面標題標籤?有一個更好的方法嗎?你可以在www.yandasmusic.com上查看我的問題。

感謝您的時間和耐心! Alex

+0

你是如何從「父頁面」中刪除標題標籤的?標題標籤是在DotNetNuke中動態生成的,並且無法將它從一個頁面中刪除而無需從它們中刪除它... – bdukes

+0

對不起,如果我的措辭不正確。生成類別的模塊駐留在我在DNN中創建的單個頁面上。在DNN設置中,我刪除了該頁面的標題和描述標籤。所以,現在,模塊中所有動態生成的內容仍駐留在該頁面上,但該頁面沒有標題標籤。 –

回答

1

臨時修正:我從所有這些「父頁面」中刪除了標題標籤,希望谷歌決定從駐留在動態頁面上的H1和H2標籤生成它的標籤。這是明智的嗎? Blockquote

不,不是特別明智。頁面標題很重要。

您應該採取的第一條路線是與模塊開發人員交談。他們應該瞭解如何在每個產品的基礎上替換頁面元信息。

您可以通過在頁面加載時使用javascript更改頁面標題/描述來獲得(有限)結果。只需簡單地使用js並使用頁面上已有的DOM信息(即讀取產品名稱)即可。

我發佈了關於這個博客最近:http://www.ifinity.com.au/2012/10/04/Changing_a_Page_Title_with_Javascript_to_update_a_Google_SERP_Entry

JavaScript的修復可能會工作,如果你將它設置正確的。但你真的需要說服模塊開發人員改變模塊的工作方式,就像bdukes發佈的那樣。

不要打擾Meta標籤 - 沒有任何搜索引擎真正閱讀/使用它們,因爲它們很容易被欺騙。只需專注於頁面的標題和描述。

+0

優秀的布魯斯 - 這正是我需要的!我已聯繫Smith Consulting,他們已將其添加到他們的「功能請求列表」中。如果你不介意的話 - 我對Javascript的使用經驗很少。我想在你的博客文章中使用JS的這一行,但我會需要它從當前頁面上的H1標籤中取出。我會如何去做這件事? –

+0

或者有沒有一種方法可以在代碼本身內使用JS snippit手動設置標題。就模塊而言,我將不得不單獨將代碼添加到每個類別中。 –

+0

據我瞭解腳本,我可以指定頁面上的ID,從該頁面上的元素使用該ID拉。因此,例如TEST的ID ,然後給我的H1標籤TEST的ID。包含測試「ifinity用戶配置文件 - 」的部分呢? –

0

理想情況下,您的商店模塊應該設置頁面標題和其他元信息。在DotNetNuke中,您可以通過鑄造PageDotNetNuke.Framework.CDefault類型來訪問頁面的TitleMetaDescriptionMetaKeywords。如果商店模塊不提供此功能,則應請開發人員添加功能。

+0

我確實聯繫了開發人員,他們已將其添加到他們的「所需增強功能」列表中。我希望能在此期間找到一個臨時解決方案。 –