1. 程式人生 > >針對Asp.net MVC SEO的幾點建議

針對Asp.net MVC SEO的幾點建議

SEO 即搜尋引擎優化,很多web開發人員本應該熟悉,至少需要了解的一個知識點。像百度、必應等搜尋引擎其實一直都在進化。但是有些優化的技巧可能在短時間內不變。

今天就給大家介紹幾個專門針對Asp.net MVC網站的SEO技巧, 當然有些技巧也通用於其他website.

 

2.  SEO工具

首先介紹下一個 SEO 的一個小工具(SEO Toolkit),這個工具有點類似於一些分析exe程式效能的工具。但是不同的是它主要針對網站分析出哪些頁面需要做SEO優化。

如果你已經有一個網站上線了,用這個小工具測試,相信可以找出一些可以優化的地方。該工具是安裝到IIS 7.x 裡面的,確保你的主機已經安裝了IIS,安裝完該工具後,可以在IIS Manager上看到

image

點選進去 就可以使用該工具,它包含了網站SEO分析、Sitemap 生成和Robots相關。

這裡我們主要使用第一個

image

可以看到它找出了不少可以SEO優化地方,比如 <meta name=description/> ,<h1/> 等等。每一個能優化的地方該工具都給出了詳細的介紹和如何實現優化。

 

3. 優化技巧

1) 確保網站的所有連結都是有效的,這個不用多說。

 

2) 確保每一個頁面都有一個獨一無二的title,對於Asp.net mvc 來說把  <title>@ViewBag.Title</title> 放到_layout.cshtml head 中 ,然後在每個頁面的對應的Action 中設定   ViewBag.Title 即可。這個title 表示了當前頁面的主題。

 

3) 確保每個頁面只有一個 <h1> 這裡有些頁面出於設計的原因不想影響網頁美觀,就可能不想要放置<h1>。如何解決這樣的問題呢?

可以設定css 把<h1> 移出網頁範圍外,也可以將<h1> 文字的顏色調成背景色, 或者直接新增hidden 類隱藏<h1>, 雖然<h1> 被隱藏了但是還是能被搜尋引擎抓取。

搜尋引擎抓取的並不是render 之後的頁面,而是整個Html 文件。相信不少網站就這麼做的

image

 

4 )  設定canonical, 這個優化技巧主要是為了解決由於網址形式不同內容相同而造成的內容重複問題,比如有三個Url

http://51zhang.net/Oxford/HowOld
http://51zhang.net/Oxford/HowOld?addcomments=true
http://51zhang.net/Oxford/HowOld?deletecomment=true

這三個地址形式不同,第一個才是希望呈現給搜尋引擎的,那麼我們就可以在其他兩個頁面的head中新增canonical

<link rel='canonical' href='http://51zhang.net/Oxford/HowOld' />

從功能上講 canonical可以理解為301永久重定向的輔助功能。

 

5 )   儘量少用Ajax實現的上一頁,下一頁列表。比如部落格園的新聞列表:http://news.cnblogs.com/n/page/3/

image

如果採用Ajax在本頁面實現翻頁效果,對於爬蟲而言其實是同一個Url。

 

6 )  儘量給網站新增robots.txt 和sitemap.xml

robots.txt 指示爬蟲哪些可以爬取 哪些不可以爬取。比如 部落格園的http://www.cnbeta.com/robots.txt

image

Disallow 表示哪些路勁是不能爬取的。

sitemap.xml 代表了整個網站的地圖 能夠告訴爬蟲網站具體有哪些頁面, 如果頁面數量少,手動生成一個不是什麼大問題。當頁面過多時,

這裡給大家推薦一個 sitemap 生成工具 https://github.com/maartenba/MvcSiteMapProvider

 

7 ) 使用直接路由 RouteAttribute

預設建立的Asp.net MVC專案,可以有好幾種方式訪問主頁

但是有些搜尋引擎在處理這樣的問題時就沒那麼明智了。當然可以使用canonical。如果是Asp.net mvc5 就可以直接通過RouteAttribute

做優化。

 

4. 總結

SEO優化的技巧肯定不止這些,比如專門針對 前段採用AngularJs 的優化方式。這樣的技巧也只有在實踐中掌握.