DeDecms织梦如何防采集

乐清SEO_开发应用_dedecms_ 乐清SEO2021-01-09 转载自:

DeDeCMS自身有防采集混淆字符串的功能,但这种防采集的办法对SEO很不利,你总不想让搜索蜘蛛看到网页中有不少隐藏文本吧,而且这些文本会影响蜘蛛对信息块主题的判断,影响关键词排名,其实,DeDeCMS没有根本性的防采集的方法,道高一尺魔高一丈啊,只要你的信息通过页面的方式发布出来,总能找到采集的方法;综合网上收集的信息,我采纳了两种办法,只能放置最初级的采集:

(1)办法一:复制网页正文内容时自动添加版权信息

Javascript代码

<script language=\"javascript\" type=\"text/javascript\">

<!--

document.body.oncopy = function () {

setTimeout( function () {

var text = clipboardData.getData(\"text\");

if (text) {

texttext = text + \"\\r\\n(这里是你的文章版权信息,去掉括号):\"+location.href;

clipboardData.setData(\"text\", text);

}

}, 100 )

}

-->

</script>

将以上代码放置在文章页模板中正文结束后面即可。我测试了下该方法,只针对IE浏览器有效,而Firefox、遨游、Google Chrome均无效。

(2)办法二:使页面代码具有唯一性

一般别人采集的时候都是要获取内容开始的代码和结束的代码,而且要唯一性的,所以填的开始代码大多是:<div class=\"title\">。这样,我们在这个class后面加上文章的ID值,改成这样<div class=\"title\" id=\"{dede:field.id/}\">,这里{dede:field.id/}在dedecms中是获取当前文章的ID值,那么生成的每一篇文章的ID值都不一样,这里的开始代码也就都不一样了,这样别人就采集不到了,采一次只能采一篇。

我们制作模板的时候在在body标记附近的<div class=\"abc\">修改成<div class=\"{dede:field.id/} abc\">,注意是空格+{dede:field.id/},这样div的class还是没有变,但产生了<div class=\"abc 文档ID\">,这段代码在每篇文章的内文页均是唯一性的,或者在html标记里插入id={dede:field.id/},比如:<div id={dede:field.id/}>与<body id={dede:field.id/}>,这里{dede:field.id/}在dedecms中是获取当前文章的ID值,这样别人就采集不到了,采一次只能采一篇。当然,别人可以使用过滤规则来去掉,但是假如我在所有的class里插入文档ID,或者插入id=文档ID这样的。那他就只能采集整个页面,然后再过滤,使采集变得更加复杂。

缺点:如果插入{dede:field.id/}不够多的话别人可以用过滤规则过滤掉。但是对于一些站群采集软件来说,这一招足以防止他们采集了!