ホームページ >テクノロジー周辺機器 >IT業界 >Magento2のウェブサイトをより速くするための7つの簡単な方法
Magento 2 eコマースプラットフォームは、その速度の問題について批判されており、製品カタログページの遅いページと遅いチェックアウトプロセスは一般的な問題です。この記事では、Magento 2オンラインストアのランニング速度を改善するのに役立つ7つの実用的なヒントを共有します。
1キャッシュアプリケーションとして使用します Varnishは、コンテンツをキャッシュし、Webサーバーの前にインストールするHTTPプロキシサーバーで、Webサイトのパフォーマンスを大幅に向上させます。 Magento 2には、ワニスのサポートが組み込まれています。アクティベーション方法は次のとおりです
admin&gt>
2をインストールします
Magento 2はフルページキャッシュ(FPC)を使用してサーバーの応答時間を短縮しますが、FPCの最初のリクエストは通常遅くなります。キャッシュウォームアップツール(スクリプトまたは拡張機能)は、これらのリクエストを事前に作成し、キャッシュストレージを登録して、最初の時間(TTFB)を短縮できます。 Magento 2モジュール(有料または無料)をキャッシュ予熱ツールとしてインストールするか、すべてのカテゴリと最も人気のあるページを温める簡単なPHPスクリプトを作成できます。Google Analyticsから人気のあるページのリストをエクスポートできます。
3ページの下部にJavaScriptコードを移動します。
JavaScriptコードをページの下部に移動すると、最初の画面でコンテンツを描画する速度が向上します。 Magento 2.4は、対応する管理設定を提供するか、コマンドラインを使用します。<code class="language-php">ini_set('memory_limit','12000M'); use Magento\Framework\App\Bootstrap; require __DIR__.'/app/bootstrap.php'; $params = $_SERVER; $bootstrap = Bootstrap::create(BP,$params); $obj = $bootstrap->getObjectManager(); $state = $obj->get('Magento\Framework\App\State'); $state->setAreaCode('frontend'); $categories = $obj->create('Magento\Catalog\Model\ResourceModel\Category\Collection'); $categories->addIsActiveFilter() ->joinUrlRewrite(); foreach($categories as $cat){ $st = microtime(true); $dd = file_get_contents_ssl($cat->getUrl()); $fn = microtime(true); if(($fn - $st) > 0.9) echo $cat->getUrl()." : time: ".($fn - $st)."\n"; sleep(3); } $open = fopen("1000-popular-pages.csv","r"); while(($data = fgetcsv($open,4000,",")) !== FALSE){ if(filter_var($data[0],FILTER_VALIDATE_URL) !== FALSE && strpos($data[0],".pdf") === FALSE && strpos($data[0],"/blog/") === FALSE){ $st = microtime(true); $dd = file_get_contents_ssl($data[0]); $fn = microtime(true); if(($fn - $st) > 0.9) echo $data[0]." : time: ".($fn - $st)."\n"; sleep(3); } } fclose($open); function file_get_contents_ssl($url) { $ch = curl_init(); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); curl_setopt($ch, CURLOPT_HEADER, false); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_REFERER, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 3000); curl_setopt($ch, CURLOPT_TIMEOUT, 10000); $result = curl_exec($ch); if($result === FALSE) $result = curl_error($ch); curl_close($ch); return $result; }</code>
4
WebP画像は、JPEGおよびPNGよりもディスクスペースが少なくなります。 Webサイトの画像をWebP形式に変換すると、ページのサイズを削減し、パフォーマンスを向上させることができます。 コマンドラインツールを使用して転換できます。
(パラメーターの設定品質、ここに80があります)。 Magento 2には、この変換を実装できるモジュールもいくつかあります。
<code class="language-bash">php bin/magento config:set dev/js/move_script_to_bottom 1 php bin/magento cache:flush</code>
5 HTML圧縮は、ページのサイズを削減し、スピードアップするのに役立ちます。 Magento 2.4追加モジュールなしでHTMLを圧縮します。メソッドを有効にします:
cwebp
6 JavaScriptとCSSファイルをマージします
<code class="language-bash">cwebp -q 80 image.png image.webp</code>
JSファイルとCSSファイルの圧縮とマージは、ページのサイズを削減し、HTTPリクエストを減らしてWebサイトを高速化するのに役立ちます。メソッドを有効にします:-q
7 Cache ElasticSearch Query Magento 2.4インデックスとディレクトリ管理にはElasticsearchエンジンを使用します。大規模なディレクトリの場合、キャッシュクエリの結果はElasticSearchのパフォーマンスを改善できます。 vendor/elasticsearch/elasticsearch/src/Elasticsearch/Connections/Connection.php
ファイルを開き、約365行近くに次のコードを追加します。
<code class="language-php">ini_set('memory_limit','12000M'); use Magento\Framework\App\Bootstrap; require __DIR__.'/app/bootstrap.php'; $params = $_SERVER; $bootstrap = Bootstrap::create(BP,$params); $obj = $bootstrap->getObjectManager(); $state = $obj->get('Magento\Framework\App\State'); $state->setAreaCode('frontend'); $categories = $obj->create('Magento\Catalog\Model\ResourceModel\Category\Collection'); $categories->addIsActiveFilter() ->joinUrlRewrite(); foreach($categories as $cat){ $st = microtime(true); $dd = file_get_contents_ssl($cat->getUrl()); $fn = microtime(true); if(($fn - $st) > 0.9) echo $cat->getUrl()." : time: ".($fn - $st)."\n"; sleep(3); } $open = fopen("1000-popular-pages.csv","r"); while(($data = fgetcsv($open,4000,",")) !== FALSE){ if(filter_var($data[0],FILTER_VALIDATE_URL) !== FALSE && strpos($data[0],".pdf") === FALSE && strpos($data[0],"/blog/") === FALSE){ $st = microtime(true); $dd = file_get_contents_ssl($data[0]); $fn = microtime(true); if(($fn - $st) > 0.9) echo $data[0]." : time: ".($fn - $st)."\n"; sleep(3); } } fclose($open); function file_get_contents_ssl($url) { $ch = curl_init(); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); curl_setopt($ch, CURLOPT_HEADER, false); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_REFERER, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 3000); curl_setopt($ch, CURLOPT_TIMEOUT, 10000); $result = curl_exec($ch); if($result === FALSE) $result = curl_error($ch); curl_close($ch); return $result; }</code>これにより、ElasticSearch内部クエリキャッシングメカニズムが可能になります。
概要 この記事では、Magento 2 Webサイトの速度を改善するための7つの方法を紹介します:Varnishをフルページキャッシュとして使用し、キャッシュの設定ツール、JavaScriptの怠zyなロード、すべての画像をWebPに変換し、HTML圧縮、圧縮、融合を可能にしますJSおよびCSSファイルとキャッシュElasticsearchクエリの結果。これらの手順により、サーバーの応答時間とコアネットワークメトリックが改善されます。
以上がMagento2のウェブサイトをより速くするための7つの簡単な方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。