blogger設定單篇文章不被搜尋引擎索引 - 部落格

By Adele
at 2009-06-06T22:58
at 2009-06-06T22:58
Table of Contents
網誌圖文 : http://blog.wahahajk.com/2009/06/blogger_05.html
blogger可以在"後台設定->基本->讓搜尋引擎來尋找您的網誌?"
設定整個blog是否要被搜尋引擎給索引
但是如果想讓整個blog可以被搜尋引擎找到
可是又有某些文章內的關鍵字不想被搜尋引擎看到
例如有些文章裡有人名 帳號 序號等等
守規矩的搜尋引擎都會遵循2個標準來決定是否要進行索引
一個是根目錄下的robots.txt 另一個是當前頁面的meta tag
但是blogger已經把robots.txt給寫死了 我們不能更改
(附註:blogger的robots.txt長這樣
User-agent: Mediapartners-Google
Disallow:
User-agent: *
Disallow: /search
可以看的出來預設robots.txt禁止索引search目錄底下的文章 其他都沒禁止)
既然robots.txt不能動 另外一個方法就是用meta tag去宣告
根據:
http://www.google.com.tw/support/webmasters/bin/answer.py?hl=b5&answer=93710
http://www.robotstxt.org/meta.html
如果我們不想被檢索 可以在網頁中加入<meta name="robots" content="noindex"/>
可是如果blogger不允許我們在文章中加入meta
如果在文章中加入這個meta 會跳出這個錯誤訊息:
您的 HTML 不被接受: Tag is not allowed: <meta name="robots" content="noindex">
所以我們要從範本裡下手:
展開小裝置範本 尋找範本程式碼中的下面這個區段
<b:if cond='data:blog.pageType == "item"'>
<div id='post_body'>
<data:post.body/>
</div>
</b:if>
然後把下列程式碼插進去 像下面這樣
<b:if cond='data:blog.pageType == "item"'>
<div id='post_body'>
<data:post.body/>
</div>
<!--start檢查是否指定為noindex-->
<b:if cond='data:post.labels'>
<b:loop values='data:post.labels' var='label'>
<b:if cond='data:label.name == "noindex"'>
<meta name="robots" content="noindex"/>
<img src="http://jkfiledownload.googlecode.com/files/noindex.jpg" />
</b:if>
</b:loop>
</b:if>
<!--end檢查是否指定為noindex-->
</b:if>
這樣以後單篇文章 只要有加"noindex"這個標籤的
就會自動加上<meta name="robots" content="noindex"/>
並在文章最下面出現"此頁面已宣告禁止搜尋引擎索引收錄"這個圖示以供識別
範例文章:
[測試]我這個頁面不想被索引 http://blog.wahahajk.com/2009/06/blog-post.html
當然 這個方法也有要注意的地方:
第一 只防君子不防小人 只能阻檔像google這種有遵守robots.txt和meta協議的搜尋引擎 但是像百度這種流氓搜尋引擎就不能保證會遵守了
另外blogger預設的網誌內搜尋也還是找的到標為noindex的文章
第二 已經被收錄的文章 再補上這個標籤後要等下次搜尋引擎再爬到這篇文章才會從搜尋
引擎的資料庫裡移除這頁面
第三 如果這文章出現在你blog首頁 那還是會被搜尋到前幾個字(首頁有每篇文章的預覽) 解決方法就是把blog首頁也設成瀏覽器不能索引
不然就是把不想被索引的文章的發佈時間調古早一點
這樣就不會在首頁出現被搜尋引擎看到
--
宅之力
http://blog.wahahajk.com
--
blogger可以在"後台設定->基本->讓搜尋引擎來尋找您的網誌?"
設定整個blog是否要被搜尋引擎給索引
但是如果想讓整個blog可以被搜尋引擎找到
可是又有某些文章內的關鍵字不想被搜尋引擎看到
例如有些文章裡有人名 帳號 序號等等
守規矩的搜尋引擎都會遵循2個標準來決定是否要進行索引
一個是根目錄下的robots.txt 另一個是當前頁面的meta tag
但是blogger已經把robots.txt給寫死了 我們不能更改
(附註:blogger的robots.txt長這樣
User-agent: Mediapartners-Google
Disallow:
User-agent: *
Disallow: /search
可以看的出來預設robots.txt禁止索引search目錄底下的文章 其他都沒禁止)
既然robots.txt不能動 另外一個方法就是用meta tag去宣告
根據:
http://www.google.com.tw/support/webmasters/bin/answer.py?hl=b5&answer=93710
http://www.robotstxt.org/meta.html
如果我們不想被檢索 可以在網頁中加入<meta name="robots" content="noindex"/>
可是如果blogger不允許我們在文章中加入meta
如果在文章中加入這個meta 會跳出這個錯誤訊息:
您的 HTML 不被接受: Tag is not allowed: <meta name="robots" content="noindex">
所以我們要從範本裡下手:
展開小裝置範本 尋找範本程式碼中的下面這個區段
<b:if cond='data:blog.pageType == "item"'>
<div id='post_body'>
<data:post.body/>
</div>
</b:if>
然後把下列程式碼插進去 像下面這樣
<b:if cond='data:blog.pageType == "item"'>
<div id='post_body'>
<data:post.body/>
</div>
<!--start檢查是否指定為noindex-->
<b:if cond='data:post.labels'>
<b:loop values='data:post.labels' var='label'>
<b:if cond='data:label.name == "noindex"'>
<meta name="robots" content="noindex"/>
<img src="http://jkfiledownload.googlecode.com/files/noindex.jpg" />
</b:if>
</b:loop>
</b:if>
<!--end檢查是否指定為noindex-->
</b:if>
這樣以後單篇文章 只要有加"noindex"這個標籤的
就會自動加上<meta name="robots" content="noindex"/>
並在文章最下面出現"此頁面已宣告禁止搜尋引擎索引收錄"這個圖示以供識別
範例文章:
[測試]我這個頁面不想被索引 http://blog.wahahajk.com/2009/06/blog-post.html
當然 這個方法也有要注意的地方:
第一 只防君子不防小人 只能阻檔像google這種有遵守robots.txt和meta協議的搜尋引擎 但是像百度這種流氓搜尋引擎就不能保證會遵守了
另外blogger預設的網誌內搜尋也還是找的到標為noindex的文章
第二 已經被收錄的文章 再補上這個標籤後要等下次搜尋引擎再爬到這篇文章才會從搜尋
引擎的資料庫裡移除這頁面
第三 如果這文章出現在你blog首頁 那還是會被搜尋到前幾個字(首頁有每篇文章的預覽) 解決方法就是把blog首頁也設成瀏覽器不能索引
不然就是把不想被索引的文章的發佈時間調古早一點
這樣就不會在首頁出現被搜尋引擎看到
--
宅之力
http://blog.wahahajk.com
--
Tags:
部落格
All Comments
Related Posts
wordpress.com 如何改文章字型大小

By Regina
at 2009-06-06T15:22
at 2009-06-06T15:22
請教大大Blogger文章下方的「回應」(已爬文)

By Puput
at 2009-06-06T14:32
at 2009-06-06T14:32
*-無名小站-*的使用行為之調查

By George
at 2009-06-06T10:03
at 2009-06-06T10:03
天空部落格相簿問題

By Todd Johnson
at 2009-06-06T09:07
at 2009-06-06T09:07
blogger特殊模版的繼續閱讀功能

By Oscar
at 2009-06-06T05:21
at 2009-06-06T05:21