【WordPress】WordPressで内部リンクを貼ったら混乱した話

WordPress

既存の記事に関連する記事が書けたので内部リンクを貼ってみました。
その際に、コメントの挙動に???となってしまったので、その話を書きたいと思います。

コメントがついた?

ダッシュボードのコメントに通知アイコンがついています。
確認してみると、特に本文がなく、作成者に自分の記事が記載されています。

とりあえず承認、からの削除

なんだコレ…と思いながら承認して、コメントのついた記事を確認しました。

…いやいや、なんだコレ。と思って、即、削除しました。

再度、該当記事を表示し、コメントがないことを確認しました。ふー(胸を撫でおろす)。

君の名は「セルフピンバック」

えっ、これ、内部リンク貼る度に貼った記事からコメント飛んでくるの?
いちいち削除するのは正直、面倒…
と、思ったのでちょっと調べてみました。

検索すると「WordPress 内部リンク コメント」でサジェストされるので、それなりに調べている人がいる模様です。

検索した結果、参考にさせていただいた記事は以下になります。

【WordPress】内部リンクを貼るとコメント扱い(ピンバック)になる現象の解決方法 – 熊本のWEB制作SEO | poroaブログ
WordPressの記事内に自サイトのリンクを貼ると「コメント」扱いになって、管理画面でコメント1となっていたり、メールに「新しいピンバックが承認待ちです。」といったメールが届いたりします。これはWo

どうやらWordPressには自分のサイトの記事のリンクが貼られた際に通知してくれる機能(ピンバック)があり、それが自分のサイト内からのリンクであっても適用されるということらしいです。
そしてこれを「セルフピンバック」と呼ぶ、と。

セルフピンバックを停める

ピンバックはありがたいけど、セルフピンバックはちょっと…というのが正直な感想なので、セルフピンバックを停めることにしました。

参考にさせていただいた2記事によると、セルフピンバックを停める方法は4つ。

  1. リンクを貼る時に相対パスにする
  2. WordPressの設定を変更する
  3. function.phpにコードを追加する
  4. プラグインを導入する

「1.リンクを貼る時に相対パスにする」は、内部リンクを貼る時に、https://chiselabo.com/second-homecoming-childbirth
からドメインを抜いて
second-homecoming-childbirth
すればいいとのことです。

多分、この方法が設定関係をいじらないのでいちばんお手軽だと思います。
ただ、内部リンクを貼る度に相対パスにしないといけないので、それが手間と言えば手間かもしれません。私はずぼらなのでいつか相対パスにすることを忘れてしまいそうです。(自分のずぼらさには絶対の自信がある)

設定変更で個人的に簡単そうな順番から並べると、以下の順になります。
「2.WordPressの設定を変更する」
「4.プラグインを導入する」
「3.function.phpにコードを追加する」

「2.wordpressの設定を変更する」は、WordPressの管理画面の「設定」→「ディスカッション」をクリックします。

ディスカッション設定で、赤枠で囲った部分のチェックを外せばよいそうです。

ただ、ここのチェックを外すとセルフピンバックだけでなくピンバック自体を停止してしまうそうなので、セルフピンバックだけ停めたいという要件には合いません。

「4.プラグインを導入する」については、参考にさせていただいた記事(WordPress 内部リンクを貼るとコメントが!?~セルフピンバック停止の方法)で紹介されています。

私はセルフピンバックを停めるためにプラグインをひとつ入れるのはリッチだと思ったので、プラグインの導入は見送りました。

結果、「3.function.phpにコードを追加する」をやってみることにしました。

function.phpのバックアップ

追加するコードは前述の参考にさせていただいた記事に記載されていたものを使用したいと思いますが、そもそもfunction.phpってどこからどうやって編集するの?というレベルなので、まずはそこから調べました。

function.phpの編集で参考にさせていただいた記事

WordPressでfunctions.phpファイルを編集する方法 – FOXWP
WordPressでfunctions.phpファイルを編集する方法を3つ紹介します。中でも、プラグインを使う方法は初心者でも安心して編集を行えるので、おすすめの方法です。

function.phpを編集する前にバックアップを取る必要があるということで、FTPツールをローカル環境にインストールすることにしました。

インストールしたツールはWinSCPです。

WinSCPとは :: WinSCP
WinSCP is a free file manager for Windows supporting FTP, SFTP, S3 and WebDAV.

WinSCPでサーバにログインしましょう。…ホスト名とかどこで確認するの?

ホスト名はXserverのサーバーパネルから確認できます。

サーバーパネルにログインし、「FTP」→「サブFTPアカウント設定」をクリックします。

ドメインを選択します(ここでは.comのドメイン)。

FTPソフト設定タブを選択し、初期FTPアカウントの設定内容を確認します。
これが、WinSCPに入力する内容です。

WinSCPにログインに必要な情報を入力して、「ログイン」ボタンをクリックします。
注意点はプロトコルを初期状態のSFTPからFTPに変える必要があることです。

※繰り返し接続する場合は、「保存」ボタンから入力内容を保存しておくことをお勧めします。

ログイン成功しました。

function.phpは「/○○〇.com(自分のドメイン)/public_html/wp-content/themes/現在使用しているテーマ」の下にあります。

ローカル環境にfunction.phpをダウンロードします。

転送設定を確認して「OK」ボタンをクリックします。

ローカル環境にfunction.phpがダウンロードされました。

バックアップはこのような手順で行いました。
※記事中ではD:直下にダウンロードしましたが、管理のことを考えてローカル環境側のフォルダ構成は変更する予定です。

function.phpの編集

function.phpの編集で参考にさせていただいた記事によると編集方法は3つあります。

  1. WordPressの管理画面から編集する
  2. FTPツールから編集する
  3. プラグインから編集する

バックアップのためにFTPツールをインストールしたので「2.FTPツールから編集する」ことも可能ですが、今回は「1.WordPressの管理画面から編集する」を試したいと思います。
※「3.プラグインから編集する」についてはもう少しカスタマイズの必要が生じたら検討したいと思います。

WordPressの管理画面から「外観」→「テーマエディター」をクリックします。

こんなメッセージが…

存じ上げてます!バックアップ取りました!
「理解しました」をクリックします。

funtion.phpを選択します。

function.phpのいちばん下に、コードを追加して「ファイルを更新」ボタンをクリックします。

動作確認

この記事から内部リンクを貼って、一旦公開しました。

WordPressとTwitter連携(Jetpackの設定)で四苦八苦した話
今回はタイトル通りのお話になります。Jetpackの共有設定が効かない初投稿(2020年1月1日)の文章を書きあげて、Twitterも開設したしせっかくなので記事の共有をしてみようと思いました。なるべく簡単な方法で、と思っ...

コメント、ついてませんね!

最後に

内部リンクを貼って突然飛んできたコメントに混乱しましたが、WordPressの仕様や設定変更の仕方、FTPツールのインストールまで行うことになりました。

時間はかかりましたが、私にとってひとつ新しいことを知るきっかけになったのでよかったと思います。これからも疑問点を放置せずにどんどん学び、その記録を残していきたいと思います。

同じようにセルフピンバックでびっくりした方の参考になりますように。

それでは、ここまで読み進めていただいてありがとうございました。

コメント

タイトルとURLをコピーしました