使用WordPress建站的朋友都知道,如果你在撰寫文章時添加了另一篇WordPress文章的鏈接,那么發(fā)布文章后就會向那篇被鏈接的文章發(fā)送一條Pingback引用通告,這對于兩個WordPress站點(diǎn)的互動和交流還是很有好處的。但是WordPress默認(rèn)也會向站內(nèi)鏈接發(fā)送Pingback引用通告,如果自己站內(nèi)的某篇文章被多次鏈接,那么那篇文章收到的Pingback引用通告就會很多。
有圖有真相,下面你可以看一下三好公民自己站內(nèi)的某篇文章收到的Pingback引用通告數(shù)量,很恐怖哦!如圖:

而對于站內(nèi)文章來說,獲得這么多的Pingback引用通告不但無益,還有一定的害處,例如導(dǎo)致數(shù)據(jù)庫龐大、不利于SEO等。所以,我們最好是禁止WordPress向站內(nèi)鏈接發(fā)送PingBack引用通告,而對于站外鏈接則照發(fā)不誤。實(shí)現(xiàn)方法如下:
在當(dāng)前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' );
其實(shí)以上代碼就是提取自 No Self Pings 插件,沒必要因?yàn)檫@個需求再專門安裝個插件。
另外,如果你要刪除之前已經(jīng)產(chǎn)生的Pingback,則可以在數(shù)據(jù)庫中運(yùn)行如下命令:
UPDATE wp_posts SET ping_status='closed';
注意修改上面的 wp_posts 的前綴 wp_ 為你的數(shù)據(jù)庫表前綴哦!
但是這個命令也會把所有的來自站外的Pingback引用通告也刪除掉,所以也在這里求一條能夠只刪除來自站內(nèi)的Pingback引用通告的命令,希望知道的朋友能夠在評論中分享一下,非常感謝!






看文章腦子還清醒著。一看評論就暈了的。那個functions的代碼添加了只是組織站內(nèi)pingback么?不會有別的影響吧。
狂踩,這分明是不會使用wordpress,既然是添加站內(nèi)鏈接,那就是鏈接不是超鏈接,要去網(wǎng)站域名,就是添加本地鏈接那樣。例如文章地址 http://icngame.com/20150301/824.html 在文章插入鏈接的時候直接寫成/20150301/824.html 這才是內(nèi)部鏈接的格式。 加上域名就是外部鏈接
請問,你的意思是添加站內(nèi)鏈接的時候不帶域名就不會向站內(nèi)鏈接文章發(fā)送Pingback引用通告了嗎?
你說的帶不帶網(wǎng)站域名的鏈接其實(shí)應(yīng)該是相對鏈接和絕對鏈接的區(qū)別,在同樣鏈接站內(nèi)頁面時,二者的效果應(yīng)該是沒有區(qū)別的。
加域名的鏈接也是有其他原因的考量的,這也算不得會不會使用wordpress吧,這是在分享一個好方法,因?yàn)閷?shí)際使用過程中,不可能每次鏈接都用內(nèi)部鏈接的,比如編輯文章時加入鏈接可以選擇“鏈接到站點(diǎn)中的內(nèi)容”,默認(rèn)的地址就都是完整的地址。
我用UPDATE wp_posts SET ping_status=’closed’; 刪除了網(wǎng)站通告后現(xiàn)在發(fā)布文章說是“鏈接丟失”