WordPress プロジェクトが成長するにつれて、多くの場合データベースの肥大化が原因でパフォーマンスの問題に気づき始める場合があります。データベースのクリーンアップに役立つプラグインは数多くありますが、場合によっては自分でクリーンアップする方法を知っておくとよいでしょう。このガイドでは、WordPress データベースを手動でクリーニングして最適化する手順を説明します。
データベースに変更を加える前に、必ずバックアップを作成してください。以下の手順には、データを永久に削除する破壊的な SQL クエリの実行が含まれますが、重要なものは何も失いたくないでしょう。バックアップを作成しておくと、何か問題が発生した場合でも確実に回復できます。
SQL クエリを手動で実行することに慣れていない場合でも、心配する必要はありません。プロセスを自動化できる優れたプラグインがいくつかあります。強く推奨されるオプションをいくつか紹介します:
これらのプラグインは、さまざまなデータベース クリーンアップ タスクを効率的に処理します。プラグインの方法を使用する場合でも、安全のため、データベースのクリーンアップ操作を実行する前にバックアップを作成する必要があります。
目標は、時間の経過とともにデータベースに蓄積される不要なデータ、つまりサイトの速度を低下させる可能性がある不要になったデータを削除することです。私たちがターゲットとするものは次のとおりです:
これらの不要な項目を削除することで、WordPress データベースのパフォーマンスを大幅に向上させることができます。
次に進む前に、データベースをバックアップすることを忘れないでください。さらに、すべての SQL ステートメントをトランザクション内にラップし、計画どおりに進まない場合に変更をロールバックできるようにします。
データベースをクリーンアップする以外に、頻繁に使用されるテーブルを最適化することでパフォーマンスを向上させることもできます。これにより断片化が軽減され、データベースのスムーズな実行が維持されます。
自信があり準備ができている場合は、次の SQL クエリをコピーして WordPress サーバーの SQL コンソールに貼り付けてください。クエリをコメントアウトするか削除して、自由にスキップしてください。
WordPress データベースがカスタム テーブル プレフィックスを使用している場合は、クエリ内のデフォルトの wp_ プレフィックスを独自のプレフィックスに置き換えます。
このクエリは、最も一般的に使用される WordPress テーブルの一部を最適化します。
-- Optimize commonly used WordPress tables to reduce fragmentation OPTIMIZE TABLE wp_posts, wp_postmeta, wp_options, wp_usermeta, wp_comments;
これはクリーンアップ部分であり、必要に応じてロールバックできるようにトランザクションにラップされています。
-- Start the transaction START TRANSACTION; -- Remove transients (temporary data) DELETE FROM wp_options WHERE option_name LIKE '_transient_%' OR option_name LIKE '_site_transient_%'; -- Remove post revisions DELETE FROM wp_posts WHERE post_type = 'revision'; -- Remove auto-drafts DELETE FROM wp_posts WHERE post_status = 'auto-draft'; -- Remove orphaned post meta (meta data for non-existent posts) DELETE pm FROM wp_postmeta pm LEFT JOIN wp_posts wp ON wp.ID = pm.post_id WHERE wp.ID IS NULL; -- Remove orphaned comment meta DELETE FROM wp_commentmeta WHERE comment_id NOT IN (SELECT comment_id FROM wp_comments); -- Remove spam and trashed comments DELETE FROM wp_comments WHERE comment_approved IN('spam', 'trash'); -- Remove orphaned term relationships (tags, categories linked to non-existent posts) DELETE tr FROM wp_term_relationships tr LEFT JOIN wp_posts wp ON wp.ID = tr.object_id WHERE wp.ID IS NULL; -- Remove expired user sessions DELETE FROM wp_usermeta WHERE meta_key = '_wp_session_expires' AND meta_value < UNIX_TIMESTAMP(); -- Remove old, non-autoloading plugin options DELETE FROM wp_options WHERE autoload = 'no'; -- Identify unattached media files (this won't delete the files, just shows them) SELECT * FROM wp_posts WHERE post_type = 'attachment' AND post_parent = 0; -- Commit the transaction (to apply changes) COMMIT;
問題が発生した場合、または何かが正しくない場合は、トランザクションをキャンセルして変更を元に戻すことができます。
-- Rollback the transaction if you don't want to commit the changes ROLLBACK;
WordPress データベースを定期的にクリーニングして最適化することは、特にサイトが成長するにつれて良好なパフォーマンスを維持するために不可欠です。手動で行う場合でも、プラグインを使用する場合でも、重要なのは、データベースがボトルネックにならないようにすることです。
このガイドに従うことで、データベースを安全かつ効率的にクリーンアップして最適化し、サイトをスムーズに実行し続けることができます。そして、変更を加える前に必ず必ずバックアップしてください。
以上がWordPress データベースの最適化とクリーンアップ: DIY ガイドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。