WordPress Webサイトのパフォーマンスを向上させるための実用的なガイド
キーポイント:
多くの人々はWordPressを見下ろしていますが、WordPressがインターネットとPHPの開発を促進したことは否定できません。また、多くのインターネットの専門家もWordPressの容易さのためにキャリアを始めました。
しかし、この使いやすさにはコストがかかります。 WordPressのバナーの下にある多くのWebサイトは、専門家によって作成されるのではなく、安価な開発者によって行われ、そのパフォーマンスと外観はしばしば見落とされます。その後、専門的な外観とパフォーマンスを改善すべきではありませんが、ウェブサイトの計画段階で考慮する必要があります。
有名な英国の中古車ディーラーであるLing's Carsは、ユニークなマーケティング方法を試しました。あなたがしていることをよく知らない限り、模倣しないでください。
すべてがホストの選択から始まります
WordPressホスティングベンダーをいくつかのレベルに分割できます:
Easy Engineは、VPS/WordPressのインストール全体を1時間の作業に変えることができるソフトウェアです。
サーバースタックに関しては、パフォーマンスを追求する場合、NginxはApacheよりも優れています。PHP7は必須です。 Apacheが本当に必要な場合、Nginxを逆プロキシとして使用することは利点ですが、このセットアップはより複雑になる可能性があります。
テストは、PHP 7が以前のバージョンよりも大きな利点があることを示しています。 fasthosts.co.ukによると:
WordPress 4.1は、PHP 7で1秒あたり95%のリクエストを増やしました。
ソフトウェアの予防策ホストを選択するときは、いくつかの悪名高いプロバイダーの否定的な経験に注意してください。
通常、WordPressのWebサイトを遅くするのは、多くの静的リソースとデータベースクエリを含む巨大なフロントエンドです。これらの問題は、トピック(およびそのページビルダー、大きなスライダーなど)の選択に起因します。これは、多くのリクエストと全体的なサイズのために初期読み込みを遅くするだけでなく、多くのJavaScriptとコンテンツが必要なためにも、レンダリングされたブラウザの速度を発揮します。
ここでの黄金律は、正当な理由がない限り、それを使用しないでください。
これはホーマーシンプソンの口からのルールのように聞こえるかもしれませんが、鐘やホイッスルをスキップできる場合は、スキップしてください。保守的です。光沢のある機能やJSビジュアルを追加する必要がある場合は、正確なニーズに合わせて可能な限り調整およびコーディングされたものを常に優先順位を付けてください。あなたが熟練したコーディング担当者であり、プロジェクトが作業を正当化する場合は、独自のコードを書くことを忘れないでください。
Webサイトに不可欠なすべてのプラグインを確認し、他のプラグインを削除します。
最も重要なことは、トリミングを開始する前にウェブサイトをバックアップすることです!
多くのカスタム投稿またはフィールドを使用するトピックを使用している場合は、これらの多くがデータベースクエリを遅くすることに注意してください。データモデルを可能な限りシンプルに保ち、そうでない場合は、WordPressの当初の目的がブログエンジンであることを考慮してください。より多くの機能が必要な場合は、データモデルとデータベースの選択をより強化するための既存のMVC Webフレームワークを検討することをお勧めします。
WordPressでは、カスタムポストタイプ、カスタム分類法、カスタムフィールドを使用してリッチなカスタムデータモデルを構築できますが、パフォーマンスと複雑さのコストに注意してください。
コードを理解している場合は、不要なデータベースクエリについてトピックを確認してください。個々のデータベースアクセスは、TTFBに貴重なミリ秒を使用し、サーバー上のメモリのメガバイトを使用します。セカンダリループは高価になる可能性があることを忘れないでください。そのため、スライダーやパーツエリアなどの追加の投稿を表示する部品やウィジェットを使用する場合は注意してください。それらを使用する必要がある場合は、すべての投稿を1つのクエリで取得することを検討してください。そうしないと、サイトが遅くなる可能性があります。ゼロからコーディングしたくない人のために、githubリポジトリがあります。
カスタムフィールドを使用して特定の条件に基づいて投稿を取得することは、複雑なWordPress機能を開発するための強力なツールになります。以下は、そのコストに関する詳細な指示を見つけることができるメタクエリの例です。概要:ポストメタデータはフィルタリング用に構築されていません。分類法です。
get_post_metaは通常、カスタムフィールドを取得するために使用される関数です。ポストIDのみをパラメーターとして呼び出すことができます。その場合、すべての投稿のメタデータフィールドを配列内のメタデータフィールドを取得するか、 2番目のパラメーターとしてのカスタムフィールドの名前。その場合、指定されたフィールドのみを返します。
ページまたはリクエストで(複数のカスタムフィールドの場合)投稿でget_post_meta()を使用している場合、これは機能するときに初めて呼び出されるため、これが追加のコストが発生しないことに注意してください。 メタデータがキャッシュされます。
さまざまなプラグインをインストールして削除し、Webサイトのライフサイクル全体でさまざまなテーマを変更すると、データベースが多くの不要なデータを埋めることがよくあります。 WordPressのWebサイトがゆっくりと実行されているのか、サーバーメモリの疲労のためにロードされていないのかを確認すると、データベースが数百メガバイトまたはギガバイト以上に成長し、説明することはできません。 wp-optionsは、多くの孤立したデータがしばしば取り残される場合です。これには、さまざまな一時的なデータが含まれますが、これらに限定されません(この記事は、プラグインの過渡データの削除に関するベストプラクティスについて警告しています)。一時的なデータはキャッシュの形式ですが、他のキャッシュと同様に、誤って使用した場合、善よりも害を及ぼす可能性があります。サーバー環境が提供する場合、WP-CLIには、削除を含む一時的なデータ管理専用の一連のコマンドがあります。そうでない場合、WordPressプラグインライブラリには、期限切れの過渡データを削除できるプラグインがいくつかありますが、制御が少なくなります。
一時的なデータを削除すると、実際の理由なしにデータベースが膨らんでいる場合、WP-Sweepはデータベースをクリーンアップする仕事をすることができる優れた無料ツールです。考慮すべきもう1つのことは、WP Optimizeです。
データベースのクリーニングを実行する前に、データベースをバックアップすることを強くお勧めします!
WordPressリクエストライフサイクル全体を分析するための非常に便利なプラグインは、デバッグオブジェクトです。すべての一時的なデータ、ショートコード、クラス、スタイル、スクリプト、ロードされたテンプレート、データベースクエリ、フックの検査を提供します。
合理的でパフォーマンス指向のセットアップを確保します。サーバースタックを事前に考え、トピックの選択とプラグイン、ウィジェットのオーバーロードから膨らんでいる可能性を排除します。ボトルネックを特定する必要があります。
Pingdom速度テストなどのツールでWebサイトをテストすると、リクエストにロードされたすべてのリソースの滝図が表示されます。
これにより、ボトルネックを見つけるために分析できるリクエスト応答ライフサイクルに関する詳細な情報が得られます。たとえば、
ウェブサイトを改善するためのより広範なテストとガイダンスを取得するには、WebCoachと呼ばれる小さなコマンドラインユーティリティがあります。 NodejsとNPMがインストールされている環境(Homesteadの改善など)では、簡単にインストールできます。
<code>npm install webcoach -g</code>
キャッシュ
WordPress Webサイトを管理する際に、キャッシュは重要な役割を果たすことができます。キャッシュする方法はいくつかあり、考えられる方法があります。
ページキャッシュ
これが私たちが望んでいたように役に立たない場合、WPスーパーキャッシュ、WPの最速キャッシュ、GitHubでのW3合計キャッシュの改善などのプラグインを使用することを検討することをお勧めします。これはすべてパフォーマンスを改善できますが、通常は実験が必要です。不適切に構成されたキャッシュソリューションは、実際にWebサイトのパフォーマンスを損なう可能性があります。たとえば、W3TCは、少なくとも改善の前に - は、機能するときに機能する最良の無料キャッシュソリューションと見なされます。うまくいかない場合は、ウェブサイトをオフラインにする可能性があります。
ページキャッシングはパフォーマンスを大幅に改善し、Webサイト全体をRAMから配信できますが、ショッピングカートを備えたダイナミックなWebサイトやクッキーやパーソナライズされたフロントエンドに依存している場合、合併症を引き起こす可能性があることに注意してください。あるユーザーに別のユーザーのUI部品を提供できるため、通常、生産に行く前にテストする必要があります。これは、ワニスやCloudFlareページのキャッシュなど、管理されていないサーバーのソリューションに特に適しています。
フラグメントキャッシングは、動的なCookie依存のWebサイトをフルページメソッドを使用してキャッシュするのが難しい場合、またはAJAX要求をキャッシュする場合に考慮する解決策です。これが良い紹介です。
オブジェクトキャッシュとは、すべてのデータベースクエリとPHPオブジェクトをメモリにコンパイルおよび保存することを意味します。一部のキャッシュプラグインは、オブジェクトキャッシュバックエンドを管理しようとします。バックエンドの使用は通常、APCU、Memcached、およびRedisです。サーバーにインストールする必要があります。
PHPコードとオブジェクトのキャッシュのパフォーマンスをより深くテストするには、貴重なツール(シェルアクセスとWP-CLIのインストールが必要)がプロファイルコマンドです。次のコマンドを使用してインストールできます:
<code>npm install webcoach -g</code>
または
<code>wp package install git@github.com:wp-cli/profile-command.git</code>
(インストールの状況によっては、-allow-rootフラグを追加する必要がある場合があります。)
ロードサイクル全体を分析するか、特定のフック、ファイル、クラス、読み込み時間とキャッシュ比に深く入ります。
ブラウザキャッシュとは、訪問者のブラウザが静的ファイルをキャッシュに保存するように強制するため、繰り返しアクセスしたときにサーバーからこれらのファイルを取得する必要はありません。ここでは、cache-control およびの有効期限が
ヘッダーを使用します。キャッシュプラグインは通常、ブラウザのキャッシュとセットヘッダーを管理します。 Technumeroは、より詳細なガイドを作成しました。静的ファイル
静的ファイルは、画像、スタイルシート、JSコード、フォント、メディアファイルなどです。私たちはそれらを圧縮することを確認する必要があり、可能であればこれらのファイルを提供するためにHTTP/2を使用しています。マネージドホストがHTTP/2をサポートしていない場合、または管理されていないVPSをHTTP/2に移行していない場合、最も簡単な方法はCDNをスタックに統合することです。 CDNは、視聴者に最も近いデータセンターから静的ファイルを提供します。これにより、レイテンシが減少し、多くの場合、高度に調整されたインフラストラクチャを活用することを意味します。
AutoopTimizeは、静的資産を操作し、JSとStyleSheetファイルを絞り込むことができるため、ページ出力を削減できるプラグインです。
メディアファイルに関しては、ビデオを圧縮/エンコードしてサイズを縮小し、YouTubeなどのプロバイダーを通じて提供してサーバーのストレスを軽減することを検討する必要があります。 Amazon S3のようなクラウドストレージプロバイダーは、もう1つの良い選択です。ビデオホスティングはこの記事の範囲外ですが、WPMudevはこのトピックに関する実用的なガイドを作成しました。
画像に関しては、これらの画像は通常、Webには大きすぎます。サーバーを適切に動作させることができる唯一のソリューション(長い時間がかかる場合があります)は、シェルを介したバッチ圧縮である場合があります。 LinuxのImageMagickには、画像を圧縮できるようにする便利な変換ツールがあります。この例は、フォルダー内のすべてのJPGに対してこれを再帰的に行い、JPEGの品質を他のいくつかの小さな機能強化とともに80%に低下させ、画像をサイズ変更します(自己解釈する必要があります):
<code>npm install webcoach -g</code>
WP Bulletには、JPGファイルとPNGファイルのバッチ圧縮に関する2つの優れたガイドがあります。
さらに、画像サイズ、EWWWイメージオプティマイザーなどを削減するための想像上のサービスと対応するWordPressプラグインがあります...その他のランダムプロンプト
<code>wp package install git@github.com:wp-cli/profile-command.git</code>
Ithemes Security、WPS Hide Loginなどのようなプラグインは、この問題を解決し、ログインページURLを変更するのに役立ちます。
<code>wp package install wp-cli/profile-command</code>
結論
WordPressの最適化のヒントのこの編集が役立つことを願っています。ウェブサイトのサイズが大きくなるにつれて、これらの手法は遡及的に適用することがますます困難になっています。これが、早めに開始し、邪魔にならないように努力することが最善です。これらのテクノロジーをできるだけ多く適用する前に、
を開始する前に、スムーズなスタートだけでなく、初日から高くなることもあります。パフォーマンスアプリ - これは間違いなくすべての新しいユーザーにとって優れたエクスペリエンスです。 SitePointのPWAガイドもチェックしてください。 WP WebサイトPWAを初日からできるだけ多くのことを作成します。これにより、ユーザーはデバイスのホーム画面にインストールして、繰り返しアクセスできるようになります。
WordPressパフォーマンスの最適化に関するWordPressパフォーマンスを最適化するのに最適なプラグインは何ですか?
WordPress Webサイトのパフォーマンスを大幅に改善できるプラグインがいくつかあります。最適なものには、WPロケット、W3合計キャッシュ、WPスーパーキャッシュが含まれます。これらのプラグインは、ページキャッシング、オブジェクトキャッシュ、GZIP圧縮などの機能を提供して、Webサイトをスピードアップするのに役立ちます。さらに、Imagifyのようなプラグインは画像を最適化し、品質に影響を与えることなくサイズを縮小することができます。これにより、負荷時間も改善できます。
コンテンツ配信ネットワーク(CDN)は、世界中にWebサイトコンテンツのコピーを保存することにより、WordPress Webサイトのパフォーマンスを大幅に改善できます。ユーザーがあなたのウェブサイトにアクセスすると、CDNはサーバーに最も近いサーバーからコンテンツを配信し、コンテンツのロードにかかる時間を短縮します。これにより、特にプライマリサーバーから離れているユーザーにとって、Webサイトの速度が大幅に向上する可能性があります。
WordPressデータベースの最適化により、Webサイトのパフォーマンスが大幅に向上する可能性があります。これは、データベースを定期的にクリーニングし、不必要なデータの削除、データベーステーブルの最適化によって達成できます。 WP-Optimizeのようなプラグインはこのプロセスを自動化することができ、クリーンで効率的なデータベースを容易にすることができます。
画像の最適化は、品質に影響を与えることなく画像のサイズを縮小することにより、WordPress Webサイトのパフォーマンスを大幅に改善できます。これは、画像を圧縮し、正しい画像形式を使用して、画像を適切なサイズに調整することで実現できます。 Imagifyのようなプラグインは、このプロセスを自動化できるため、画像を最適化しやすくなります。
サーバーの応答時間を短縮すると、WordPress Webサイトのパフォーマンスが大幅に向上する可能性があります。これは、サーバー構成を最適化し、高品質のホストプロバイダーを使用し、キャッシュソリューションを実装することで実現できます。さらに、ウェブサイトがサーバーに行うリクエストの数を減らすと、サーバーの応答時間が長くなる可能性があります。
CSSおよびJavaScriptファイルの縮小は、これらのファイルのサイズを縮小することにより、WordPress Webサイトのパフォーマンスを大幅に改善できます。このプロセスでは、機能を変更することなく、スペースやコメントなどの不要な文字を削除することが含まれます。 AutoPTimizeのようなプラグインは、このプロセスを自動化することができ、ファイルを縮小しやすくすることができます。
モバイルデバイスに合わせてWordPress Webサイトを最適化すると、これらのデバイスでのWebサイトのパフォーマンスが大幅に向上する可能性があります。これは、レスポンシブデザインを実装し、モバイルデバイスに合わせて画像を最適化し、モバイルフレンドリーなテーマを使用することで実現できます。さらに、Wptouchのようなプラグインは、モバイルに優しいバージョンのWebサイトを作成するのに役立ちます。
怠zyな読み込みは、ユーザーの画面に表示された場合にのみ、画像やその他のコンテンツをロードすることにより、WordPress Webサイトのパフォーマンスを大幅に改善できます。これにより、ページの初期読み込み時間を短縮し、Webサイトの速度を向上させることができます。 WP Rocketによる怠zyなロードのようなプラグインは、このプロセスを自動化し、ウェブサイトで怠zyなロードを簡単に実装できるようにすることができます。
GZIP圧縮は、ファイルのサイズを削減することにより、WordPress Webサイトのパフォーマンスを大幅に改善できます。このプロセスでは、ファイルがユーザーのブラウザに送信される前にファイルを圧縮し、転送する必要があるデータの量を減らすことが含まれます。これにより、Webサイトの読み込み時間が大幅に改善されます。チェックおよび有効化のようなプラグインは、このプロセスを自動化し、WebサイトでGZIP圧縮の実装を容易にすることができます。
WordPress Webサイトのパフォーマンスを監視すると、Webサイトが遅くなる可能性のある問題を特定するのに役立ちます。これは、Google PageSpeed Insights、GTMetrix、PingDomなどのツールを使用して実行できます。これらのツールは、読み込み時間、ページサイズ、リクエストの数など、ウェブサイトのパフォーマンスに関する詳細な情報を提供できます。
以上がWordPressパフォーマンスの最適化の完全なガイドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。