ASP.NET 4包括了一系列新的運行時特性,可以協助你進一步最佳化你的網站。其中一些新特性可以用來進行SEO最佳化以提高網站在搜尋引擎中的排名和權重,這些特性包括:
新的Page.MetaKeywords 和 Page.MetaDescription 屬性
針對ASP.NET Web Forms的新URL導向支援
新的Response.RedirectPermanent() 方法
下面是如何利用這些特性來進一步提高搜尋引擎相關性的細節。
Page.MetaKeywords 和 Page.MetaDescription 屬性
改進網頁搜尋相關性的一個簡單建議是,確定你總是在你HTML中的<head>部分輸出相關的“keywords(關鍵詞)” and “description(描述)” <meta>標識。例如:
ASP.NET 4 Web Forms中一個很好的改進是在Page類中加了2個新屬性:MetaKeywords 和 MetaDescription,它們使得在後台代碼類中用編程的手法設定這些值更容易,也更乾淨。
ASP.NET 4的 <head> 伺服器控制項現在會看這些值,然後在輸出網頁的<head>部分時使用它們。這個行為在使用主版頁面的情境中尤其有用,<head> 是在.master檔案中,與含有特定頁面內容的.aspx檔案是分開的。你現在可以在.aspx頁面中設定新的MetaKeywords 和 MetaDescription屬性,它們的值會自動地由主版頁面中的<head>控制項來顯示。
下面是簡單的程式碼片段,示範如何在Page_Load() 事件處理函數中用編程手法設定這些屬性:
除了在後台代碼中用編程手法設定Keywords 和 Description屬性外,你現在還可以在.aspx網頁頂部的@Page指令中用聲明的方式設定它們。下面的程式碼片段示範該怎麼做:
就象你能預期的那樣,如果你用編程手法設定這些值的話,它們會替代在<head>部分或@Page指令中聲明設定的任何值。
ASP.NET Web Forms中的URL導向
URL導向是我們最先在ASP.NET 3.5 SP1中引進的一個功能,已為ASP.NET MVC應用所用,來呈示乾淨的,SEO友好的“web 2.0” URL。URL導向讓你配置一個應用來接受並不映射到物理檔案的請求URL,你可以使用導向來定義對使用者來說語義上更具含義的URL,這些URL有助於搜尋引擎最佳化(SEO)。
例如,一個顯示產品分類的傳統網頁的URL也許看上去會是這樣的:
http://www.mysite.com/products.aspx?category=software
使用ASP.NET 4中的URL導向引擎,你現在可以配置應用來接受下面這樣的URL來顯示同樣的資訊:
http://www.mysite.com/products/software
在ASP.NET 4.0中,象上面那樣的URL現在可以映射到ASP.NET MVC控制器類,也可映射到基於ASP.NET Web Forms的網頁。你甚至可以有一個應用,同時含有 Web Forms 和 MVC控制器,使用單一一套導向規則在它們之間映射URL。
Response.RedirectPermanent() 方法
隨著時間的遷移,在web應用間移動網頁和其他內容是極其常見的,但會導致在搜尋引擎中失效連結的積累。
在ASP.NET中,開發人員經常使用Response.Redirect() 方法,用編程的手法,將對老的URL的請求轉到新的URL上。但許多開發人員沒有意識到的是,Response.Redirect() 方法發的是個 HTTP 302 Found (臨時轉向) 回複,會在使用者嘗試訪問老的URL時,導致多餘的HTTP往返。搜尋引擎一般不會跟隨多個重新轉向跳轉,意味著使用一個臨時轉向會負面影響你的網頁排名。
ASP.NET 4引進了一個新的Response.RedirectPermanent(string url)輔助方法,可以用來做一個HTTP 301 (永久性重新導向)重新定向。這會導致能識別永久性重新定向的搜尋引擎和其他使用者代理程式儲存和使用與內容相關聯的新URL。這會使你的內容編入索引,你的搜尋引擎頁面排名得到提高。
下面是使用新的Response.RedirectPermanent()方法重新定向到特定URL的一個例子:
ASP.NET 4還引進了新的Response.RedirectToRoute(string routeName) 和 Response.RedirectToRoutePermanent(string routeName)輔助方法,可以用來通過URL導向引擎做臨時或永久性的重新定向。下面的程式碼片段示範了如何發出臨時和永久性的重新定向到註冊在URL導向系統中的具名路徑的(該路徑接受一個category參數)。
你可以同時針對基於ASP.NET Web Forms以及基於ASP.NET MVC 的URL使用上面的路徑和方法。
結語
ASP.NET 4包含了成堆的特性改進來方便建造極致SEO的面向公眾的網站。你應該能夠使用這些特性增加到你網站的使用者流量, 但願能直接或間接地增加你從中取得的收入。