Lynx瀏覽器在SEO上的應用

曾經有朋友問我怎麼才能判斷一個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 並回車,這個頁面上的隱藏鏈接就一覽無餘瞭。如:

檢測出瞭隱藏鏈接

然後再進一步的分析一下,是哪些鏈接Lynx會認為是隱藏鏈接呢?

可以看到,至少以下的一種鏈接是會被Lynx認為是隱藏鏈接的。代碼為:

<a href=> </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 個鏈接。

作者:國平

來源:/archives/426