導語:ASP.NET 4包括了一系列新的運行時特性,可以用來進行SEO優(yōu)化以提高網(wǎng)站在搜索引擎中的排名和權重,從而進一步優(yōu)化你的網(wǎng)站。這些特性包括:針對ASP.NET Web Forms的新URL導向支持、新的Response.RedirectPermanent()方法、新的Page.MetaKeywords 和 Page.MetaDescription 屬性。
下面是如何利用這些特性來進一步提高搜索引擎相關性的細節(jié)。
Page.MetaKeywords 和 Page.MetaDescription 屬性
改進網(wǎng)頁搜索相關性的一個簡單建議是,確定你總是在你HTML中的部分輸出相關的“keywords(關鍵詞)” and “description(描述)”標識。例如:
ASP.NET 4 Web Forms中一個很好的改進是在Page類中加了2個新屬性:MetaKeywords 和 MetaDescription,它們使得在后臺代碼類中用編程的手法設置這些值更容易,也更干凈。
ASP.NET 4的 服務器控件現(xiàn)在會看這些值,然后在輸出網(wǎng)頁的部分時使用它們。這個行為在使用母版頁的場景中尤其有用, 是在.master文件中,與含有特定頁面內容的.aspx文件是分開的。你現(xiàn)在可以在.aspx頁面中設置新的MetaKeywords 和 MetaDescription屬性,它們的值會自動地由母版頁中的控件來顯示。
下面是簡單的代碼片段,示范如何在Page_Load()事件處理函數(shù)中用編程手法設置這些屬性:
除了在后臺代碼中用編程手法設置Keywords 和 Description屬性外,你現(xiàn)在還可以在.aspx網(wǎng)頁頂部的@Page指令中用聲明的方式設置它們。下面的代碼片段示范該怎么做:
就象你能預期的那樣,如果你用編程手法設置這些值的話,它們會替代在部分或@Page指令中聲明設置的任何值。
Response.RedirectPermanent() 方法
隨著時間的遷移,在web應用間移動網(wǎng)頁和其他內容是極其常見的,但會導致在搜索引擎中失效鏈接的積累。
在ASP.NET中,開發(fā)人員經(jīng)常使用Response.Redirect()方法,用編程的手法,將對老的URL的請求轉到新的URL上。但許多開發(fā)人員沒有意識到的是,Response.Redirect()方法發(fā)的是個 HTTP 302 Found (臨時轉向) 回復,會在用戶嘗試訪問老的URL時,導致多余的HTTP往返。搜索引擎一般不會跟隨多個重新轉向跳轉,意味著使用一個臨時轉向會負面影響你的網(wǎng)頁排名。
ASP.NET 4引進了一個新的Response.RedirectPermanent(string url)輔助方法,可以用來做一個HTTP 301 (永久性重定向)重新定向。這會導致能識別永久性重新定向的搜索引擎和其他用戶代理保存和使用與內容相關聯(lián)的新URL。這會使你的內容編入索引,你的搜索引擎頁面排名得到提高。
下面是使用新的Response.RedirectPermanent()方法重新定向到特定URL的一個例子:
ASP.NET 4還引進了新的Response.RedirectToRoute(string routeName) 和 Response.RedirectToRoutePermanent(string routeName)輔助方法,可以用來通過URL導向引擎做臨時或永久性的重新定向。下面的代碼片段示范了如何發(fā)出臨時和永久性的重新定向到注冊在URL導向系統(tǒng)中的具名路徑的(該路徑接受一個category參數(shù))。
你可以同時針對基于ASP.NET Web Forms以及基于ASP.NET MVC 的URL使用上面的路徑和方法。
ASP.NET Web Forms中的URL導向
URL導向是我們最先在ASP.NET 3.5 SP1中引進的一個功能,已為ASP.NET MVC應用所用,來呈示干凈的,SEO友好的“web 2.0” URL。URL導向讓你配置一個應用來接受并不映射到物理文件的請求URL,你可以使用導向來定義對用戶來說語義上更具含義的URL,這些URL有助于搜索引擎優(yōu)化(SEO)。
例如,一個顯示產(chǎn)品分類的傳統(tǒng)網(wǎng)頁的URL也許看上去會是這樣的:
http://www.mysite.com/products.aspx?category=softwar