(記事内リンクにPR含む場合があります)

【WordPress】セルフピンバック・リビジョン・自動保存の停止方法!プラグイン不要

物思いにふける女性 WordPressカスタマイズ

物思いにふける女性

WordPressは便利ですが、セルフピンバック(self pingback)や、リビジョンによるデータベースの肥大化など、運用を圧迫する機能もあります。今回はこれらをプラグイン不要で改善する方法を紹介します。

ゆめぴょんです。こんちはっ(^^)/

ブログのデザイン(WordPressテーマ)を制作した時に、軽量化・高速化のためや、自分の好みで制御したいために、WPプラグインの使用数をかなり減らしました。

今回は「WordPressプラグインはずし特集」の第5弾です。今までの特集記事は全て下のリンクにまとめています。

セルフピンバック、リビジョン・自動保存とは?

どちらもWordPressの標準機能です。必ずしも悪影響ばかりではないのですが、設定で停止できないのは利用者にとって不便だと感じています。

セルフピンバック(self pingback)って何?

そもそも「ピンバック(pingback)」という機能は、誰かのブログの記事を紹介した時などに自動的に知らせてくれるので、とても便利な機能です。

最近はトラックバック機能はあまり利用されなくなったけど、この「ピンバック機能」のおかげで、自分のブログ記事が言及されたらすぐ分かります。

私はこの「ピンバック(pingback)」が飛んできたら、特に問題ないブログであれば、お礼にその記事をツイッターで紹介するようにしています。

「セルフピンバック」は、記事で自分の過去記事を紹介した場合に飛んでくる「ピンバック」です。内部リンクはSEO対策にもなりますが、毎回の「セルフピンバック」は不要な機能だと感じています。

リビジョン・自動保存って何?

「リビジョン機能」とは、記事を書いている時に履歴を保存して、元に戻したりできる機能です。WordPress標準の投稿画面で記事を入力している人にとっては便利な機能だと思います。

「自動保存」も似たような機能で、一定時間ごとに自動的に記事を保存してくれるので、誤ってブラウザを閉じたり、リロードした場合でも記事を復元できて便利です。

しかし私のように下書きを外部アプリのエディタなどで書いている人にとっては、どちらも不要な機能です。

しかもリビジョンを繰り返すことで、データベースにゴミ(過去のリビジョン情報)がたまっていき肥大化するため、表示速度などにも影響を与えかねません。

今回、不要になるプラグイン

私が不要になったのは、どちらの機能も停止してくれるだけでなく、他にも多機能な1つのプラグインだけです。その他のプラグインは私が検討したものだけを掲載しておきます。

  • WP Total Hacks
  • No Self Ping(3年半以上の更新なし)
  • Revision Control(5年以上の更新なし)

「WP Total Hacks」だけはセルフピンバックもリビジョンも停止してくれる多機能プラグインです。導入もオススメなので、下の記事を参考にしてみてください。

「No Self Ping」と「Revision Control」はそれぞれの機能だけを停止させる専用プラグインです。最近更新がないので、使うなら自己責任でどうぞ。

セルフピンバック、リビジョン・自動保存を停止するコード

それでは、WordPressプラグインを使わずに実現するコードを紹介します。

(追記)その前に上のプラグインや、その他の同じ機能を有するプラグインは全てはずしてくださいね。

セルフピンバックを停止するコード

これはもう、あちこちのブログに書いているコードをそのまま使っています。下のコードをテーマファイル「functions.php」にコピペするだけです。

「functions.php」は、WordPressで最重要ファイルです。修正前には必ずバックアップをとってください。もし問題が起こったらすぐ元に戻してください。全て自己責任でお願いします。

「functions.php」の場所がわからない人は、WordPress管理画面の左メニュー「外観」→「テーマ編集」をクリック。そして右ファイルメニューから選ぶことができます。

[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’ );
[/php]

最初の言及元はわかりませんので、参考にしたブログだけ書いておきます。

プラグインなしでWordPressのセルフピンバックを停止する方法 | TechMemo
WordPressでセルフピンバックを無効にする4つの方法 | Jimeishi

ちなみにWordPressのPingには、セルフピンバック以外にも欠陥がいくつかあります。それを解消するプラグインのことも含めて、下の記事に書いているので参考にしてください。

リビジョン・自動保存を停止するコード

WordPressをインストールしたフォルダ(標準では「wp」)にある「wp-config.php」ファイルに、下のコードをコピペするだけです。

「wp-config.php」もWordPressの重要ファイルなので、必ず作業前にはバックアップをとってください。編集は全て自己責任でお願いします。

コードをコピペする位置はファイルの一番下の方でいいのですが、必ず「require_once(ABSPATH . ‘wp-settings.php’);」の記述の前にしてください。

[php]
//リビジョン停止(falseで停止)
define(‘WP_POST_REVISIONS’, false);

//自動保存間隔を調整(600秒毎)
define(‘AUTOSAVE_INTERVAL’, 600);
[/php]

2行目では「false」でリビジョンを停止(無効)します。数値にすると、リビジョン回数を指定できます。例えば「false」を「5」にすると5回だけリビジョンを生成します。

5行目の「600」は、自動保存の間隔を「600秒毎」にするという設定です。この数値をかなり大きくすると、実質的に自動保存の機能も無効にできます。

WordPressのリビジョン機能を停止する方法 | Sabakura Blog
[WordPress]リビジョン&自動保存機能をプラグインを使わずに停止・制限する方法 | i商店β

ちなみに今まで生成されたリビジョンはプラグインで削除する必要があります。私は「Delete-Revision」を利用しています。下の記事でも書いています。

まとめ:今日のゆめぴょんの知恵

今回の内容は、すぐに対処する必要はないのでインパクトは小さいかもしれません。

しかしセルフピンバックもリビジョンも積もり積もれば、表示速度や運用にも影響を与えかねません。時間のある時に対応することをオススメします。

ゆめぴょんでした。ちゃおっ!

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