相信很多SEO优化人员都有这样的体会:辛辛苦苦写下的原创文章,别人不打任何招呼,甚至不需要1分钟的时间就将文章复制粘贴走了,更气人的是转走的文章排名甚至比我原创的还要高。因此,SEOer想了很多办法来禁止网页被别人复制粘贴,但是效果都不佳。老司机来教你一个绝招:网页禁止复制粘贴+禁止右键+禁止F12。

一、基础防复制方式:通过js 禁止鼠标右键、禁止鼠标选中文字、禁止快捷键ctrl+u、禁止F12键操作步骤
Step 1. 复制下面的JS代码,然后命名为nocopy.js
var arr = [123, 17, 18];
document.oncontextmenu = new Function("event.returnValue=false;"); //禁用右键
document.onselectstart = new Function("event.returnValue=false;"); //禁用选中
//禁止 ctrl+u
window.onkeydown = function(e) {
var keyCode = e.keyCode || e.which || e.charCode;
var ctrlKey = e.ctrlKey || e.metaKey;
console.log(keyCode + "--" + keyCode);
if (ctrlKey && keyCode == 85) {
console.log("禁止ctrl+u");
e.preventDefault();
}
if (arr.indexOf(keyCode) > -1) {
console.log("其他");
e.preventDefault();
}
}
//屏蔽F12
document.onkeydown = function() {
if (window.event && window.event.keyCode == 123) {
event.keyCode = 0;
event.returnValue = false;
return false;
}
}其中,keyCode已经从 Web 标准中删除,虽然一些浏览器目前仍然支持它,但也许会在未来的某个时间停止支持,请尽量不要使用该特性。
document.oncontextmenu = new Function("event.returnValue=false;"); //禁用右键
document.onselectstart = new Function("event.returnValue=false;"); //禁用选中
//禁止 ctrl+u
window.onkeydown = function(e) {
var ctrlKey = e.ctrlKey || e.metaKey;
if (ctrlKey) {
e.preventDefault();
}
}
//屏蔽F12
document.onkeydown = function() {
if (window.event) {
event.returnValue = false;
return false;
}
}Step 2. 将nocopy.js放置在网站的根目录下
Step 3. 调用这个JS文件
在整个网站的head标签中,加入下面一行代码:
<script type="text/javascript" src="/nocopy.js" ></script>
二. 哪些情况下适用网页禁止复制粘贴,禁止右键,禁止F12
为了防止复制粘贴,很多SEO优化人员也是选择了“一刀切”,将整个网站禁止复制粘贴,禁止右键,禁止F12。这种方法是否可取呢?
如果我们的网站内容是在帮助用户解决问题,用户恰好需要复制网站上的内容来解决他的问题,禁止复制粘贴的这种体验就非常糟糕,很有可能会导致大量的用户流量丢失,甚至用户再也不想来访网站。
如果我们的网站内容主要仅供用户浏览或阅读,不涉及到任何的技术或代码,发布的内容都是原创,不希望竞争对手使用,这时候使用禁止复制粘贴,禁止右键,禁止F12是完全OK的。
如果我们的网站内容有一部分是展示公司产品;还有一部分是介绍产品的相关文章,只需要用户浏览了解即可,这时候仅需要对介绍产品的相关文章加上禁止复制粘贴等代码即可。
因此,不同的情况需要我们灵活去处理。当然,不可否认的是网页禁止复制粘贴,禁止右键,禁止F12对于保护网站内容还是有一定的作用的。但不管怎样,用户体验这一环节不容忽视!只有站在用户的角度去思考问题,网站才会获得源源不断的流量。
标签: JS




还木有评论哦,快来抢沙发吧~