導(dǎo)語:ASP.NET 4包括了一系列新的運(yùn)行時特性,可以用來進(jìn)行SEO優(yōu)化以提高網(wǎng)站在搜索引擎中的排名和權(quán)重,從而進(jìn)一步優(yōu)化你的網(wǎng)站。這些特性包括:針對ASP.NET Web Forms的新URL導(dǎo)向支持、新的Response.RedirectPermanent()方法、新的Page.MetaKeywords 和 Page.MetaDescription 屬性。

  下面是如何利用這些特性來進(jìn)一步提高搜索引擎相關(guān)性的細(xì)節(jié)。

  Page.MetaKeywords 和 Page.MetaDescription 屬性

  改進(jìn)網(wǎng)頁搜索相關(guān)性的一個簡單建議是,確定你總是在你HTML中的部分輸出相關(guān)的“keywords(關(guān)鍵詞)” and “description(描述)”標(biāo)識。例如:

  

  ASP.NET 4 Web Forms中一個很好的改進(jìn)是在Page類中加了2個新屬性:MetaKeywords 和 MetaDescription,它們使得在后臺代碼類中用編程的手法設(shè)置這些值更容易,也更干凈。

  ASP.NET 4的 服務(wù)器控件現(xiàn)在會看這些值,然后在輸出網(wǎng)頁的部分時使用它們。這個行為在使用母版頁的場景中尤其有用, 是在.master文件中,與含有特定頁面內(nèi)容的.aspx文件是分開的。你現(xiàn)在可以在.aspx頁面中設(shè)置新的MetaKeywords 和 MetaDescription屬性,它們的值會自動地由母版頁中的控件來顯示。

  下面是簡單的代碼片段,示范如何在Page_Load()事件處理函數(shù)中用編程手法設(shè)置這些屬性:

  

  除了在后臺代碼中用編程手法設(shè)置Keywords 和 Description屬性外,你現(xiàn)在還可以在.aspx網(wǎng)頁頂部的@Page指令中用聲明的方式設(shè)置它們。下面的代碼片段示范該怎么做:

  

  就象你能預(yù)期的那樣,如果你用編程手法設(shè)置這些值的話,它們會替代在部分或@Page指令中聲明設(shè)置的任何值。

 Response.RedirectPermanent() 方法

  隨著時間的遷移,在web應(yīng)用間移動網(wǎng)頁和其他內(nèi)容是極其常見的,但會導(dǎo)致在搜索引擎中失效鏈接的積累。

  在ASP.NET中,開發(fā)人員經(jīng)常使用Response.Redirect()方法,用編程的手法,將對老的URL的請求轉(zhuǎn)到新的URL上。但許多開發(fā)人員沒有意識到的是,Response.Redirect()方法發(fā)的是個 HTTP 302 Found (臨時轉(zhuǎn)向) 回復(fù),會在用戶嘗試訪問老的URL時,導(dǎo)致多余的HTTP往返。搜索引擎一般不會跟隨多個重新轉(zhuǎn)向跳轉(zhuǎn),意味著使用一個臨時轉(zhuǎn)向會負(fù)面影響你的網(wǎng)頁排名。

  ASP.NET 4引進(jìn)了一個新的Response.RedirectPermanent(string url)輔助方法,可以用來做一個HTTP 301 (永久性重定向)重新定向。這會導(dǎo)致能識別永久性重新定向的搜索引擎和其他用戶代理保存和使用與內(nèi)容相關(guān)聯(lián)的新URL。這會使你的內(nèi)容編入索引,你的搜索引擎頁面排名得到提高。

  下面是使用新的Response.RedirectPermanent()方法重新定向到特定URL的一個例子:

  

  ASP.NET 4還引進(jìn)了新的Response.RedirectToRoute(string routeName) 和 Response.RedirectToRoutePermanent(string routeName)輔助方法,可以用來通過URL導(dǎo)向引擎做臨時或永久性的重新定向。下面的代碼片段示范了如何發(fā)出臨時和永久性的重新定向到注冊在URL導(dǎo)向系統(tǒng)中的具名路徑的(該路徑接受一個category參數(shù))。

  

  你可以同時針對基于ASP.NET Web Forms以及基于ASP.NET MVC 的URL使用上面的路徑和方法。

  ASP.NET Web Forms中的URL導(dǎo)向

  URL導(dǎo)向是我們最先在ASP.NET 3.5 SP1中引進(jìn)的一個功能,已為ASP.NET MVC應(yīng)用所用,來呈示干凈的,SEO友好的“web 2.0” URL。URL導(dǎo)向讓你配置一個應(yīng)用來接受并不映射到物理文件的請求URL,你可以使用導(dǎo)向來定義對用戶來說語義上更具含義的URL,這些URL有助于搜索引擎優(yōu)化(SEO)。

  例如,一個顯示產(chǎn)品分類的傳統(tǒng)網(wǎng)頁的URL也許看上去會是這樣的:

  http://www.mysite.com/products.aspx?category=softwar