曾經有朋友問我怎麼才能判斷一個SEOer是不是高手。我就出了一個主意,就建議他問那個SEOer是不是知道Lynx在SEO上的應用方法。這麼來提問,其實能從一個側面反映這個SEOer對SEO研究有多深的。
現在SEO行業,雖然有很多以訛傳訛的言論,但是如果自己經常實踐,還是能找到很多真正有用的操作方法。實踐久了,也能判斷誰的說法正確,誰的說法有問題,這樣的SEOER,可以放心的讓他去操作一些比較重要的網站了。再進一步的給網站各個細節最佳化過程中,就會發現很多以前別人沒有談到過,也很難在最佳化一些小網站的過程中注意到的細節。這些細節,在別的地方很難找到相關的參考資料,或者根本就找不到。但是在google的《google網站品質指南》、《google黑板報》、《google中文網站管理員部落格》,基本上都可以找到關於這些細節的隻言片語的。只不過那裡面也只是給出了一個方向,更具體的細節還是要靠你自己再去實踐。
在《google網站品質指南》 的第一頁 ,就已經建議大家去用Lynx這個工具區檢測你的網站:
使用諸如 Lynx 的文本瀏覽器來檢查您的網站,因為大多數搜尋引擎資訊採集軟體查看您網站的方式與 Lynx 幾乎一樣。如果諸如 Javascript、Cookie、會話 ID、架構、DHTML 或 Flash 等複雜功能造成您無法在文本瀏覽器中看到整個網站,則搜尋引擎資訊採集軟體在抓取您的網站時可能會遇到問題。
這裡提到了“Lynx查看網站的方式和搜尋引擎幾乎一樣的”。一個SEOer,如果真的到了很多細節都無法從別人那裡擷取參考的程度,那這段話相信他很難忽視掉的。
我用了一段時間的Lynx,發現這個曾經的文本瀏覽器和搜尋引擎爬蟲很像的。你所聽過的爬蟲特性,在這裡面都能找到一點影子。
比如檢測隱藏連結,我們只知道搜尋引擎是不喜歡的,但是具體的檢測方法是怎麼樣的呢? 如果你用熟了Lynx,就發現一個非常簡單的命令就搞定了。
首先要搭建一個Lynx的運行環境。Lynx不能用那種編譯過的在windows下啟動並執行版本,有很多功能是不能用的。建議在XP下裝一個虛擬機器,然後在虛擬機器裡裝一個linux系統來運行Lynx。
虛擬機器軟體用 VirtualBox 或者 VMWare,具體的安裝方法大家google之。 Linux系統推薦用Ubuntu,它可以在圖形介面上安裝lynx。
在裝了Lynx的Linux系統的命令模式下輸入:lynx -dump www.alibaba.com 並斷行符號,這個頁面上的隱藏連結就一覽無餘了。如:
檢測出了隱藏連結
然後再進一步的分析一下,是哪些連結Lynx會認為是隱藏連結呢?
可以看到,至少以下的一種連結是會被Lynx認為是隱藏連結的。代碼為:
<a href=”http://www.alibaba.com”> </a>
這個連結,即沒有文字作為錨文本,也沒有圖片或其他作為連結的對象。如果不去載入CSS檔案或JS檔案,光就這個代碼,在網頁上是看不到這個連結的存在的。當然這就是隱藏連結,毫無爭議的。
這是Lynx認為的情況,搜尋引擎也是一樣的。從整個互連網來看,這種檢測方法在99%的情況下都不會冤枉一個網站的。對於google來說,一個檢測方法,如果能有40%以上的反作弊效率,那是非常好的一個方法。
一個非作弊的網站,產生這種情況的原因,是因為網頁設計人員的一些“奇怪”的代碼寫法。如果你去檢測你的網站,說不定也能看到這些隱藏連結。
當然,Lynx的作用不止這個。它首先是能以一個可視化的角度來展現爬蟲看到了什麼內容。用它可以挨個檢查你的網頁給搜尋引擎爬蟲展現了怎麼樣的內容。如:
Lynx看到的內容
然後才是其他的一些功能:
可以檢測網頁代碼的完整性。如果提示有“Bad HTML”就要注意一下。
可以和IE一樣查看源檔案。 命令在附錄中。
對cookie的跟蹤是特別對待的。會提示你是不是跟蹤cookie。
對架構和表單的處理和爬蟲是一樣的。
URL太多參數,會造成瀏覽困難。
可以查看網頁返回的http頭資訊
……
你會看到很多似曾相識的東西。
Lynx 的出現時期,恰好是第一個爬蟲程式誕生的時候。有相當大的理由相信他們的是一樣的理念。而且現在維護和更新Lynx的人員,有些也在維護其他開源的爬蟲程式。你其實也可以把Lynx看成一個可視化的爬蟲。
HTTrack 是一個比較宏觀的爬蟲模擬器。而Lynx就更細節一些,也更實用一點。
附錄 Lynx的簡要使用說明:
以下為引用的內容: 移動命令: 下方向鍵:頁面上的下一個連結(用高亮度顯示)。 上方向鍵:頁面上的前一個連結(用高亮度顯示)。 斷行符號和右方向鍵: 跳轉到連結指向的地址。 左方向鍵:回到上一個頁面。 滾動命令: +,Page-Down,Space,Ctrl+f: 向下翻頁。 -,Page-Up,b,Ctrl+b: 向上翻頁。 Ctrl+a: 移動到當前頁的最前面。 Ctrl+e: 移動到當前頁的最後面。 Ctrl+n: 向下翻兩行。 Ctrl+p: 往回翻兩行。 ): 向下翻半頁。 (: 往回翻半頁。 #: 回到當前頁的 Toolbar 或 Banner。 檔案操作命令: c: 建立一個新檔案。 d: 下載選中的檔案。 E: 編輯選中的檔案。 f: 為當前檔案顯示一個選項菜單。 m: 修改選中檔案的名字或位置。 r: 刪除選中的檔案。 t: Tag highlighted file。 u: 上傳一個檔案到目前的目錄。 其他命令: ?,h: 協助。 a: 把當前連結加入到一個書籤檔案裡。 c: 向頁面的擁有者發送意見或建議。 d: 下載當前連結。 e: 編輯當前檔案。 g: 跳轉到一個使用者指定的URL或檔案。 G: 編輯當前頁的URL,並跳轉到這個URL。 i: 顯示文檔索引。 j: 執行預先定義的“短”命令。 k: 顯示鍵盤命令列表。 l: 列出當前頁上所有連結的地址。 m: 回到首頁。 o: 設定選項。 p: 把當前頁輸出到檔案,e-mail,印表機或其他地方。 q: 退出。 /: 在當前頁內尋找字串。 s: 在外部搜尋輸入的字串。 n: 搜尋下一個。 v: 查看一個書籤檔案。 V: 跳轉到訪問過的地址。 x: 不使用緩衝。 z: 停止當前傳輸。 [backspace]: 跳轉到曆史頁(同 V 命令)。 =: 顯示當前頁的資訊。 : 查看當前頁的原始碼。 !: 回到shell提示符下。 _: 清除當前任務的所有授權資訊。 *: 圖形連結模式的切換開關。 @: 8位傳輸模式或CJK模式的切換開關。 [: pseudo_inlines 模式的切換開關。 ]: 為當前頁或當前連結發送一個“HEAD”請求。 Ctrl+r: 重新裝如當前頁並且重新整理螢幕。 Ctrl+w: 重新整理螢幕。 Ctrl+u: 刪除輸入的行。 Ctrl+g: 取消輸入或者傳送。 Ctrl+t: 跟蹤模式的切換開關。 ;: 看 Lynx 對當前任務的追蹤記錄。 Ctrl+k: 調用 Cookie Jar 頁。 數字鍵: 到後面的第 n 個連結。 |