搜尋引擎收錄工作主要由搜尋引擎蜘蛛來完成,每個主流的搜尋引擎都有自己的蜘蛛爬蟲,例如: Googlebot(Google蜘蛛)、baiduspider(百度蜘蛛)、Yahoo Slurp(Yahoo蜘蛛)、Msnbot(MSN蜘蛛)、Scooter(Altavista蜘蛛)、Lycos_Spider_(T-Rex) 、FAST-WebCrawler(Alltheweb蜘蛛)、ia_archiver(alexa蜘蛛)Slurp(INKTOMI蜘蛛)等。想做搜尋引擎的隱形人,可以通過以下三種方法來實現。
1、rel=nofollow
這種不識別連結的搜尋標籤,可以告訴搜尋引擎蜘蛛直接跳過而不索引。具體的介紹請見“如何做付費連結而不被Google懲罰”,對Google 、Yahoo 、MSN(Live search)有效,對百度無效。
2、robots.txt
只需在你的網站根目錄下建一個robots.txt檔案,檔案中輸入:Disallow: 字串即可,例如:
Disallow:newsunday.html 意思是要求蜘蛛爬蟲不要下載該檔案,不收錄,不索引。
Disallow:/newsunday/ 意思是對newsunday檔案夾中的所有檔案不收錄,不索引,不下載。
如果你想看一個具體的例子,可以看一下Google robots.txt是什麼樣的。
3、利用代碼來實現
這是本文重點介紹的,但首先聲明不要將此種用法用於對搜尋引擎作弊方面,不能將其用於違返搜尋引擎相關規則、欺騙搜尋引擎的用途上。代碼實現的效果是,使用者在瀏覽經過代碼定義過的內容,正常顯示,而搜尋引擎蜘蛛抓取時會不顯示使用者瀏覽的內容,本文以百度蜘蛛為例:
ASP
$userAgent = Server.GetVariables("HTTP_USER_AGENT");
If Not InStr(LCASE($userAgent), "baiduspider") Then
‘使用者正常瀏覽時所能見到的內容代碼
Else
‘搜尋引擎蜘蛛能看到的代碼及連結
End If
PHP
$userAgent = $_SERVER['HTTP_USER_AGENT'];
if(stristr(strtolower($userAgent), 'baiduspider') === FALSE) {
//使用者正常瀏覽時所能見到的內容
//<!– 你的展示代碼–>
}
else {
//搜尋引擎蜘蛛能看到的代碼及連結
}
JSP
<%
String userAgent = request.getHeader( "User-Agent" );
if(userAgent.toLowerCase().indexOf("baiduspider") != -1) {
//使用者正常瀏覽時所能見到的內容代碼
}
else {
//搜尋引擎蜘蛛能看到的代碼及連結
}
%>
JAVASCRIPT
if(navigator.userAgent.toLowerCase().indexOf("baiduspider") <= -1) {
//使用者正常瀏覽時所能見到的內容
}
else {
//搜尋引擎蜘蛛能看到的代碼及連結
}
當你看完本文時,也許你會覺得這篇文章中的代碼做得沒有意義,其實如果你細琢磨一下,能想出不少東西來。具體我就不說了,如果你覺得有用可以收藏下來,如果覺得沒有太大用就當瞭解一點兒搜尋引擎的常識吧。