聲明:在這里,所談的1切關于SEO的技術主要針對我們開發人員。
SEO(搜索引擎優化)的目的(很多人都是通過搜索引擎找到我們的網站)是讓搜索引擎更多的收錄網站的頁面,讓被收錄頁面的權重更靠前,讓更多的人能夠通過搜索引擎進入這個網站
原理:蜘蛛會定時抓取網站的內容,發現網站內容變化、發現新增內容就反應到搜索引擎中
蜘蛛(spider) 爬網站:就是向網站發http get要求的客戶端。
SEO(搜索引擎優化*):讓網站排名靠前,讓網站更多的頁面被搜索引擎收錄。鏈接(外鏈、內鏈)、原創、關鍵詞的數量、權重,小偷網站(站群),降權(PR PageRank),K站(Kill站,做弊)、偽原創:
爬網站的進程:發現網站。百度把csdn當做關鍵網站,順著已知的網站鏈接找到新的網站或新的頁面。
SEO的第1個手段:建外鏈(外部鏈接)。新網站吸引蜘蛛。對非新網站,搜索引擎斟酌1個“權重”,重點考察外鏈數量。權重越高搜索結果越靠前,“權重”的1個重要因素就是“外鏈”數量,外鏈質量(外鏈網站的PR值,PageRank,決定1個網站的質量的值,PR值越高網站越重要,原創、創建時間等等),Alexa 排名(全球網站排名)
(*)robots.txt是公約,搜索引擎都建議遵照,相當于1個指路牌:想讓那些搜索引擎搜索,想讓那些頁面搜索
Search engine optimization
搜索引擎蜘蛛(Spider):向網站發出Get要求,取得頁面內容,分析頁面中的超鏈接,進1步的向頁面中的超鏈接發Get要求,取得鏈接的頁面內容。
搜索引擎只認識<ahref=“”>,并且不能是JavaScript、超鏈接不能是js動態生成的
網站的SEO基本原則:所有希望搜索引擎抓取的內容都應當是通過超鏈接(Get要求)取得的,Post取得的內容、js腳本打開的頁面是沒法被搜索引擎抓取的,所以盡可能不要JS、Post來進行頁面導航、內容的生成。搜索引擎1般不會履行JS、不會發Post要求、不會提交表單
動態菜單應當是把菜單內容靜態的寫到html中,然后通過隱藏、顯示來切換,而不是動態繪制菜單內容。車品匯的案例:在保證動態效果的條件下,斟酌SEO。反例:南京大學
由于LinkButton是履行JavaScript向服務器發要求來進行Redirect,而蜘蛛不會履行JS,所以盡可能不要用LinkButton。
內嵌js生成的超鏈接是搜索引擎看不到的。服務器端動態生成的內容是可以被蜘蛛看到的,客戶端閱讀器(蜘蛛)不知道服務器是動態生成的還是靜態文件,只有Response。蜘蛛只分析靜態的HTML內容,不會去履行JS。蜘蛛就是相當于發出Get要求的WebClient。禁用JS以后取得的東西就是蜘蛛能看到的東西。
SEO友好的AJAX:做1個簡單的根據參數來取得1、2、33個文章的AJAX效果,以下示例:
html代碼:
WebClient是下載Get要求的結果,而不是下載aspx源碼。
聊SEO的時候說的1個很牛的技能:<a href=“GetArticle.ashx?Id=1” onclick=“ShowArticle(1);return false;”>文章1</a>,也對不支持JavaScript的閱讀器提供友好的使用。
糗事百科的“評論”也是同時斟酌AJAX和SEO的例子。
蜘蛛爬網原理代碼:
對開發人員來說:搜索引擎只認get要求取得的原始源代碼;只認頁面中的a標簽,并且不能是href=“javascript:”;
案例:不要是<ahref="javascript:document.location='http://www.baidu.com'" >百度</a>
不要用LinkButton的Onclick中來做Response.Redirect,由于生成的是js,請看以下代碼:
不要在頁面中動態通過js生成超鏈接菜單,而應當像“車品匯”1樣先把鏈接都生成到頁面中,只是隱藏,然后通過js來控制不同層的顯示
實現AJAX,同時制定onclick和href,讓普通用戶走onclick的ajax效果,搜索引擎蜘蛛走href
開發百度用的是通用搜索,我們主要做站內搜索。
有1定訪問量的互聯網站都有站內搜索功能,比如verycd、優酷、豆瓣、cnblogs、mop、淘寶、大眾點評網等。
msg like '%.net視頻教程%':模糊程度太低,沒法匹配幾個關鍵詞不挨著的;造玉成表掃描,效力低。
為何不用數據庫全文檢索?數據庫全文檢索很傻瓜化,和普通SQL1樣。數據全文檢索靈活性不強。注意:要sqlserver的專業版才支持全文檢索功能。
使用sqlserver全文檢索步驟:
1、設置需要檢索的列屬性
2、全文檢索的查詢語法:select * from T where contains(msg,’你好’)
為何不用百度、google的站內搜索(site:rupeng.com):受制于人,會被K;索引不及時、不全面、不精準;用戶體驗感差
這里主要講授最有廣泛利用價值的站內搜索技術,像開發百度、google那種站外搜索相干的技術不講。
1、 搜索引擎 site:www.cnblogs.com 站內搜索
2、 查看網站收錄。site:www.verycd.com
當我們新建1個網站后,要想讓搜索引擎能夠收錄,我們要先將我們網址提交到各搜索引擎入口,1般提交2~3天后,你就能夠在各搜索引擎中輸入關鍵字進行搜索了。