由于WordPress广受欢迎,它是世界各地垃圾邮件发送者的热门目标。他们可能只是试图利用您的网站并获得访问权限。或者,他们可能想向您的社区发送垃圾邮件,例如用垃圾邮件主题填满您的论坛。
如果您允许在您的WordPress网站上公开注册,您几乎肯定会遇到某种形式的垃圾邮件注册问题。
在这篇文章中,您将学习如何使用内置的WordPress功能和免费插件来减少垃圾邮件注册。
- 默认的WordPress注册过程
- 如何拦截WordPress注册垃圾邮件
默认的WordPress注册过程
在我们讨论策略之前,让我们简要讨论一下默认的WordPress注册过程。
如果您允许在您的站点上公开注册,默认的WordPress注册页面位于https://yoursite.com/wp-login.php?action=register:
默认的WordPress注册表单
如您所见,没有太多可以阻止恶意行为者或机器人创建垃圾邮件注册。
机器人可以通过将相同的公式附加到每个WordPress域直接进入您的注册页面,并且没有什么可以阻止它们填写表单字段。
如何拦截WordPress注册垃圾邮件
您可以使用多种不同的策略来拦截WordPress注册垃圾邮件。根据您网站的需求和问题的严重程度,您可能只需要实施其中一种策略,或者您可能需要尝试多种策略来阻止垃圾邮件。
以下是完整的策略列表:
- 完全禁用WordPress注册
- 将验证码添加到您的注册表单
- 使用专用的WordPress注册垃圾邮件插件
- 新用户需要管理员批准
- 拦截恶意IP地址
- 更改WordPress注册URL
- 使用自定义WordPress注册表单插件
完全禁用WordPress注册
首先,如果您不需要在您的WordPress网站上公开注册,最好完全禁用注册,而不是试图打击垃圾邮件注册。
即使您需要在您的站点上提供其他用户帐户,这并不一定意味着您需要启用公共注册。例如,如果您只需要少数人拥有自己的帐户,您可以手动为他们创建帐户,而不是让他们自己注册。
要完全禁用WordPress上的用户注册,请转到设置 → 常规并确保未选中任何人都可以注册框:
如何禁用WordPress注册
禁用注册后,任何尝试访问您的默认注册页面的人都会看到以下消息:
禁用注册示例
将验证码添加到您的注册表单
抵御用户注册垃圾邮件的另一种方法是在默认的WordPress注册表单中添加验证码。
您可以使用多种类型的CAPTCHA,但大多数人认为Google的reCAPTCHA服务是对用户最友好的一种(也称为No CAPTCHA reCAPTCHA)。它旨在对大多数合法的人类访问者不可见,同时仍向其确定可能是机器人的访问者显示验证码测试。
要将NoCAPTCHA reCAPTCHA添加到您的WordPress注册表单,您可以使用免费的Advanced noCaptcha & invisible Captcha (v2 & v3)插件。
要设置插件,您首先需要从Google生成一个免费的reCAPTCHA API密钥——只需输入您的网站并选择要使用的reCAPTCHA类型:
生成reCAPTCHA API密钥
然后,您可以进入设置 → Advanced noCaptcha & invisible captcha来设置插件:
- 选择版本(确保它与您在创建API密钥时选择的版本相匹配)。
- 添加您的站点密钥和秘密密钥(在您提交上一个屏幕截图中的表单后,Google会为您提供这些)。
- 选择在哪里启用您的验证码。除了您的注册表单之外,您还可以为您网站的其他部分启用它,例如您的登录表单。
如何设置WordPress reCAPTCHA
保存更改后,您应该会在注册页面上看到您的CAPTCHA表单(除非您选择了不可见的方法,在这种情况下,它只会对可疑的机器人可见):
默认注册表单上的reCAPTCHA示例
使用专用的WordPress注册垃圾邮件插件
一些通用的WordPress反垃圾邮件插件可以帮助拦截WordPress注册垃圾邮件,以及其他区域的垃圾邮件,例如您的评论部分或表单提交。
不幸的是,来自Automattic的流行Akismet评论垃圾邮件插件不适用于注册垃圾邮件,但其他一些阻止注册垃圾邮件的流行选项包括:
- Stop Spammers
- CleanTalk
- WPBruiser
- WordPress Zero Spam
同样,这些插件不仅限于注册垃圾邮件,但它们确实可以帮助您阻止垃圾邮件注册,作为其一般反垃圾邮件工作的一部分。
新用户需要管理员批准
如果除了垃圾邮件帐户本身之外,您还担心人们在注册后会做什么,另一个好的策略是要求管理员批准新用户。
例如,如果您担心有人向您的bbPress论坛或BuddyPress社区发送垃圾邮件,则要求管理员批准可以避免这种情况。
这是与CAPTCHA或其他策略结合使用的好方法:CAPTCHA将过滤掉低级别的自动垃圾邮件,您可以使用手动批准来捕获其他所有内容。
但是,如果您有大量垃圾邮件注册并尝试自行实施此策略,您可能会发现自己在尝试对所有注册进行分类时不知所措。
要要求新用户获得管理员批准,您可以使用免费的WP Approve User插件。
安装并激活插件后,它会立即开始工作。您现有的所有用户都将获得批准(以避免出现问题)。
但是,新用户需要手动批准,您可以从WordPress仪表盘中的现有用户区域执行此操作:
使用WP Approve User插件批准用户
您还可以选择在以下情况下发送和自定义电子邮件:
- 得到正式认可的
- 未获批准
您可以通过访问Settings → Approve User启用这些电子邮件并自定义其内容。
拦截恶意IP地址
如果您的大部分注册垃圾邮件来自相同的IP地址,您可以通过首先拦截这些IP地址访问您的站点来减少问题。
如果您使用宝塔管理服务器,你可以通过宝塔面板后台“安全”,来添加屏蔽IP地址:
如何使用宝塔面板拦截IP地址
大多数cPanel主机还应该为您提供IP拦截工具。
更改WordPress注册URL
如果您想在注册页面中添加一些“隐蔽安全”并减少低级机器人流量,您可以将注册页面的URL更改为所有WordPress站点使用的默认值。
注册页面实际上是WordPress登录页面的一部分,因此您可以使用任何允许您更改WordPress登录URL的插件来完成此操作。
一个不错的选择是WPS Hide Login。
安装插件后,转到设置 → WPS Hide Login以输入您的新URL。您还可以将默认URL重定向到另一个页面,例如您的404页面:
如何更改WordPress注册URL
例如,如果您将登录URL更改为yoursite.com/sneakylogin,则默认注册页面将不再起作用。您的新注册页面将是yoursite.com/sneakylogin/?action=register。
使用自定义WordPress注册表单插件
拦截WordPress注册垃圾邮件的另一个不错的选择是使用custom WordPress registration form插件。
这些插件可以让您绕过正常的 WordPress 注册过程,还可以实现一些有用的反垃圾邮件策略,例如:
- 自定义注册URL – 将您的注册URL更改为远离默认值可以减少一些低级别的垃圾邮件,尽管它本身不太可能阻止用户注册垃圾邮件。
- 电子邮件确认– 这通过要求新用户确认他们的电子邮件来防止垃圾邮件用户使用虚假电子邮件。如果用户没有确认他们的电子邮件,插件将自动放弃该注册。
- 新用户的管理员批准——这些插件通常可以帮助您从上面实现管理员批准功能。
- 垃圾邮件预防——这些插件还可以帮助您将验证码或蜜罐字段添加到您的自定义注册表单中。
许多通用的WordPress表单插件还包括创建具有反垃圾邮件功能的自定义注册表单的能力。但是,这里的缺点是您通常只能在高级版本中获得注册功能。如果您愿意付款,一些不错的选择是:
- Gravity Forms插件的User Registration扩展
- Formidable Forms的User Registration扩展
让我们仔细看看如何使用User Registration和Profile Builder插件提供的两个免费解决方案。
1. 用户注册
当您安装免费的用户注册插件时,它会给您一个选项来自动创建位于yoursite.com/registration的自定义注册页面(您可以随时更改此 URL)。
在注册过程中,您还有其他一些减少垃圾邮件的选项。
首先,在插件设置的常规选项卡中,您可以使用用户登录选项下拉菜单在用户注册后要求管理员批准:
在用户注册插件中启用管理员批准
您还可以转到“Integration”选项卡来设置Google reCaptcha(您需要您的API密钥——您可以按照本文前面的相同步骤进行操作):
在用户注册插件中启用reCAPTCHA
要在特定注册表单上启用CAPTCHA,您还需要编辑该表单并在其中启用它。编辑表单时,您还可以根据需要添加其他配置文件信息字段。
2.配置文件生成器
免费的Profile Builder插件遵循相同的基本方法。
要自定义您的注册表单字段,您可以转到Profile Builder → Form Fields。要将CAPTCHA添加到您的表单中,您可以包含一个reCAPTCHA字段,您需要在其中添加您的API密钥:
在Profile Builder插件中添加CAPTCHA字段
然后,要显示您的自定义注册表单,您可以在您网站的任何位置添加[wppb-register] 短代码。
Profile Builder还包括一项要求管理员批准新注册的功能,但它仅在高级版本中可用。
小结
如果您需要在您的WordPress网站上允许公开注册,注册垃圾邮件可能是一个令人沮丧的问题。您可以结合不同的策略减少甚至完全消除注册垃圾邮件。
最简单、最轻量的选项是将NoCAPTCHA reCAPTCHA添加到默认的WordPress注册表单中。大多数人类访问者不会注意到任何不同,但谷歌会向机器人显示验证码测试,以防止它们注册垃圾邮件。
如果您想要彻底检修,您还可以使用专用的WordPress注册插件来创建自定义注册表单,其中包括其自己的反垃圾邮件属性,以及新用户的管理员批准等功能。