ping送信(ピンバック)機能の改善

WordPressには、ping送信という機能があり記事を投稿した時に登録した更新情報サービスと記事中に含まれるリンク先へ通知を送ることが出来るようになっています。
但し、記事を公開した時だけにping送信が行われるわけでなく、修正更新した時にもping送信を繰り返してしまったり、自サイト内の内部リンクにもping送信を行なってしまうという問題があるということです。

WordPressの入門記事などでは、WordPressのディスカッション設定にある「この投稿に含まれる全てのリンクへの通知を試みる」の設定を、最初は OFF にすることを勧めていたりしますが、ONに設定するならば、この辺の問題を対策してくれるプラグインがあるということなので、プラグインを導入することをお勧めします。

導入したプラグイン

  • No SelfPings
  • WordPress Ping Optimizer

どちらのプラグインも管理画面の新規追加から検索してインストールすることが出来ます

No SelfPings

内部リンクへのping送信を行わないようにするプラグインで、オプション設定等はなく、有効にするだけで機能します

プラグインのコードをみてみると、非常にシンプルなコードなので動作がイメージ出来ます。

<?php
/*
Plugin Name: No Self Pings
Plugin URI: http://blogwaffe.com/2006/10/04/421/
Description: Keeps WordPress from sending pings to your own site.
Version: 0.2
Author: Michael D. Adams
Author URI: http://blogwaffe.com/

License: GPL2 - http://www.gnu.org/licenses/gpl.txt
*/

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' );
?>

pingを送信する前にリンクの配列と自サイトのURLを文字列を部分比較して先頭位置から一致していれば内部リンクなので、それをリンク配列から取り除いています。

WordPress Ping Optimizer

ping送信を管理しており、記事を公開時にping送信を行った後は、記事の修正、更新に対しては、ping送信を行わないようにするプラグインです

また、ping送信のログを簡単に見ることが出来ます

ping送信を管理するプラグインとして cbnet Ping Optimizer というのが定番であったようですが、WordPress3.5 以降をサポートしなくなったようで、同等の機能をもった WordPress Ping Optimizer というプラグインを導入しました。

このプラグインでも cbnet Ping Optimizer と同様に WordPress上の設定画面からping送信ログを確認出来ます

clip_image001

実験したところ、編集時には送られないようになったことを確認出来ました

但し、ログには、通知サービスへの状態が現れますが、記事内でリンクしたサイトが現れません。(送信はされているようです)

また、ログを見ると登録した通知サービスで blog.goo.ne.jp/XMLRPC, ping/bloggers.jp/rpc は、エラーとなっていたので更新情報サービスの通知リストから除外しました。

clip_image002

これらのping送信の管理機能は、標準状態でサポートしてほしい機能でありますが、現在はまだ、プラグインにより対応することが必要です。

WordPressのバージョンアップで将来的にサポートされていくようではありますが、しばらくは、このプラグインを導入して運用しようと思います。

関連コンテンツ


まとめ記事紹介

search star user home refresh tag chevron-left chevron-right exclamation-triangle calendar comment folder thumb-tack navicon angle-double-up angle-double-down angle-up angle-down quote-left googleplus facebook instagram twitter rss