【最適化】リビジョン数を制限してサイトを高速化。投稿タイプ別の設定方法まで解説します

コメント (0)

  1. 最適化
  2. 【最適化】リビジョン数を制限してサイトを高速化。投稿タイプ別の設定方法まで解説します

WordPressで記事を執筆していると、気づかないうちにデータベース(DB)が肥大化し、サイトの動作が重くなってしまうことがあります。その大きな原因の一つが「リビジョン」機能です。

この記事では、リビジョン機能のメリット・デメリットから、適切な保持数の目安、さらにはwp-config.phpfunctions.phpを使ったカスタマイズ方法まで分かりやすく解説します。

WordPressのリビジョン機能とは?

機能の概要

WordPressのリビジョン(Revision)とは、記事(投稿や固定ページ)を保存・更新するたびに、過去のデータを自動的にバックアップとして保存しておく機能です。

  • リビジョンの目的: 「編集前の状態に戻したい」「ブラウザが急に閉じてデータが消えた」という際、過去のセーブポイントからデータを復元できます。
  • 初期状態の挙動: wp-config.php等に設定がない場合、WordPressのデフォルトは「制限なし(無限保存)」です。1つの記事を100回更新すれば、100件分のデータがデータベース(wp_posts テーブル)にそのまま蓄積されます。

リビジョンへのアクセス方法

ブロックエディターの使用中、サイドバーに「リビジョン」の項目がある場合、そちらからアクセスいただけます(「2」などの数値をクリックくださいませ)。

その後、以下のような画面が現れます。画面上部のツマミを動かし、戻したい箇所で「このリビジョンを復元」を押下すれば、その時点でのリビジョンが復元されます(復元後に「保存」いただくことが必要です)。

補足

WordPress 7.0以降、一部の環境においてはリビジョン表示の画面が以下のように変わります。

リビジョン数を制限するメリット・デメリット

無限に増え続けるリビジョンを「最大〇個まで」と制限することには、以下のような一長一短があります。

メリット

  • データベースの軽量化
    不要な過去データが激減するため、データベースの容量肥大化をピンポイントで防げます。
  • サイト動作・管理画面の高速化
    データベースが軽くなることで、記事の読み込みや検索、管理画面の切り替えなどがスムーズになります。
  • バックアップ効率の向上
    サイト全体のバックアップデータが小さくなり、保存先のストレージ節約や実行時間の短縮につながります。

デメリット

  • 古い履歴に遡れなくなる
    例えば上限を「5個」にした場合、6回以上更新すると、一番古い(最初の頃の)編集データは自動的に消去され、復元できなくなります。
  • 大幅なリライト(書き直し)時に不便
    長文を何度も推敲しながら書き直す場合、「数日前のあの文章に戻したい」と思っても、上限を超えていると過去データが残っていません。

適切なリビジョン数の目安

一般的には、運用バランスが最も良い「3個 〜 10個」への制限が推奨されます。自身の運用スタイルに合わせて以下の目安を参考にしてください。

運用スタイル制限数の例理由
一般的なブログ3 〜 5個直前のミス(誤消去やバグ)をカバーするには5個あれば十分。
企業のコーポレートサイト5 〜 10個複数人で確認しながら慎重に文言を修正することが多いため、少し多めが安心。
下書きは別ソフト0個(無効化)〜 3個NotionやWord等で原稿を完成させてから貼り付ける場合、リビジョンはほぼ不要。
補足

リビジョンを「0個(完全に無効)」に設定しても、WordPressが1分ごとに自動で行う「自動保存(1件のみ保持)」は有効のまま残るため、執筆中のクラッシュ対策は維持されます(wp-config.php 等の設定で自動保存を無効化している場合は別)。

注意

実のところ、リビジョンの保存数に正解はありません。設定時には、必ず運用実態(運用計画)に合わせた数値を設定いただきますようお願いします。

リビジョン数を制限・カスタマイズする3つの方法

サイトの構成やスキルに合わせて、以下の3つの方法から選択して設定を行います。

