nginx伪静态规则阻止WordPress垃圾评论(附:如何wordpress如何实现nginx伪静态)

文 / @UTHEME

之前博客一直收到很多来自国外IP的垃圾英文广告评论,每天都要有十几二十条,
就是用 Akismet 反垃圾评论 也挡不住
最后分析访问日志发现是通过了 wp-comments-post.php 这个post提交的垃圾评论,好在lolimeow主题使用了ajax无刷新
方式发布的评论,评论不是调用这个WordPress默认的,所以索性直接把这个文件屏蔽了访问,在nginx下设置规则,访问
返回403禁止访问,从此WordPress再也没有垃圾评论了,连Akismet 反垃圾评论插件都不需要装了

PS:此段设置针对lolimeow主题是有效,如果别的主题评论是调用默认的文档,那会导致用户也不能正常发评论

Nginx 规则设置

如果你用的是宝塔面板,直接在网站的伪静态内添加下面这段规则即可

  1. location ^~ /wp-comments-post.php{
  2. deny all;
  3. }

额外的建议规则一起配置

同时建议把xmlrpc.php也禁止掉,正常我们不需要post发布文章之类的,都是直接博客后台编辑发布文章,所以这个接口也可以直接
403禁止访问掉

  1. location ^~ /xmlrpc.php{
  2. deny all;
  3. }

还有一个json接口会暴露用户信息,一般不需要调用到,也建议一起屏蔽访问,防止信息泄露

  1. location ^~ /wp-json/wp/v2/users/ {
  2. deny all;
  3. }

这是添加的自定义文字内容

wordpress如何实现nginx伪静态

在使用 nginx 作为服务器时,您可以使用伪静态功能来优化网站的性能并提高搜索引擎的排名。

要在 WordPress 中实现 nginx 伪静态,请执行以下操作:

  1. 确保您已安装并启动了 nginx 服务器。
  2. 编辑 nginx 配置文件,通常位于 /etc/nginx/nginx.conf。
  3. 在配置文件中找到与您的网站相关的块,并添加以下内容:
location / {
try_files $uri $uri/ /index.php?$args;
}
  1. 保存并重新加载 nginx 配置:
sudo nginx -s reload

这将启用伪静态功能,并使您的网站使用静态 URL。

注意:如果您的网站使用 SSL(即 HTTPS),则需要在配置文件中的相应块中添加以上内容。

添加UTHEME为好友
扫码添加UTHEME微信为好友
· 分享WordPress相关技术文章,主题上新与优惠动态早知道。
· 微信端最大WordPress社群,限时免费入群。