POST TIME:2021-05-24 02:41
DeDeCMS自身有防采集混淆字符串的功能,但這種防采集的辦法對(duì)SEO很不利,你總不想讓搜索蜘蛛看到網(wǎng)頁(yè)中有不少隱藏文本吧,而且這些文本會(huì)影響蜘蛛對(duì)信息塊主題的判斷,影響關(guān)鍵詞排名,其實(shí),DeDeCMS沒(méi)有根本性的防采集的方法,道高一尺魔高一丈啊,只要你的信息通過(guò)頁(yè)面的方式發(fā)布出來(lái),總能找到采集的方法;綜合網(wǎng)上收集的信息,我采納了兩種辦法,只能放置最初級(jí)的采集:
(1)辦法一:復(fù)制網(wǎng)頁(yè)正文內(nèi)容時(shí)自動(dòng)添加版權(quán)信息
JavaScript代碼
|
<script language="javascript" type="text/javascript"> <!-- document.body.oncopy = function () { setTimeout( function () { var text = clipboardData.getData("text"); if (text) { texttext = text + "\r\n(這里是你的文章版權(quán)信息,去掉括號(hào)):"+location.href; clipboardData.setData("text", text); } }, 100 ) } --> </script> |
將以上代碼放置在文章頁(yè)模板中正文結(jié)束后面即可。我測(cè)試了下該方法,只針對(duì)IE瀏覽器有效,而Firefox、遨游、Google Chrome均無(wú)效。
(2)辦法二:使頁(yè)面代碼具有唯一性
一般別人采集的時(shí)候都是要獲取內(nèi)容開(kāi)始的代碼和結(jié)束的代碼,而且要唯一性的,所以填的開(kāi)始代碼大多是:<div class="title">。這樣,我們?cè)谶@個(gè)class后面加上文章的ID值,改成這樣<div class="title" id="{dede:field.id/}">,這里{dede:field.id/}在dedecms中是獲取當(dāng)前文章的ID值,那么生成的每一篇文章的ID值都不一樣,這里的開(kāi)始代碼也就都不一樣了,這樣別人就采集不到了,采一次只能采一篇。
我們制作模板的時(shí)候在在body標(biāo)記附近的<div class="abc">修改成<div class="{dede:field.id/} abc">,注意是空格+{dede:field.id/},這樣div的class還是沒(méi)有變,但產(chǎn)生了<div class="abc 文檔ID">,這段代碼在每篇文章的內(nèi)文頁(yè)均是唯一性的,或者在html標(biāo)記里插入id={dede:field.id/},比如:<div id={dede:field.id/}>與<body id={dede:field.id/}>,這里{dede:field.id/}在dedecms中是獲取當(dāng)前文章的ID值,這樣別人就采集不到了,采一次只能采一篇。當(dāng)然,別人可以使用過(guò)濾規(guī)則來(lái)去掉,但是假如我在所有的class里插入文檔ID,或者插入id=文檔ID這樣的。那他就只能采集整個(gè)頁(yè)面,然后再過(guò)濾,使采集變得更加復(fù)雜。
缺點(diǎn):如果插入{dede:field.id/}不夠多的話別人可以用過(guò)濾規(guī)則過(guò)濾掉。但是對(duì)于一些站群采集軟件來(lái)說(shuō),這一招足以防止他們采集了!
3、升級(jí)DeDeCMS至最新版
DeDeCMS舊版有漏洞,很容易被黑,要么就是嵌入各種廣告代碼,要么就是被無(wú)端增加超級(jí)多的隱藏鏈接,所以,務(wù)必要升級(jí)到最新版。
