SEO 即搜索引擎優化,不少web開發人員本應該熟悉,至少須要瞭解的一個知識點。像百度、必應等搜索引擎其實一直都在進化。可是有些優化的技巧可能在短期內不變。css
今天就給你們介紹幾個專門針對Asp.net MVC網站的SEO技巧, 固然有些技巧也通用於其餘website.html
首先介紹下一個 SEO 的一個小工具(SEO Toolkit),這個工具備點相似於一些分析exe程序性能的工具。可是不一樣的是它主要針對網站分析出哪些頁面須要作SEO優化。git
若是你已經有一個網站上線了,用這個小工具測試,相信能夠找出一些能夠優化的地方。該工具是安裝到IIS 7.x 裏面的,確保你的主機已經安裝了IIS,安裝完該工具後,能夠在IIS Manager上看到github
點擊進去 就可使用該工具,它包含了網站SEO分析、Sitemap 生成和Robots相關。web
這裏咱們主要使用第一個mvc
能夠看到它找出了很多能夠SEO優化地方,好比 <meta name=description/> ,<h1/> 等等。每個能優化的地方該工具都給出了詳細的介紹和如何實現優化。ide
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 文檔。相信很多網站就這麼作的
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/
若是採用Ajax在本頁面實現翻頁效果,對於爬蟲而言實際上是同一個Url。
6 ) 儘可能給網站添加robots.txt 和sitemap.xml
robots.txt 指示爬蟲哪些能夠爬取 哪些不能夠爬取。好比 博客園的http://www.cnbeta.com/robots.txt
Disallow 表示哪些路勁是不能爬取的。
sitemap.xml 表明了整個網站的地圖 可以告訴爬蟲網站具體有哪些頁面, 若是頁面數量少,手動生成一個不是什麼大問題。當頁面過多時,
這裏給你們推薦一個 sitemap 生成工具 https://github.com/maartenba/MvcSiteMapProvider
7 ) 使用直接路由 RouteAttribute
默認建立的Asp.net MVC項目,能夠有好幾種方式訪問主頁
可是有些搜索引擎在處理這樣的問題時就沒那麼明智了。固然可使用canonical。若是是Asp.net mvc5 就能夠直接經過RouteAttribute
作優化。
SEO優化的技巧確定不止這些,好比專門針對 前段採用AngularJs 的優化方式。這樣的技巧也只有在實踐中掌握.
歡迎訪問個人我的主頁 51zhang.net 網站還在不斷開發中…..