使用 WordPress 建站的朋友都知道,如果你在撰寫文章時添加了另一篇 WordPress 文章的鏈接,那麼發佈文章後就會向那篇被鏈接的文章發送一條 Pingback 引用通告,這對於兩個 WordPress 站點的互動和交流還是很有好處的。
但是 WordPress 默認也會向站內鏈接發送 Pingback 引用通告,如果自己站內的某篇文章被多次鏈接,那麼那篇文章收到的 Pingback 引用通告就會很多。
而對於站內文章來説,獲得這麼多的 Pingback 引用通告不但無益,還有一定的害處,例如導致數據庫龐大、不利於 SEO 等。所以,我們最好是禁止 WordPress 向站內鏈接發送 PingBack 引用通告,而對於站外鏈接則照發不誤。實現方法如下:
在當前 WordPress 主題的 functions.php 中添加如下代碼:
function no_self_ping( &$links ) { $home = get_option( 'home' ); foreach ( $links as $l => $link ) if ( 0 === strpos( $link, $home ) ) unset($links[$l]); } add_action( 'pre_ping', 'no_self_ping' );
其實以上代碼就是提取自 No Self Pings 插件,沒必要因為這個需求再專門安裝個插件。
另外,如果你要刪除之前已經產生的 Pingback,則可以在數據庫中運行如下命令:
UPDATE wp_posts SET ping_status='closed';
注意修改上面的 wp_posts 的前綴 wp_ 為你的數據庫表前綴哦!
但是這個命令也會把所有的來自站外的 Pingback 引用通告也刪除掉,所以也在這裏求一條能夠只刪除來自站內的 Pingback 引用通告的命令,希望知道的朋友能夠在評論中分享一下,非常感謝!