作者MRjk (QOO)
看板Blog
标题[讨论] blogger设定单篇文章不被搜寻引擎索引
时间Sat Jun 6 22:58:17 2009
网志图文 :
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
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 218.165.86.136
※ 编辑: MRjk 来自: 218.165.86.136 (06/06 22:59)