WordPress 禁止右键和复制文本:4 种方法详解,含插件与代码教程

在动手之前,先读这段话

网上很多教程只教你「怎么禁止复制」,却没告诉你一个重要的技术事实:

前端的所有禁止复制手段,都只能防普通用户,防不了有基本技术知识的人。

以下几种方式,任何熟悉浏览器的人都能绕过你的防护:

  • 禁用 JavaScript:浏览器设置里关掉 JS,所有基于 JS 的禁止复制代码立即失效
  • 查看源代码:Ctrl + U(或右键 → 查看页面源代码),内容全部可见可复制
  • 开发者工具:F12 → Elements 面板,直接查看并复制 DOM 里的文字
  • 打印为 PDF:Ctrl + P → 保存为 PDF,文字全部可提取

所以,禁止复制的本质是提高普通用户的操作门槛,对有经验的开发者或内容抓取机器人几乎没有实质阻拦效果。

外贸站主和教程博主特别注意:

  • 外贸产品展示站:禁止右键会让部分用户无法正常保存图片、无法在新标签打开链接,影响正常使用体验,买家可能直接离开
  • 教程 / 代码类博客:如果你的文章里有代码示例,禁止复制会让读者无法复制代码去使用,直接降低文章的实用价值,读者体验极差
  • 以上两种情况,建议不要启用全站禁止复制

适合启用禁止复制的场景:

  • 报价单、产品规格 PDF 展示页(防止竞品直接截取价格)
  • 付费内容区域(配合密码保护插件使用)
  • 原创设计作品展示页

明白了这一点,再来选择方法。

方法一:安装插件(不需要动代码,新手首选)

插件1:WP Content Copy Protection & No Right Click

官方地址: https://wordpress.org/plugins/wp-content-copy-protector/

安装量: 100,000+(来源:wordpress.org) 评分: 4.8/5(来源:wp-buy.com,4.8+ million downloads) 价格: 免费版 + Pro 付费版

免费版保护范围:

WP Content Copy Protection & No Right Click 使用 JavaScript + CSS 双重技术,禁用以下常见的复制方式:

  • 鼠标右键菜单
  • 文本选中拖放
  • 图片拖放保存
  • 键盘快捷键:Ctrl+A(全选)、Ctrl+C(复制)、Ctrl+X(剪切)、Ctrl+U(查看源码)、Ctrl+S(保存)、Ctrl+P(打印)

安装和使用步骤:

WordPress 后台 → 插件 → 安装插件 → 搜索 WP Content Copy Protection

找到作者页面为 WP-buy.com 的插件,安装并启用

相关教程:WordPress 插件安装教程

wordpress-disable-right-click-copy-text-1

进入 设置 → WP Content Copy Protection

填写「警告提示文字」(用户尝试复制时显示的提示,如「内容受版权保护」)

选择保护范围(全站 / 仅文章 / 仅页面 / 排除特定页面)

点击保存

wordpress disable right click copy text 2

Pro 版新增功能

  • 右键菜单自定义(显示自定义菜单而非直接禁用)
  • 图片实时水印
  • F12 开发者工具禁用
  • 按 IP 地址白名单排除

插件2:WP Content Copy Protection with Color Design

官方地址: https://wordpress.org/plugins/wp-copy-protect-with-color-design/

最新版本: 2.4.2(兼容 WordPress 6.8) 价格: 免费版可用,F12 禁用需付费

与插件 A 的主要区别:

这款插件的特色是可以自定义「复制提示弹窗的颜色」,让弹窗样式与你的网站主题配色保持一致,视觉上更统一。同时支持对特定页面和文章排除保护(设为可正常复制),粒度控制更灵活。

wordpress disable right click copy text 4

设置路径:

安装启用插件后 → 后台 → 设置 → WP Protect Setting

可配置项:

  • Disable right mouse click:右键时是否显示提示信息(可自定义提示文字,上限 159 字符)
  • 自定义弹窗颜色
  • 排除特定页面/文章不受保护
wordpress disable right click copy text 3

方法二:CSS 代码(最轻量,仅禁止文字选中)

如果你只需要「禁止鼠标选中文字」这一个效果,不需要插件,用一段 CSS 就能实现。

操作路径:

WordPress 后台 → 外观 → 自定义(Customize)→ 额外 CSS(Additional CSS)

粘贴以下代码:

css

只保护特定区域(推荐这种精准控制方式):

如果你只想保护文章正文,不想影响导航菜单、搜索框等交互元素,可以只对文章内容区域的类名应用:

css

CSS 方法的局限:

CSS user-select: none 只是禁止了通过鼠标拖拽来选中文字,并不影响:

  • 键盘快捷键(Ctrl+A 全选后 Ctrl+C 复制)
  • 浏览器地址栏直接复制内容
  • 开发者工具查看和复制

