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