ホームページ >テクノロジー周辺機器 >IT業界 >Magento2のウェブサイトをより速くするための7つの簡単な方法

Magento2のウェブサイトをより速くするための7つの簡単な方法

Joseph Gordon-Levitt
Joseph Gordon-Levittオリジナル
2025-02-08 10:49:08965ブラウズ

7 Easy Ways to Make a Magento 2 Website Faster

Magento 2 eコマースプラットフォームは、その速度の問題について批判されており、製品カタログページの遅いページと遅いチェックアウトプロセスは一般的な問題です。この記事では、Magento 2オンラインストアのランニング速度を改善するのに役立つ7つの実用的なヒントを共有します。

1キャッシュアプ​​リケーションとして使用します Varnishは、コンテンツをキャッシュし、Webサーバーの前にインストールするHTTPプロキシサーバーで、Webサイトのパフォーマンスを大幅に向上させます。 Magento 2には、ワニスのサポートが組み込まれています。アクティベーション方法は次のとおりです

admin&gt>
  1. 7 Easy Ways to Make a Magento 2 Website Faster

    ワニス構成タブを展開し、VCLファイルをエクスポートします。
  2. 7 Easy Ways to Make a Magento 2 Website Faster

    このファイルをシステム管理者またはホストサポートチームに相談して、デーモンの構成を提供します。

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 サイトの他の関連記事を参照してください。

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