從零開始

WordPress 防止垃圾评论:彻底关闭 WordPress Pingback 和 Trackback

TrackBack 可以让网站文章作者知道自己的文章的读者中有哪些人撰写哪些与之有关的文章,Movable Type 和 WordPress 包含该功能。TrackBack 功能一般出现在网站文章下方(评论区域),同时会显示对方文章摘要信息、URL 和文章标题。

「WordPress 防止垃圾评论:彻底关闭 WordPress Pingback 和 Trackback:https://ostarted.com/9」

WordPress Pingback 和 Trackback 机制

简单来说,就是老头这里有一篇文章写得虽然很差劲,但是很多人在 WordPress 博客介绍类似话题一样,都引用了老头这篇文章,这些引用老头文章的博客文章,会通过 Trackback 协议通知到老头这篇文章。

老头这篇文章收到 Trackback 后,就会在文章的评论区展示这些引用,这样可以向读者展示老头这篇文章虽然很差劲,但仍然很受欢迎,收到了很多引用。

「WordPress 防止垃圾评论:彻底关闭 WordPress Pingback 和 Trackback:https://ostarted.com/9」

所以 Trackback 其实就是 WordPress 网站之间一种通讯机制协议,可以看到谁链接了你的网站、文章。另外 WordPress 还引入了 Pingback 机制加强 Trackback 功能,WordPress 网站用户不必输入 Trackback 地址就能实现 Trackback 通知,方便实用。

WordPress Trackback 被 Spammer 滥用

WordPress Trackback 协议看起来非常美好,但这也是 Spammer 发送垃圾链接的绝佳入口,可能带来很多辣鸡链接。实际上 Trackback 对 WordPress 网站主来说其实没有什么作用,还可能产生一些到垃圾网站的链接,与其被 Spammer 滥用,防不胜防,还不如彻底关闭 WordPress Trackback 功能。

如何彻底关闭 WordPress Pingback 和 Trackback

WordPress 关闭 Trackbacks 功能,首先到 WordPress 后台,「设置」>「讨论」,把「允许其他博客发送链接通知(Pingback 和 Trackback)到新文章」这一项取消打钩。「尝试通知文章中链接的博客」这一项也可以关掉。

「WordPress 防止垃圾评论:彻底关闭 WordPress Pingback 和 Trackback:https://ostarted.com/9」

不过 WordPress 每篇文章是否接受 Trackbacks 是单独设置的,如果需要把旧文章 Trackbacks 也全部关闭,需要数据库中执行下面这条 SQL 命令:

UPDATE `wp_posts` SET ping_status="closed";

温馨提示:操作数据库有风险,修改前请先备份!另外数据表前缀若不是 wp_,请根据实际修改。

「WordPress 防止垃圾评论:彻底关闭 WordPress Pingback 和 Trackback:https://ostarted.com/9」

还可以在 WordPress 当前使用主题的 functions.php 文件加入下面代码,使 Trackback 功能彻底失效:

//WordPress 彻底关闭 pingback
add_filter('xmlrpc_methods',function($methods){
$methods['pingback.ping'] = '__return_false';
$methods['pingback.extensions.getPingbacks'] = '__return_false';
return $methods;
});
//WordPress 禁用 pingbacks, enclosures, trackbacks
remove_action( 'do_pings', 'do_all_pings', 10 );
//去掉 _encloseme 和 do_ping 操作
remove_action( 'publish_post','_publish_post_hook',5 );

退出移动版