内部リンクがコメント表示される・セルフピンバックの停止方法【WordPress】

当ページのリンクには広告が含まれています。
内部リンクがコメント表示される・セルフピンバックの停止方法【WordPress】

自ブログ内のページにリンクを貼った際、

・WordPress管理画面にコメント承認の確認通知が表示される
・記事自体のコメント欄にも通知が表示されてしまう
・その都度通知のメールも送られてくるのでメールボックスが圧迫される

という状態に困っていました。

試行錯誤の末に無事解決することができたので、対応を備忘録として記載しておきます。
同じ状況でお困りの方の参考になれば幸いです!

目次

ブログテーマ(The THOR)は無関係

私は有償のブログテーマ(The THOR)を導入していたので、初めはテーマによるものかと思っていました。

ですが、調べてみるとWordPress自体の機能によるものと判明。

原因はWordPress自体の「セルフピンバック」機能

ピンバックとは、”リンクが貼られた場合に、リンク元の記事に通知する” 機能。

本来、他のサイトからリンクされた際に通知されるためのものなのですが、外部からのピンバックのみでなく、自サイト内のリンクについてもピンバック(セルフピンバック)通知が飛ぶ仕様になっているようです。

このため、内部リンクを貼った際にもコメント通知が来てしまっていたんですね。

セルフピンバックの停止方法

方法は大きく分けて3つです。

  1. ブログカード作成時にリンクを相対パスにする
  2. ピンバック設定を無効化する
  3. 「functions.php」を変更する

その他、専用のプラグインを導入する方法もありますが、余計なプラグインはサイトが重くなる原因になるので避けています。

上記の方法はそれぞれ一長一短あり、概要は以下の通りです。

① リンクを貼るごとに手間が必要。セルフピンバックのみを停止できる(外部からのピンバック通知は継続)
② 設定画面から簡単に変更できる。外部に発するピンバックも停止してしまう
③ 手間は少ないが知識が必要。セルフピンバックのみを停止できる。

以外、方法を解説します。

リンクを相対パスにする

例えば、自ブログ内で https://sou-aomi.com/blog/xxxx/xxxx のようなURLをリンクしたい場合、

「https://sou-aomi.com の部分を削除して「/blog/xxxx/xxxx」にすると、サイト内リンクをしてもピンバック送信を防ぐことができます。

リンク作成のたびに手間はかかりますが、自分へのピンバックだけを簡単に停止できる方法です。

ピンバック設定を無効化する

こちらは「自分の記事が発する」内部、外部すべてのピンバック通知を無効化する方法です。

まずは左メニューの設定からディスカッションをクリックして、ディスカッションの設定画面を表示

ディスカッション設定画面の一番上に「投稿のデフォルト状態」で「この投稿に含まれるすべてのリンクへの投稿を試みる」という項目のチェックを外します。

自分の記事から発するピンバックを全て停止するので、セルフピンバック通知だけでなく、外部サイトをリンクした場合の相手に送られる通知も止まってしまいます。

逆に、外部サイトから自分へリンクされた場合の通知コメントはブロックされません。

「functions.php」を変更する

一番手間が少ないのですが、知識のある方でないとリスクが大きい方法。

利用しているテーマのfunctions.phpを変更して自分へのセルフピンバックを停止する方法です。事前のバックアップと、何かあった場合の再インストール方法の確認をした上で実施しましょう。

利用しているテーマのfunctions.phpに以下のコードを追加します。

/function/ no_self_ping( &$links ) {
$home = home_url();
foreach ( $links as $l => $link ) {
if ( 0 === strpos( $link, $home ) ) {
unset($links[$l]);
}
}
}
add_action( ‘pre_ping’, ‘no_self_ping’ );

これで自サイト内のセルフピンバックのみが停止されます。

過去のピンバックコメントを削除する

設定を変更しても、過去のピンバックコメントは自動では削除されません

これまでに記事についたコメントは表示されたままなので、コメント管理画面から削除する必要があります。

まとめ、メリット/デメリットの一覧

私は②「通知設定変更」の方法にしました。
(自分から相手へのピンバックも止まってしまいますが、私のブログでは大きなデメリットにはならないので)

以下にそれぞれのメリット、デメリットを表にしたのでご自分に合った方法を選んでみてください。 

自分からのピン他サイトからのピン
①リンクを相対パス化無効化有効毎回の手間が必要
②設定から無効化無効化無効化全て止まるが手軽
③functions.phpを変更無効化有効やや難易度高

それでは!

よかったらシェアしてね!
  • URLをコピーしました!

コメント

コメントする

目次