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