ホームページ >バックエンド開発 >PHPチュートリアル >WordPress データベースの最適化とクリーンアップ: DIY ガイド

WordPress データベースの最適化とクリーンアップ: DIY ガイド

WBOY
WBOYオリジナル
2024-09-10 18:31:51941ブラウズ

Optimizing and Cleaning Up Your WordPress Database: A DIY Guide

WordPress プロジェクトが成長するにつれて、多くの場合データベースの肥大化が原因でパフォーマンスの問題に気づき始める場合があります。データベースのクリーンアップに役立つプラグインは数多くありますが、場合によっては自分でクリーンアップする方法を知っておくとよいでしょう。このガイドでは、WordPress データベースを手動でクリーニングして最適化する手順を説明します。

まずバックアップしてください - それは非常に重要です!

データベースに変更を加える前に、必ずバックアップを作成してください。以下の手順には、データを永久に削除する破壊的な SQL クエリの実行が含まれますが、重要なものは何も失いたくないでしょう。バックアップを作成しておくと、何か問題が発生した場合でも確実に回復できます。

プラグインの代替品

SQL クエリを手動で実行することに慣れていない場合でも、心配する必要はありません。プロセスを自動化できる優れたプラグインがいくつかあります。強く推奨されるオプションをいくつか紹介します:

  • 高度なデータベースクリーナー
  • WP スイープ
  • WP-Optimize

これらのプラグインは、さまざまなデータベース クリーンアップ タスクを効率的に処理します。プラグインの方法を使用する場合でも、安全のため、データベースのクリーンアップ操作を実行する前にバックアップを作成する必要があります。

私たちは何を掃除しているのでしょうか?

目標は、時間の経過とともにデータベースに蓄積される不要なデータ、つまりサイトの速度を低下させる可能性がある不要になったデータを削除することです。私たちがターゲットとするものは次のとおりです:

  • トランジェント: データベースに保存される一時データ。
  • リビジョン: 古い投稿バージョン。
  • 自動下書き: 公開されなかった下書きが自動的に保存されます。
  • 孤立した投稿メタ: 存在しない投稿のメタデータ。
  • スパムコメントとゴミ箱コメント: データベースを乱雑にしている不要なコメント。
  • 孤立した関係: 未使用の用語関係 (タグ、カテゴリー)。
  • 期限切れのセッション: 古いユーザー セッション データ。
  • 古いプラグイン オプション: 非アクティブ化または削除されたプラグインによって残された未使用のオプション。
  • 未添付メディア: 親投稿のないメディア ファイル (ただし、実際のファイルは削除されません)。

これらの不要な項目を削除することで、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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。