什麼是代理劫持

像PR劫持一樣,對一些比較難以預防的黑帽陷害手法,本來不太想積極討論,因為有很多時候會對無辜的站長造成很大的傷害。

在前兩天的SEO案例中,提到瞭代理劫持(proxy hijack),有人問是怎麼回事,今天就解釋一下。像這種東西都是雙刃劍,不懷好意的人看瞭,又多瞭一個損人利己的工具。另一方面,已經深受其害的站長看瞭,也許對他們預防和恢復有正面意義。

代理劫持簡單說就是搜索引擎收錄瞭通過代理服務器瀏覽的網頁,而把原本真正的網頁懲罰或刪除。

國內站長對代理服務器(proxy server)肯定都很熟悉。在使用代理服務器上其他網站時,瀏覽器顯示的URL通常是類似於:

/proxy/

其中proxysite.com是代理服務器域名,proxysite.com是真正要訪問的網站。

在瀏覽器打開這種URL當然沒問題,但如果搜索引擎抓取瞭這種URL,就會對原來的網站形成完全復制內容網頁。雖然復制內容網頁在絕大部分情況下隻是被忽略不計,但在某些情況下,搜索引擎判斷錯誤,會把原始的版本當做是復制而被懲罰甚至被刪除。

一般情況下,通過代理訪問的URL不應該被收錄。但如果有人惡意鏈接向這個代理URL,搜索引擎也會訪問和抓取。

怎麼預防或恢復被代理劫持的排名呢?

最簡單的,如果看到自己的網頁被代理劫持,查一下那個代理服務器的IP地址,自己服務器上把那個IP地址屏蔽掉,禁止抓取。

但有的時候,代理服務器的IP地址會有變化,而且代理服務器又那麼多,很可能屏蔽不過來。更復雜的方法是服務器端通過程序鑒別來訪問的是否是搜索引擎蜘蛛,是否是真正的搜索引擎蜘蛛。

有些情況下,搜索引擎蜘蛛通過代理URL訪問時的瀏覽器類型(User Agent),還是搜索引擎的蜘蛛。不過,有的代理服務器可能設置為隱藏原始IP地址,隱藏User Agent,這就給判斷是否是搜索引擎蜘蛛造成很大困難。

這時網站程序就需要主動驗證來訪的是否是真的搜索引擎蜘蛛。如果程序檢驗確實是真實的蜘蛛,就返回正常頁面。如果檢測不是蜘蛛是正常用戶,或是假冒的蜘蛛,那麼返回的網頁都加入noindex,nofollow標簽。這樣這些原始網頁通過代理訪問時,都不能被搜索引擎所抓取。

Google2月份發表在黑板報及網站管理員博客的翻譯Matt Cutts的怎樣驗證Google蜘蛛帖子(Matt Cutts的原貼沒發在自己的博客,而是發在英文版網站管理員博客),不是發著玩的,而是有很深的意義。從目前零個引用鏈接和評論看,大部分人不知道這個帖子有什麼用。

按說搜索引擎對這種代理劫持應該有辦法判斷,不然這就成瞭一些人可以陷害競爭對手的簡易方法。不過,任何算法都有漏洞,就算算法能99%的正確判斷,但是漏網的那一個錯誤就可能使無辜的網站被刪除。

寫這篇文章是希望介紹給跟多人,讓大傢能更好的預防。使用這種方法意圖陷害他人,相信大傢都會十分鄙視的。

很少寫帖子時想,看懂的人越少越好。這是一篇。