2009年6月6日 星期六

blogger如何設定單篇文章不被搜尋引擎索引收錄

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 == &quot;item&quot;'>
 <div id='post_body'>
    <data:post.body/>
 </div>
</b:if>
然後把粗體程式碼插進去 像下面這樣
<b:if cond='data:blog.pageType == &quot;item&quot;'>
 <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 == &quot;noindex&quot;'>
        <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"/>
並在文章最下面出現"此頁面已宣告禁止搜尋引擎索引收錄"這個圖示以供識別
範例文章: [測試]我這個頁面不想被索引


當然 這個方法也有要注意的地方:

第一 只防君子不防小人 只能阻檔像google這種有遵守robots.txtmeta協議的搜尋引擎 但是像百度這種流氓搜尋引擎就不能保證會遵守了 另外blogger預設的網誌內搜尋還是找的到喔

第二 已經被收錄的文章 再補上這個標籤後要等下次搜尋引擎再爬到這篇文章才會從搜尋引擎的資料庫裡移除這頁面

第三 如果這文章出現在你blog首頁 那還是會被搜尋到前幾個字 (首頁有每篇文章的預覽) 解決方法就是把blog首頁也設成瀏覽器不能索引 不然就是把不想被索引的文章的發佈時間調古早一點 這樣就不會在首頁出現被搜尋引擎看到

12 意見:

張貼留言
匿名 提到...

您好,
請問像是無名
痞克邦
也可以在CSS加入此語法
讓整個部落格的東西都蒐尋不到嗎?(在blog開啟的狀態)

宅之力 提到...

可以阿
前提是你的系統要能讓你加入此語法
不是每個部落格系統商都允許使用者更改頁面的meta data
如果不行就要自己想辦法繞過限制

匿名 提到...

我想問一下,
Google 本身的部落格
在設定中有
讓搜尋引擎來尋找您的網誌?

若您選取 [是],則會將您的網誌包含於「Google 網誌搜尋」中,並連線偵測 Weblogs.com。 若您選取 [否],則任何人皆可檢視您的網誌,但將不會指示搜尋引擎對其進行檢索。

那請問別的部落格也可以去Weblogs.com設定,然後成功的讓其他人搜尋不到blog嗎?

請問我問的問題是正確的嗎?
請問blogspot它本身這項功能是怎麼辦到的?

因為我有無名的blog想這樣用,

宅之力 提到...

我想你誤會它字面上的意思了~
搜尋引擎是搜尋引擎
Weblogs.com是另外的獨立一個站 專門收集各blog連結然後輪播給其他有興趣的使用者看的

搜尋引擎會不會索引到你的頁面完全是看:
1.robots.txt
2.你頁面中有沒有禁止搜尋引擎索引的metadata


跟Weblogs.com完全沒有關係!

你貼的blogger後台它那個選項的精確意思是"如果你選擇要讓搜尋引擎索引 我們就幫你把robots.txt都設定成allow爬蟲進來索引[並且]通知Weblogs.com收錄你現在這個blog給其他使用者看"
換句話說就是
"如果你選擇不要讓搜尋引擎索引 我們就幫你把robots.txt給設定成不讓搜尋引擎爬蟲進來[並且]通知Weblogs.com不要登錄你現在這個blog"

回到你本來的問題 你的無名blog若想設成不讓搜尋引擎索引 應該要看後台有沒有地方讓你設定robots.txt的內容或是有沒有辦法在個別文章裡加入本文所提到的noindex的metadata標籤

匿名 提到...

瞭解了!
無名或其他種類的部落格應該只能在
個別的玟張加入你所謂的個別文章裡加入本文所提到的noindex的metadata標籤,

我試試看吧!
可是這樣標籤不就會顯是在文章裡面,
請問那約要過幾天才會生效?(不被找到)

宅之力 提到...

1.metadata是藏在html裡的標籤語法
應該只有在檢視html原始碼那裡才看的到
如果出現在頁面上代表你用錯了

2.更新速度依據不同搜尋引擎和你所用的不同blog平台有關係 像我現在用的blogger和google是同一家 所以語法一加下去不到一天就會升效了 (po新文章也是 一po出去別人用google馬上搜尋的到)

匿名 提到...

謝謝!
那請問無名或其他部落格有其他的寫法嗎?
因為她們都是CSS不是Html,
還是這只有blogspot才有的福利.

宅之力 提到...

這我就不知道了
很少用無名
剛剛試了一下如果直接在文章裡打meta tag的話 文章貼出去後還是會被濾掉 沒有作用
因此只能從css下手
目前可能的方向是
之前有在網路上看到透過css引入javascript的方法 不知道可不可以突破無名的限制
你應該要朝這方面試看看 等我有空也一起來研究看看

匿名 提到...

有空也請研究痞克邦,
無名和他是一樣的CSS嗎?
很像不一樣,
因為痞克邦的CSS裡面任選
有痞克邦,無名,樂多三種不同CSS版面的選擇。
沒有空的話就不要管他了!
謝謝你。

奇 異果。 提到...

您好,為什麼我的網誌無法在搜尋引擎找到呢?我是使用Blogger

匿名 提到...

您好
為什麼我在小裝置範本裡找不到那個區段?

匿名 提到...

想問一下 如果之前既發佈過既文章 有沒有方法可以不被搜尋?