当前位置: 首页 > news >正文

织梦dedecms教程简单实现防采集最有效的2个方法

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

一个简单方法来防止别人的采集,下面是具体方法:

拿默认模板来说,一般文章内容的代码是这样的:

标题

信息

文章内容

一般别人采集的时候都是要获取内容开始的代码和结束的代码,而且要唯一性的,所以填的开始代码大多是:

这样,如果我们在这个class后面加上文章的ID值,改成这样,这里{field.id/}在DEDE中是获取当前文章的ID值,那么生成的每一篇文章的ID值都不一样, 这里的开始代码也就都不一样了,这样就可以简单的防止别人采集了,一次只能采集一篇,还不如不采。

(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/}不够多的话别人可以用过滤规则过滤掉。但是对于一些站群采集软件来说,这一招足以防止他们采集了!

3、升级DeDeCMS至最新版

DeDeCMS旧版有漏洞,很容易被黑,要么就是嵌入各种广告代码,要么就是被无端增加超级多的隐藏链接,所以,务必要升级到最新版。

转载于:https://www.cnblogs.com/qingpingseo/p/9445041.html

相关文章:

  • mysql清空表数据后如何让自增ID仍从1开始
  • 一、开发基础(4)
  • Vue学习笔记之Webpack介绍
  • 第一次python词云尝试
  • 论优越感
  • 【院校巡礼】em兰州大学/em - 叁研良语的文章 - 知乎
  • μC/OS-III 概述
  • centos6.5使用yum安装redis 设置开机启动
  • 初识设计模式(建造者模式)
  • 支付系统整体架构
  • Sketch 介绍
  • 简单的自创线程池
  • python网络编程三次握手和四次挥手
  • javascript基础知识(4) 字符串
  • C语言讨论象棋将帅问题,代码短又美!
  • 「译」Node.js Streams 基础
  • Effective Java 笔记(一)
  • IDEA 插件开发入门教程
  • Java 实战开发之spring、logback配置及chrome开发神器(六)
  • RxJS: 简单入门
  • vue-router的history模式发布配置
  • 阿里云购买磁盘后挂载
  • 不上全站https的网站你们就等着被恶心死吧
  • 干货 | 以太坊Mist负责人教你建立无服务器应用
  • 基于游标的分页接口实现
  • 普通函数和构造函数的区别
  • 浅谈Kotlin实战篇之自定义View图片圆角简单应用(一)
  • 实习面试笔记
  • 使用 @font-face
  • 使用Gradle第一次构建Java程序
  • 移动端解决方案学习记录
  • 关于Android全面屏虚拟导航栏的适配总结
  • ​MySQL主从复制一致性检测
  • #HarmonyOS:Web组件的使用
  • #中国IT界的第一本漂流日记 传递IT正能量# 【分享得“IT漂友”勋章】
  • $Django python中使用redis, django中使用(封装了),redis开启事务(管道)
  • (¥1011)-(一千零一拾一元整)输出
  • (32位汇编 五)mov/add/sub/and/or/xor/not
  • (70min)字节暑假实习二面(已挂)
  • (env: Windows,mp,1.06.2308310; lib: 3.2.4) uniapp微信小程序
  • (floyd+补集) poj 3275
  • (TOJ2804)Even? Odd?
  • (八十八)VFL语言初步 - 实现布局
  • (仿QQ聊天消息列表加载)wp7 listbox 列表项逐一加载的一种实现方式,以及加入渐显动画...
  • (机器学习-深度学习快速入门)第一章第一节:Python环境和数据分析
  • (一)ClickHouse 中的 `MaterializedMySQL` 数据库引擎的使用方法、设置、特性和限制。
  • (原创)boost.property_tree解析xml的帮助类以及中文解析问题的解决
  • (转载)Google Chrome调试JS
  • (轉貼) VS2005 快捷键 (初級) (.NET) (Visual Studio)
  • .NET “底层”异步编程模式——异步编程模型(Asynchronous Programming Model,APM)...
  • .NET Entity FrameWork 总结 ,在项目中用处个人感觉不大。适合初级用用,不涉及到与数据库通信。
  • .net 程序发生了一个不可捕获的异常
  • .Net各种迷惑命名解释
  • .NET开源全面方便的第三方登录组件集合 - MrHuo.OAuth
  • [Android]Tool-Systrace