所以,CSS 方法是这 4 种里保护强度最低的,但对性能影响也最小。

wordpress disable right click copy text 5

方法三:JavaScript 代码(同时禁止右键 + 选中 + 快捷键)

通过 JavaScript 可以实现更全面的禁止效果:同时禁止右键菜单、文字选中、图片拖动、以及常用的键盘复制快捷键。

添加方式(通过子主题 functions.php,推荐方式):

在子主题的 functions.php 文件末尾添加:

php

然后在子主题目录下新建 /js/copyright.js 文件,内容如下:

javascript

排除管理员账号(必须配置,否则自己也无法复制后台内容)

不管用哪种方法,都必须设置管理员账号排除——否则你自己登录后台也无法正常复制文字,会严重影响日常操作。

插件方式:

WP Content Copy Protection 系列插件通常在设置里有「排除管理员」选项,确保勾选「Disable for Admin」。

JavaScript 代码方式(需要配合 WordPress 条件判断):

在 functions.php 里的加载函数中加入管理员排除判断:

php

current_user_can( 'manage_options' ) 会检测当前用户是否拥有管理员权限,有权限的用户不会加载防复制脚本。

CSS 方式排除管理员:

WordPress 会给管理员登录状态下的 <body> 标签加上 .logged-in 类名,利用这个可以排除:

css

⚠️ 注意:.logged-in 对所有已登录用户生效,不仅仅是管理员。如果你允许会员注册,这个方案会让所有登录用户都能正常复制。精确排除只有管理员,需要用 PHP + JS 的方案。

方法四:排除特定页面不受保护

如果你的网站同时有「需要保护的内容页」和「需要允许复制的代码教程页」,可以对特定页面单独排除保护。

通过 WP Content Copy Protection with Color Design 插件:

进入插件设置 → 找到「排除页面」选项 → 输入不需要保护的文章 ID 或页面 ID(以逗号分隔),这些页面的访客可以正常选中和复制。

通过 WordPress 条件标签(代码方式):

在 functions.php 里加入页面判断:

php


4 种方法对比

方法保护强度技术难度排除特定页面排除管理员适合谁
插件 A(WP Copy Protection)⭐⭐⭐⭐⭐(极简)✅ 支持✅ 可配置新手,全站保护
插件 B(Color Design 版)⭐⭐⭐⭐(极简)✅ 支持✅ 可配置需要自定义弹窗样式
CSS 方法⭐⭐⭐⭐✅ 灵活⚠️ 有限制只需禁止鼠标选中
JavaScript 方法⭐⭐⭐⭐⭐⭐⭐✅ 灵活✅ 精确控制有一定技术基础

常见问题

禁止复制之后,Google 爬虫还能正常抓取网站内容吗?

能。robots.txt Disallow 才会阻止 Google 抓取,前端的 CSS 和 JavaScript 禁止复制对 Google 爬虫完全无效——Googlebot 不执行 JavaScript,直接读取 HTML 源代码,你的内容照样被正常收录。两者是完全不同层面的设置,不会互相影响。

插件启用后,自己后台也不能复制了怎么办?

进入插件设置,找到「Disable for Admin」或类似选项,勾选排除管理员。如果找不到这个设置,按本文「排除管理员」一节提供的代码方案处理。

用户用手机访问,禁止复制还有效吗?

移动端效果有限。iOS 和部分 Android 系统对 user-select: none 的响应不同,长按选中文字可能仍然有效。而且移动端用户通常没有开发者工具,所以对于普通用户还是有一定阻止效果的。

禁止复制会影响网站 SEO 吗?

不会,理由见上面第一条 FAQ。但有一个间接影响值得注意:如果用户因为无法复制产品参数/询盘邮箱而感到不便,可能会提高跳出率,而高跳出率是负面的用户行为信号。所以对于外贸站,建议只对特定内容区域启用保护,不要全站禁止。

用了防复制插件,内容还是被别人的网站直接搬运了,为什么?

如你所知,前端防护无法阻止技术手段。内容被搬运通常有两条路:① 关闭 JS 后直接复制 ② 用爬虫抓取 HTML 源码。要真正防止内容被抓取,需要结合 WAF(如 WPHOS Edge™)拦截恶意爬虫,以及在转载时通过 Google Search Console 提交原创内容以确保优先收录。

教程类外贸博客适合用禁止复制吗?

通常不建议。如果你的文章里有代码示例或命令行指令,禁止复制会让读者非常痛苦,直接降低文章的实用价值。可以考虑折中方案:对普通文本内容启用保护,但对 <pre><code> 代码块区域明确 user-select: text,允许代码被复制。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注