タグ別アーカイブ: DNS

WordPress でping/トラックバックを送信できない

サーバーの移転以来、トラックバックができていないようだと思いながらも、あまり記事を書いていなかったので確信を持てずにいました。思い当たる設定をいくつか直してみたのですが、やはり出ていっていませんでした。

検索してみると実にたくさん引っかかりましたが、どうやら

  1. wp-include/cron.php の wp_remote_post() の設定時間を長くする
  2. Smart Update Pinger プラグインを使う1)
  3. /etc/hosts の 127.0.0.1 にホスト名を加える

の 3 つの解決策に分類されるようです。

まず (1) をやってみましたが、ここでは何も起きず、(2) をやってみると「更新情報サービス」に設定してたところには ping を送信できましたが、トラックバックは別でした。

結局「移転以来」というのが鍵でした。移転というのはいわゆる「自宅サーバー」になった訳ですが、そこに問題がありました。

「自宅サーバー」というのは、つまりルーターの内側にあって、NAT により外側に見えるグローバル IP アドレスと、内側(自分自身を含む)から見えるプライベート IP アドレスが異なっている状態にあるということです。外向きの DNS は立てていたのですが、自分自身 (つまり pasero.net) を 127.0.0.1 や 192.168.x.x と引けなくてもこれまで特に問題はありませんでした (それはそれで驚き)。

「トラックバック」の仕組み上、これではいけないのですね。ひとつの解決策が (3) のように、/etc/hosts で WordPress のあるホスト名を 127.0.0.1 に対応させる方法です。ここでは、VIEWによるスプリットDNSという方法で、内向きの DNS を設定して解決しました。


  1. 後継のUltimate Plugins Smart Update Pinger というものがあるようです。