🚀 サイト構築が難しい?手取り足取りご案内します——「WordPressサイト構築伴走」サービスを詳しく見る →

WordPress画像アップロード速度を最適化するいくつかの方法、データベースクエリを削減

皆さん、こんにちは、レイフェンゴです。今日はWordPressのバックエンドで画像をアップロードする際の最適化方法をいくつか紹介します。以前、レイフェンゴがWordPressのバックエンドで画像をアップロードする際、特に複数の画像を同時にアップロードする場合にエラーが発生することがあり、データベースの負荷が高くなりがちでした。以下では、WordPressの画像アップロード速度を最適化し、データベースクエリを削減する方法について説明します。

WordPressでアップロードする画像のファイル名を「1」などにしないでください。そうするとデータベースのクエリが増加します:

画像の命名が面倒で、適当に「1.jpg」と名付ける人がいます。WordPressのバックエンドで画像をアップロードする際、「1.jpg」という画像が既に存在するかどうかを検出し、自動的に「1-2.jpg」とリネームします。もし「1-2.jpg」も既に存在する場合は、自動リネームが繰り返され、データベースクエリの負荷が非常に高くなります。どうしても面倒な場合は、以下の方法を参照してください。

WordPress 中国語名の画像を自動リネーム / SQLクエリを削減:

状況1:Windowsサーバーを使用している場合、中国語名の画像をアップロードするとエラーが発生し、„アップロード中にエラーが発生しました。後でもう一度お試しください。“と表示されます。プラグインを使用して自動的にピンインや英語に変換することもできますが、画像アップロード時のパフォーマンスに影響を与えます。ここでは、画像アップロード時に自動的にリネームするコードを使用します。状況2:WordPressでアップロードされた画像名の重複が多すぎる場合、WordPressはデータベースをクエリした後、画像をリネームする必要があります。画像が多すぎると、データベースがダウンする可能性もあります。解決方法は簡単で、以下のコードをfunctions.phpに追加します:
add_filter('wp_handle_upload_prefilter', 'custom_upload_filter' );
function custom_upload_filter( $file ){
    $info = pathinfo($file['name']);
    $ext = $info['extension'];
    $filedate = date('YmdHis').rand(10,99);
    $file['name'] = $filedate.'.'.$ext;
    return $file;
}
原理は、アップロード時間に基づいて画像をリネームすることです。例:2019092010182810.jpeg コードの追加方法がわからない場合は、以下を参照してください:functions.phpファイルにコードを安全に追加する方法:Code Snippetsもちろん、このプラグインを直接使用することもできます:WordPress画像自動リネームプラグイン Unique Rename Image File Upload

WordPressでアップロードするJPG形式画像を自動圧縮:

画像を圧縮することで、トラフィックを節約し、ウェブサイトの読み込み速度を向上させることができます。WordPressはデフォルトで画像圧縮機能を提供しており、圧縮率を設定できます。注意点として、JPEG形式の画像のみサポートされています。以下のコードをfunctions.phpに追加します:
add_filter( 'jpeg_quality', create_function( '', 'return 90;' ) );
コード中の「90」が圧縮率です。必要に応じて圧縮率を調整してください。他の画像圧縮が必要な場合は、「EWWW Image Optimizer「プラグインを使用できます。JPG、PNG、さらにはGIFをサポートしています。また、圧縮時に画像形式を変換する機能も提供しており、例えばWebP形式への変換や、JPGとPNGの相互変換が可能です。同様の画像圧縮プラグインは他にも多数ありますので、使いやすいものを選んでインストールしてください。

WordPressでアップロードする画像のサムネイルを削減:

WordPressは画像をアップロードする際、自動的に3種類のサイズのサムネイルを生成します。これは、共有ホスティングやメモリの少ないVPSにとって、多少なりともパフォーマンスに影響を与えます。これを無効にするか、または1種類のサイズのサムネイルのみを生成することができます。WordPressのバックエンド設定 → メディア → 画像サイズで、生成が不要なサムネイルサイズを「0」に変更します。もし本当にサムネイルが不要な場合は、完全に無効にしましょう。以下のコードをfunctions.phpに追加します:
//彻底禁止WordPress缩略图
add_filter( 'add_image_size', create_function( '', 'return 1;' ) );
関連記事:WordPress 5.2.1の自動サムネイルトリミング機能を無効にする

WordPressで使用されていないサムネイルをクリーンアップ:

上記でサムネイルを無効にしましたが、以前に生成されたサムネイル画像は多くのスペースを占有します。手動でクリーンアップするのは大変ですので、プラグインを利用しましょう。「Delete not used image「は、使用されていないサムネイルを自動的に検索できるプラグインです。1. Delete not used imageを使用する前に、プラグインはバックアップを取るよう促します(まずバックアップを取ることをお勧めします)。」options「内のBackup system / Create backup folderでバックアップを取るか、他の方法でバックアップを取ることもできます。2. 」options「内の_ Showでoriginalを設定し、直接クリックします。これにより、オリジナル画像が失われないようにします。3. 」Images「をクリックすると、サムネイル画像の検索が開始され、」Delete all「ですべて削除します。サムネイルファイルが多すぎる場合、かなり時間がかかる可能性があり、「Fetching server…」状態が続きますので、辛抱強く待ってください。上記の最適化設定を行うことで、バックエンドでの画像アップロードがかなり速くなることがわかります。これで、データベースクエリが多すぎてダウンすることを心配せずに、安心して画像をアップロードできます。その他の関連記事: ウェブサイトの画像読み込みが遅い場合の対処法_サイト画像を高速化する3つの方法 WordPressサイトの画像数、形式、サイズを統計する方法 コード不要でWordPressサイトのログイン画面のLOGOと画像を変更する方法 WordPressで自動的に画像にALTとタイトル名を追加する方法

🚀 チュートリアルを見てもまだ迷っていますか?私が手取り足取りご案内しましょう

「WordPressサイト構築伴走」——ドメイン選び、ホスティング購入から、テーマのインストール、公開、投稿まで、すべてのステップで私が伴走します。遠回りせず、目標に直行できます。

👉 サイト構築伴走サービスを詳しく見る
🔒

コメントは終了しました

この記事のコメント機能は終了しています。ご質問がある場合は、他の方法でお問い合わせください。

×
二维码

QRコードをスキャンしてフォロー

AIサイト構築アシスタント

🤖
こんにちは!私はNaibaサイト構築ノートのAIアシスタントです。何かお手伝いできることはありますか?
クイックコンサルティング: