Brotli圧縮:WordPress Webサイトのパフォーマンスを向上させるための強力なツール
コアポイント:
Googleが起動した新しい圧縮アルゴリズムであるBrotliは、ファイルのサイズを縮小して読み込みを加速することで、WordPress Webサイトのパフォーマンスを大幅に改善できます。 -
サーバーにBrotliのインストールと構成は、人気のあるWebサーバーで公式にリリースされておらず、WordPressと完全に統合するための手動構成が必要なため、より複雑になる可能性があります。
- Brotliの圧縮率は、別の最新の圧縮アルゴリズムであるGZIPよりも20〜26%高く、ファイルが小さく、読み込み速度が高くなります。
- Brotliには多くの利点がありますが、すべてのブラウザがそれをサポートしているわけではなく、HTTPSでのみ使用できるわけではありません。
-
WordPressは、使いやすさ、強力なコミュニティサポート、構成可能性など、多くの利点を持つ優れたCMSになりました。ただし、WordPressユーザーが直面する課題の1つは、Webサイトのパフォーマンスの問題です。この記事では、Brotli圧縮とWordPressのパフォーマンスへの影響について説明します。
免責事項:私はkeycdnで働いています。彼らの記事とツールのいくつかはここで引用されています。
「WordPress」オンラインで「Speed Up WordPress」に関する記事がたくさんあります。これは、プラグインでの最適化など、ウェブサイトの読み込み速度を向上させる多くの方法を提供します。ただし、Googleが最新の圧縮アルゴリズムであるBrotliをリリースして以来、収集されたデータは、WordPressサイトで有効になるパフォーマンスの向上を決定するのに十分ではありません。
この記事では、3つの異なるシナリオでWordPressパフォーマンスをテストすることにより、Brotli圧縮の効果を測定します。
gzipのwordpress
を有効にします
brotli
のWordPressを有効にします
- brotli対応cdn
のbrotli wordpressを有効にします
-
Brotli圧縮とは何ですか? -
Brotli(Swiss Bakery製品にちなんで名付けられた)は、2015年にGoogleがリリースした比較的新しい圧縮アルゴリズムです。 Googleによると、Brotli Compressionは、最新のLZ77アルゴリズムバリアント、Hoffmannエンコード、2次コンテキストモデリングの組み合わせを使用しています。
Googleは、Brotli圧縮アルゴリズムを使用してさまざまなテストを実行し、結果を他の最新の圧縮アルゴリズムと比較しました。この調査によると、Googleは、Brotliが別の最新の圧縮アルゴリズムであるZopfliよりも圧縮が20〜26%高いことを発見しました。パフォーマンスに関しては、ファイルの圧縮が小さいほど、いつでも歓迎します。
サーバーにbrotliをインストールして構成します
Brotliの小さな欠点の1つは、人気のあるWebサーバーでまだ公式にリリースされていないことです。これは、今日サーバーでBrotliを有効にしたい場合は、構成作業を行う必要があることを意味します。以下のBrotliパフォーマンステストはすべて、nginxを実行しているUbuntu 16.04.2 LTSで実行されます( nginxの使用方法を知る必要がありますか?SitePoint Advanced Course "Accelerating WebサイトをNginx"
)。以下に、同じオペレーティングシステムとWebサーバーでBrotliを実行する方法を段階的に説明します。
ubuntu 16.04は、apt-getを使用してbrotliをインストールできる最初のubuntu分布です。これを行うには、実行するだけです:
終了後、Brotli圧縮用のNGINXモジュールをインストールし、NGINXの最新バージョンをコンパイルする必要があります(現在のバージョンは1.13.0):
<code class="language-bash">$ apt-get update && apt install brotli</code>
Brotliはサーバーに正しくインストールする必要があります。次に、nginx.confファイルを構成して、必要な構成ディレクティブを指定する必要があります。これらのパフォーマンステストには、次の指示が使用されています。
brotli設定
<code class="language-bash">$ git clone --recursive https://github.com/google/ngx_brotli ngx_brotli
$ wget http://nginx.org/download/nginx-1.13.0.tar.gz
$ tar zxvf nginx-1.13.0.tar.gz
$ cd nginx-1.13.0
$ ./configure --add-module=../ngx_brotli
$ make && make install</code>
指示の完全なリストは、nginxモジュールGithubページにあります。
nginx.confファイルが変更されているため、最後のステップはnginxをリロードすることです。これを行うには、次のコマンドを実行します
<code class="language-nginx">brotli on;
brotli_comp_level 3;
brotli_types text/plain text/css application/json application/javascript application/x-javascript text/xml application/xml application/xml+rss text/javascript;</code>
Brotliサポートをテスト
brotliをインストールしてサーバーに構成する必要があります。これを確認するには、2つの方法から選択できます。
Brotliテストツールを使用します。これは、ドメイン名に基づいてサーバーがBrotliをサポートするかどうかを確認します。 -
Chromeブラウザを使用し、Chrome開発者ツールを開き、ネットワークに移動します。ページを更新して、リソースを選択します。コンテンツエンコードの価値は、Brotliを表すBRであることがわかります。 -
brotliを構成して、wordpress
で動作します
この時点で、Brotli圧縮を使用してWordPressリソースを正しく配信できるはずです。ただし、HTMLドキュメントのリクエストヘッダーの詳細を確認すると、コンテンツエンコード値がまだ「GZIP」であることに気付くかもしれません。これは、WordPress PHPコードがPHPの設定
"on"に依存しているためです。 zlib.output_compression
残念ながら、WPフィルターを使用してこの設定を変更することは現在不可能です。ただし、Brotliの人気により、WordPressは簡単な修正を導入する場合があります。現在、PHP.iniファイルを編集してZlib.Output_Compressionを手動で無効にする必要があります(またはPHP 7.0を使用している場合は/etc/php/7.0/fpm/php.iniにあります)。 SystemCtl RestArt PHP7.0-FPM.Serviceを使用して、Zlib.Output_CompressionをOFFに設定してPHPを再起動するだけです。
今、あなたのウェブサイトのHTMLドキュメントをチェックするとき、あなたはコンテンツをエンコードするヘッダー値BRを見ることができるはずです。
WordPressでのBrotliパフォーマンステストの処理
上記のように、
Brotliパフォーマンステストは、3つの異なるシナリオで実行されます。
gzipのwordpress- を有効にします
brotli - のWordPressを有効にします
brotli対応cdn - のbrotli wordpressを有効にします
BrotliとGZIPの圧縮レベルはどちらも「3」に設定されています。圧縮レベルは、ファイルの節約量と好きな圧縮時間に基づいて変更できます。各テストでは、「2017」テーマを実行する通常のWordPressインストールを使用します。デフォルトでは、このトピックに14のリソースをロードし、236kbのデータを転送します。
上記のテストWebサイトのすべてのリソースが圧縮可能ではないことに注意する必要があります。たとえば、画像はGZIPによってもBrotliによって圧縮されたり、サードパーティのリソース(フォントなど)がBrotliによって圧縮されたりすることはありません。したがって、GZIPを使用したすべての圧縮リソースの総サイズのベースラインは84.7kbです。負荷時間の変動を検討するために、各ページで3つのハードリフレッシュを実行し、各テストシナリオの平均負荷時間を計算しました。これにより、すべてのリソースは、ブラウザキャッシュからではなく、サーバーからロードされます。
次の表には、読み込み速度と圧縮リソースサイズの結果が概説されています。
|
WordPress Gzip |
WordPress Brotli |
WordPress Brotli CDN |
加载速度 |
780 ms |
690 ms |
630 ms |
压缩大小 |
84.7 KB |
81.7 KB |
81.7 KB |
結果が示すように、両方のBrotli圧縮法の両方の荷重時間はGZIPよりも速く、圧縮サイズが小さくなります。ページサイズの違いは重要ではありませんが、これらのテストは裸の金属のワードプレスのインストールで実行されたことを忘れないでください。多くのリソースを持っているサイトでは、複数のリソースを少量の節約が確実に蓄積するでしょう。
さらに、テストのために、圧縮性リソースのサイズの違いを観察するために、両方の圧縮方法を最高レベルに設定します。結果は次のとおりです
Brotli 11 - 圧縮サイズ:67.7 kb
- GZIP 9 - 圧縮サイズ:76.7 kb
-
どちらの場合も圧縮レベルを最大に設定する必要はありませんが(圧縮時間がはるかに長いため)、Brotli Webサイトの圧縮可能なリソースサイズはGZIP Webサイトよりも大きいことに注意してください%小さい。
brotliサポートステータス
Brotliはすべてのブラウザーによって普遍的にサポートされていませんが、多くの人気のあるブラウザは現在それをサポートしています(2017年5月現在)。
https://www.php.cn/link/fc5f86251458722c799d1830fa0c2c1f
サーバーサポートについては、最も人気のあるWebサーバーが公式またはコミュニティが作成したモジュールを提供します。この記事のインストールプロセスに示されているように、Nginxユーザーは拡張機能をインストールし、brotliサポートを使用してnginxをコンパイルする必要があります。同様に、Apacheユーザーはmod_brotliモジュールを使用して、Brotli圧縮コンテンツを配信できます。
Brotliの長所と短所
何でも、Brotliを使用することには利点と短所があります。考慮すべき点がいくつかあります。
pro
圧縮結果が小さい
読み込み時間が高く-
gzipと比較して、圧縮時間は同等です-
- 短所
今すぐ使用するのは少し面倒です
すべてのブラウザがサポートしているわけではありません
- WordPressと完全に統合するには、手動構成が必要です
-
さらに、BrotliはHTTPSでのみ使用できます。これは、利点と不利な点と見なすことができます。一方では、より多くのWebサイトがHTTPからHTTPSに移行するのに役立ち、より安全なインターネットを作成しています。一方、Brotliを有効にしたいがHTTPを使用しているユーザーにより多くの作業をもたらします。
- 要約
テスト結果に示されているように、WordPress WebサイトでBrotliの実装は、パフォーマンスの点で非常に有益です。ソースサーバーにBrotliを実装すると、サーバー側に圧縮が可能になり、Brotli圧縮をサポートするCDN上のコンテンツをキャッシュし、リソース配信をより高速にすることができます。
Brotliはすべてのブラウザーによって普遍的にサポートされていませんが、訪問者が最も頻繁に使用するブラウザを特定し、より速い負荷時間を提供することでニーズを満たすことが重要です。さらに、まだサポートされていないブラウザを使用している人の場合、これらのブラウザはGZIPの使用にのみ戻ります。これは、Win -Winの状況です。
WordPress Brotli圧縮(FAQ)についての FAQ
BrotliとGZIP圧縮の違いは何ですか?
BrotliとGZIPはどちらもデータを圧縮するためのアルゴリズムですが、いくつかの重要な違いがあります。 Googleが開発したBrotliは、GZIPよりも優れた圧縮率を提供する新しいアルゴリズムです。これは、ファイルを小さくすることができることを意味し、ウェブサイトの読み込みをスピードアップできます。ただし、BrotliはGZIPほど広くサポートされていないため、すべてのブラウザーやサーバーで実行されない場合があります。
Brotli圧縮はWebサイトのパフォーマンスをどのように改善しますか?
Brotli圧縮は、Webサイトを構成するファイルのサイズを縮小することにより機能します。これは、ユーザーがあなたのウェブサイトにアクセスするとき、ブラウザはより少ないデータをダウンロードする必要があることを意味します。これにより、ロードをスピードアップできます。読み込み速度が高速化すると、ユーザーエクスペリエンスが向上し、WebサイトのSEOにプラスの影響を与える可能性があります。
すべてのブラウザはBrotli圧縮をサポートしていますか?
Google ChromeやFirefoxを含む多くの最新のブラウザーが、Brotli圧縮がサポートされていますが、すべてのブラウザがサポートするわけではありません。たとえば、Internet ExplorerはBrotli圧縮をサポートしていません。したがって、Brotli圧縮を使用するかどうかを決定する場合、視聴者とその可能性のあるブラウザの使用を考慮することが重要です。
私のウェブサイトがBrotli圧縮を使用しているかどうかをテストする方法は?
WebサイトがBrotli圧縮を使用しているかどうかをテストするために、いくつかのオンラインツールがあります。これらのツールは、Webサイトにリクエストを送信し、応答を分析してBrotliを使用して圧縮されているかどうかを確認することで機能します。
WordPress WebサイトでBrotli圧縮を使用できますか?
はい、WordPressサイトでBrotli圧縮を使用できます。ただし、Brotli圧縮の実装は、サーバー構成の変更が必要なため、他のタイプの圧縮よりも複雑になる場合があります。また、WordPress WebサイトにBrotli圧縮の実装に役立つプラグインもいくつかあります。
Brotli圧縮を使用する潜在的な欠点は何ですか?
Brotli圧縮は荷重時間を改善する可能性がありますが、潜在的な欠点がないわけではありません。まず、他の圧縮方法(GZIPなど)ほど広くサポートされていません。これは、すべてのブラウザーまたはサーバーで実行されない可能性があることを意味します。さらに、Brotli圧縮により、他の方法よりも多くのリソースが消費される場合があり、サーバーを遅くする可能性があります。
Brotli圧縮はどのように機能しますか?
Brotli圧縮は、データの冗長性を見つけて削除することにより機能します。一般的に使用される単語とフレーズの辞書を使用して、複製データをより短い表現に置き換えて、データの全体的なサイズを削減します。
Brotli圧縮は私のウェブサイトSEOに影響しますか?
はい、Brotli圧縮はあなたのウェブサイトSEOにプラスの影響を与える可能性があります。これは、ウェブサイトをランキングするときに検索エンジンが考慮している要因の1つが時間を読み込んでいるためです。 Webサイトファイルのサイズを縮小し、負荷速度を上げることにより、Brotli圧縮はWebサイトのSEOを改善するのに役立ちます。
Brotli圧縮は、あらゆる種類のWebサイトに適していますか?
Brotli圧縮は、多くの種類のWebサイト、特に大量のテキストデータ(ブログやニュースサイトなど)を持つウェブサイトに利益をもたらす可能性があります。ただし、多くのマルチメディアコンテンツを含むWebサイトにとってはあまり有益ではない場合があります。そのようなコンテンツはしばしば過大評価されており、Brotliを使用すると大幅なサイズの削減が見られない場合があります。
サーバーにBrotli圧縮を実装する方法は?
サーバーにBrotli圧縮を実装するには、通常、Brotli圧縮を有効にし、ファイルタイプを圧縮するためにサーバーの構成ファイルを変更する必要があります。正確なプロセスは、サーバーのオペレーティングシステムと使用しているWebサーバーソフトウェアによって異なる場合があります。
以上がWordPressに対するBrotli圧縮の効果の測定の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。