方法①:サイト全体を一括制限する(wp-config.php

サーバーへの負荷が最も少ない制限方法です。サイトのルートディレクトリにある wp-config.php を編集します。

注意

編集に失敗するとサイトが表示されなくなる恐れがあるため、必ず事前にファイルのバックアップを取ってください。

ファイル内の /* 編集が必要なのはここまでです... */ という記述よりもに、以下のいずれかのコードを追記します。

  • 数を「5個」に制限したい場合define( 'WP_POST_REVISIONS', 5 );
  • 機能を完全に「無効」にしたい場合define( 'WP_POST_REVISIONS', false );
// 記述例
define( 'WP_POST_REVISIONS', 5 );

/* 編集が必要なのはここまでです ! WordPress でのパブリッシングをお楽しみください。 */Code language: PHP (php)

方法②:投稿タイプごとに保存数を変える(functions.php

「通常のブログ記事は10個でいいけれど、重要な固定ページは5個残したい」「カスタム投稿『ニュース』は3個にしたい」といった場合は、子テーマの functions.php にフィルターフックを記述します。

functions.php の末尾に以下のコードを追記してください。

/**
 * 投稿タイプごとにリビジョンの保存数を変更する
 */
function custom_revisions_to_keep( $num, $post ) {
    
    // 通常の「投稿 (post)」は 10個
    if ( $post->post_type === 'post' ) {
        return 10;
    }
    
    // 「固定ページ (page)」は 5個
    if ( $post->post_type === 'page' ) {
        return 5;
    }
    
    // カスタム投稿タイプ「お知らせ (news)」は 3個
    if ( $post->post_type === 'news' ) {
        return 3;
    }
    
    // カスタム投稿タイプ「制作実績 (portfolio)」はリビジョン無効
    if ( $post->post_type === 'portfolio' ) {
        return 0;
    }

    // 上記の条件に該当しないその他の投稿タイプは一律5個にする
    // ※wp-config.php で設定したデフォルト数値にしたい場合は return $num; に変更してください。
    //  なお、wp-config.php で無設定の場合は「無限保存」となります。
    return 5; 
}
add_filter( 'wp_revisions_to_keep', 'custom_revisions_to_keep', 10, 2 );
Code language: PHP (php)
注意

wp-config.php 側で WP_POST_REVISIONSfalse(完全無効)にしていると、このフィルターフック自体が機能しなくなります。個別に振り分けたい場合は、wp-config.php のリビジョン設定を削除するか、true にしておいてください。

方法③:プラグインで手軽に管理する

コードを触るのが不安な場合や、「すでに溜まってしまった過去のリビジョンを掃除したい」という場合は、プラグインの導入が手軽です。

  • WP Revisions Control
    シンプル設計のプラグイン。管理画面の「設定」から、投稿タイプごとの保持数を数字で入力するだけで制限できます。余計な機能が要らない場合はこちらで十分です。
  • WP-Optimize / LiteSpeed Cache
    リビジョン数の制限だけでなく、データベース内にすでに溜まっている過去の大量のリビジョンを一括クリーンアップ(削除)する機能が備わっています。中級者・上級者向けのプラグインのため、触り始めのときに導入いただくことはおすすめしません。
    特に LiteSpeed Cache は導入環境が限定されておりますので、注意が必要です。

まとめ

WordPressのリビジョンは強力で便利なバックアップ機能ですが、初期状態の「無限保存」のまま運用を続けると、サイトのパフォーマンス低下を招きます。

リビジョンの制限を事前に行っておくだけで、データベースが劇的に軽くなり、WordPressサイトを長期にわたって快適に維持できるようになります。ぜひご自身のサイトでも設定を見直してみてください。

お気に召しましたら是非ともシェアをお願いします!

この記事を書いた人

スクリーンネーム: Y.INABA

WordPress歴は約10年ほど、色々な形で触れてきました。
HTMLやCSS、PHPに至っては20年以上も触れ続けています。
現在も日々学習中。

– 広告 –

当記事へのコメント

コメントの際の注意

  • コメントは承認制です。当方で承認されるまでは記事内に掲載されません。
  • 記載内容に問題がなければ承認しますが、過剰な煽り・加害性等が認められる場合や著しい事実誤認等が含まれている場合は承認しません。
  • 記事中で話題として触れていないのに、他サイトでの関連性の薄い(主題とは異なる)話題を出す」行為もお控えください。
  • 承認後でも、問題があると判断した場合はこちらの判断により削除する可能性がございます。

コメントはこちらからどうぞ

メールアドレスが公開されることはありません。 が付いている欄は必須項目です


– 広告 –
Back to top