作為一名 Web 站點開發(fā)人員,使您的 Web 站點得到搜索引擎的關(guān)注是獲得成功的關(guān)鍵因素之一。在這個共分四部分的系列中,您將學(xué)習(xí)對 Web 站點進(jìn)行有機(jī)優(yōu)化所需的基礎(chǔ)知識。在這個系列的第 3 部分中,您將學(xué)習(xí)如何讓 Web 站點的頁面進(jìn)入搜索索引。
Web 搜索是熱點,而且越來越熱門。四分之三的 Web 用戶經(jīng)常進(jìn)行搜索,64% 的 Web 用戶以搜索作為尋找信息的主要方法(參見 參考資料 中相關(guān)研究的鏈接)。這些用戶會找到您的站點嗎?您的 Web 站點會錯過機(jī)會嗎?
在本系列的前兩部分中,Jennette Banks 概述了搜索營銷(第 1 部分)以及關(guān)鍵詞規(guī)劃和優(yōu)化的基礎(chǔ)知識(第 2 部分)。
在第 3 部分中,我們重點介紹讓 Web 站點的頁面進(jìn)入搜索索引所需的知識。搜索索引是 Google 和 Yahoo!這樣的搜索引擎在用戶進(jìn)行搜索時使用的數(shù)據(jù)庫。如果 Web 頁面沒有被編入搜索引擎的索引,那么引擎就不會找到它,所以將頁面添加到索引中是取得 SEO成功的關(guān)鍵一步。
我的站點上有多少頁面進(jìn)入了索引?
如果想知道您的站點上有多少頁面進(jìn)入了索引,那么先做個簡單的測試。進(jìn)入 Google 或者您喜歡的其他搜索引擎,搜索您公司的名稱。如果公司名稱是一個常見名稱(比如 AAA Plumbing 或 Acme Industries),那么再加上地區(qū)(AAA Plumbing Peoria)或公司最出名的產(chǎn)品(Acme Industries sheet metal),看看您的站點是否被找到了。
如果發(fā)現(xiàn)一個 Web 站點根本 沒有被編入搜索索引中,那么通常有兩個原因:
站點是新的。如果 Web 站點是剛剛建立的,而且在搜索索引中沒有其他站點鏈接到它,那么搜索引擎還沒有發(fā)現(xiàn)它。在這種情況下,只需讓其他某些站點鏈接到您的站點。
站點被禁止了。如果搜索引擎認(rèn)為您的站點采用了不道德的(即黑帽)SEO 做法,就可能會從它們的索引中刪除您的所有頁面。如果您發(fā)現(xiàn)自己處于這種糟糕的境地,那么找一位搜索營銷專家來對站點進(jìn)行分析并找出違反道德的地方,在糾正問題之后,向搜索引擎請求予以 “寬恕”。
如果幸運(yùn)的話,在搜索引擎中輸入公司名稱時,至少會找到您 Web 站點上的一個頁面。通常情況是任何特定的搜索引擎只將您的部分頁面編入了索引中,但是如果幾乎所有頁面都被編入了索引,就更好了。沒有編入索引的頁面越多,您站點的潛在訪問者就越有可能轉(zhuǎn)向您的競爭對手(如果他們的頁面已編入索引)。
包含率
首先,計算包含率(inclusion ratio),也就是被搜索引擎編入索引的頁面占總頁面數(shù)的百分比。當(dāng)然,理想的包含率是 100%,但是稍微低一些也可以讓人滿意。如果頁面中只有不到 50% 被包含在搜索索引中,那么就要認(rèn)真對待了。
為了計算包含率,將搜索引擎索引中的頁面數(shù)除以您站點上的頁面總數(shù)。如果您的 Web 站點相當(dāng)小,那么估算站點的頁面總數(shù)可能很容易,但是對于大型站點,有時候很難查明有多少個頁面。對于大型站點,可以使用幾種方法估算頁面數(shù):
詢問 Web 管理員。Web 管理員以前肯定被問到過這個問題,他很可能已經(jīng)做過研究。
統(tǒng)計內(nèi)容管理系統(tǒng)中的文檔數(shù)量。通常,每個文檔會創(chuàng)建一個獨特的頁面,所以這會給出頁面數(shù)的估計值。
使用工具:OptiSpider 或 Xenu 等程序會檢查站點并報告找到了多少個頁面(參見 參考資料)。
對 Web 站點的規(guī)模進(jìn)行估算之后,就要查明站點中有多少頁面被編入了索引。Google、Yahoo! Search 和 MSN Search 都提供了 “site:” 操作符,它會報告您需要知道的信息。輸入 site:,后面加上您的域名(比如 site:kodak.com),查看返回的結(jié)果。更方便的工具是 Marketleap 的免費工具 Saturation Reporting Tool(參見 參考資料),它會顯示任何站點在每個搜索索引中的頁面數(shù)。
爬行器路徑
如果計算包含率的結(jié)果很糟糕,那么該怎么辦呢?首先,我們回顧一下搜索引擎如何將頁面編入索引。搜索引擎使用專門設(shè)計的稱為爬行器(spider 或 crawler)的程序來檢查站點上的頁面。
爬行器收集每個頁面的 HTML,并記錄到其他頁面的鏈接,這樣以后它就可以去收集這些頁面的 HTML。您可以想像到,經(jīng)過足夠長的時間之后,爬行器最終會找到 Web 上的每個頁面(至少是每個鏈接到其他頁面的頁面)。獲得頁面,找到頁面上的所有鏈接,然后獲得鏈接到的那些頁面,這個過程稱為 “在 Web 上爬行”。
因為爬行器是這樣工作的,創(chuàng)建對每個頁面的鏈接可以簡化讓站點被編入索引的任務(wù) —— 我們將這些技術(shù)稱為爬行器路徑(spider path)。您的站點已經(jīng)包含路徑,而且可能已經(jīng)有了最重要的爬行器路徑類型:站點地圖。如果站點只包含少量頁面,那么站點地圖可以列出并鏈接到站點上的每個頁面。
但是,站點地圖不應(yīng)該超過 100 個鏈接,所以比較大的站點地圖必須鏈接到分類頁面,這些頁面再鏈接到站點上的其他頁面。最大型的 Web 站點通常劃分成針對各個國家的分站,這就需要特殊的站點地圖,稱為國家地圖(country map),其中列出每個國家的名稱并鏈接到各個國家站點的主頁。爬行器非常喜歡這種技術(shù)。(參見 參考資料 中大型站點地圖的示例。)
只有爬行器到了您的站點上,站點地圖才會發(fā)揮作用,但是還有更加主動的使頁面被編入索引的方法。Google 和 Yahoo! 都提供包含程序(inclusion program),專門用來使頁面被編入索引。Google 的 beta 程序稱為 Sitemaps(參見 參考資料),它是免費的,提供幾種向 Google 爬行器通知頁面位置的方法。甚至可以請求 Google 對您的一部分頁面進(jìn)行更頻繁的索引更新。Yahoo! 提供一個付費的包含程序 SiteMatch(參見 參考資料),它承諾在 48 小時內(nèi)對您的頁面重新編制索引。(Google 對時間沒有做出承諾。)
RSS feed 提供了另一種方法,可以在頁面發(fā)布時使頁面迅速地被編入索引。使用 Ping-O-Matic!(參見 參考資料)通知搜索引擎在 RSS feed 有了新條目,新條目常常會在一兩天內(nèi)被編入索引。
清理爬行器路徑
徒步旅行的隊伍要讓開路者去探索和標(biāo)出前進(jìn)路線,但是開路者必須經(jīng)常清理這些路徑,使路徑不會損毀或荒廢。爬行器路徑也是一樣的;除非經(jīng)常檢查它們,否則很可能就會阻塞了。
如果您忽視了爬行器的工作方式,爬行器路徑就很容易成為爬行器陷阱。對人來說很好的頁面卻可能阻礙爬行器。爬行器是自動的,所以不會像人類訪問者那樣填寫注冊表單。如果鏈接到站點上的頁面所需的操作不僅僅是沿著 HTML 錨標(biāo)記走,那么這個鏈接可能會對爬行器隱藏。
這意味著 JavaScript、Flash、frames 和 cookie 也會造成問題。如果您的 Web 頁面沒有這些技術(shù)就根本無法顯示,那么頁面就不會被爬行器編入索引。另外,如果用戶需要這些技術(shù)才能使用鏈接,那么爬行器就無法沿著鏈接前進(jìn)。
爬行器只查看 HTML 代碼,就像有視力障礙的用戶所用的屏幕閱讀器一樣。要想體會一下爬行器看到了什么,可以在查看頁面時禁用瀏覽器對 cookie、JavaScript 和圖形的支持,或者使用文本模式的 Lynx 瀏覽器或 Lynx Viewer(參見 參考資料)。如果頁面可以使用 Lynx 完整地顯示,那么它們很可能能夠被編入索引。根本不顯示或者顯示得很不完整的頁面不容易被搜索引擎找到。
即使您避免使用這些惹麻煩的技術(shù),仍然可能會給爬行器造成阻礙。爬行器對 HTML 代碼的正確性要求非常嚴(yán)格 —— 瀏覽器就要寬容多了。在瀏覽器中看起來很好的頁面卻可能阻礙爬行器,這會使爬行器看不到或誤解整個頁面或部分頁面。HTML 檢驗服務(wù)(參見 參考資料)和 Firefox 瀏覽器可以發(fā)現(xiàn)這些錯誤。
還必須注意爬行器對每個頁面的內(nèi)容大小限制。大多數(shù)爬行器只對頁面中的前 100,000 個字符編制索引。這個數(shù)字聽起來似乎很大,但是如果在頁面中添加 JavaScript 程序和樣式表,或者把整個用戶手冊放進(jìn)一個 PDF 文件中,那么很快就會達(dá)到這個限制。所以,可以考慮將手冊分割為每章一個 PDF,并將所有 JavaScript 和樣式表代碼轉(zhuǎn)移到外部文件中。
歡迎爬行器
清理了爬行器路徑之后,必須確保爬行器是受歡迎的。最明顯的建議是,當(dāng)爬行器到達(dá)時,確保站點正在運(yùn)行,能夠做出響應(yīng)。因為不知道爬行器什么時候會訪問您的站點,頻繁地停機(jī)(即 “維護(hù)時間窗”)會有風(fēng)險,如果爬行器在站點停機(jī)時到來,它就會認(rèn)為站點是失效的,從而轉(zhuǎn)到其他站點去。
如果站點的響應(yīng)速度非常慢,這幾乎和完全失效一樣糟糕,因為爬行器是按進(jìn)度計劃運(yùn)行的。對于緩慢的站點,它們編入索引的頁面更少,而且再次訪問的頻率更低,因為在同樣的時間內(nèi)它們能夠在其他地方處理更多的頁面。
即使您的站點通常不停機(jī)而且速度很快,仍然有可能由于錯誤地編寫了機(jī)器人指令(robots instruction) 而將爬行器拒之門外?梢允褂 robots.txt 文件讓爬行器避開某些頁面、目錄或整個站點,所以如果站點的指令編寫錯了,就可能趕走爬行器。另外,每個頁面都可以有一個 robots 標(biāo)記,它指示爬行器是否將這個頁面編入索引,以及是否沿著其中的鏈接前進(jìn)(參見 參考資料。)
留住爬行器
即使您的站點歡迎爬行器,也不能保證它以后不會遺棄這個站點。
會阻礙爬行器的一個問題是對頁面使用長的動態(tài) URL。許多動態(tài) URL 需要用參數(shù)來選擇要顯示的內(nèi)容,比如來自 Canada 產(chǎn)品目錄的產(chǎn)品 2372 的法文說明。爬行器很反感這些動態(tài)站點,因為參數(shù)的組合幾乎是無窮的 —— 爬行器不希望在站點中迷路。當(dāng)爬行器看到 URL 超過 1,000 個字符或者其中的參數(shù)超過兩個時,它們往往會跳過這些頁面。
如果您的站點存在這些有問題的 URL,就必須參考 Web 服務(wù)器的文檔,研究如何改變 URL 的形式以使爬行器滿意。例如,Apache 使用 “mod_rewrite” 功能(參見 參考資料)修改 URL,其他 Web 服務(wù)器也有相似的功能。
所謂的 “會話標(biāo)識符” 也會嚇走爬行器。一些程序員在 URL 中創(chuàng)建一個參數(shù),用來捕捉關(guān)于當(dāng)前訪問者的信息(常常用 “id=” 加上惟一的字母數(shù)字編碼來標(biāo)識)。爬行器很討厭這種技術(shù),因為它導(dǎo)致成百上千的不同 URL 顯示同樣的內(nèi)容。程序員應(yīng)該將這一信息存儲在 Web 應(yīng)用服務(wù)器的會話層或者 cookie 中。(但是,正如前面討論的,顯示頁面應(yīng)該不需要 cookie,否則爬行器無法將它編入索引。)
分析了動態(tài)頁面之后,還要注意另一個可能給頁面造成麻煩的問題。重定向 這種技術(shù)告訴瀏覽器和爬行器請求的 URL 已經(jīng)改變了。例如,如果您的公司改名了,它可能也會改變 Web 站點的域名,所以重定向可以將來自舊 URL 的所有訪問者轉(zhuǎn)到新的 URL。但是,對于爬行器有效的重定向方法只有一種:服務(wù)器端重定向,也稱為 301 重定向(參見 參考資料)。其他重定向技術(shù)對瀏覽器是有效的,比如元刷新重定向和 JavaScript 重定向,但是爬行器無法沿著這些重定向的路徑前進(jìn),這會使重定向的頁面不被編入搜索索引。
結(jié)束語
顯然,頁面必須先被編入索引,然后搜索引擎才能找到它們,但是大多數(shù)頁面沒有被編入索引。在 1999 年,所有 Web 頁面中大約有 16% 被搜索引擎編入了索引,但是幾年之后,這個比例大大下降了:在 2001 年,估計只有 0.03% 的頁面被編入了索引。
既然這個比例如此低,您的站點中很可能有許多頁面沒有被編入索引,因此這些頁面不可能被搜索到。您現(xiàn)在知道應(yīng)該如何解決這個問題了。
但是,僅僅進(jìn)入搜索索引還不夠。在這個 SEO 系列的第 4 部分中,我們將討論大型 Web 站點特有的一些搜索營銷問題,比如如何對動態(tài)頁面進(jìn)行優(yōu)化、如何跨多國站點工作以及如何讓大型團(tuán)隊進(jìn)行協(xié)同工作。