Rumah >Peranti teknologi >industri IT >7 Cara Mudah untuk Membuat Laman Web Magento 2 Lebih Cepat

7 Cara Mudah untuk Membuat Laman Web Magento 2 Lebih Cepat

Joseph Gordon-Levitt
Joseph Gordon-Levittasal
2025-02-08 10:49:08993semak imbas

7 Easy Ways to Make a Magento 2 Website Faster

Platform e-dagang Magento 2 telah dikritik kerana masalah kelajuannya, dengan halaman katalog produk perlahan dan proses pemeriksaan perlahan menjadi masalah biasa. Artikel ini akan berkongsi tujuh petua praktikal untuk membantu anda meningkatkan kelajuan berjalan di kedai dalam talian Magento 2.

1. Varnis adalah pelayan proksi HTTP yang cache kandungan dan memasangnya di hadapan pelayan web untuk meningkatkan prestasi laman web dengan ketara. Magento 2 mempunyai sokongan terbina dalam varnis. Kaedah pengaktifan adalah seperti berikut:

Masukkan Panel Admin & GT;
  1. 7 Easy Ways to Make a Magento 2 Website Faster memperluaskan tab Konfigurasi Varnis dan mengeksport fail VCL.

  2. bercakap fail ini ke pentadbir sistem anda atau pasukan sokongan tuan rumah untuk konfigurasi daemon varnis. 7 Easy Ways to Make a Magento 2 Website Faster

  3. 2.
Magento 2 menggunakan cache halaman penuh (FPC) untuk mengurangkan masa tindak balas pelayan, tetapi permintaan pertama FPC biasanya lebih perlahan. Alat pemanasan cache (skrip atau lanjutan) boleh membuat permintaan ini terlebih dahulu, memisahkan penyimpanan cache, dengan itu mengurangkan masa pertama (TTFB). Anda boleh memasang modul Magento 2 (berbayar atau percuma) sebagai alat pemanasan cache, atau membuat skrip PHP mudah yang menghangatkan semua kategori dan halaman yang paling popular:

Anda boleh mengeksport senarai halaman popular dari Google Analytics.

3.

Memindahkan kod JavaScript ke bahagian bawah halaman dapat meningkatkan kelajuan lukisan kandungan pada skrin pertama. Magento 2.4 menyediakan tetapan pengurusan yang sepadan, atau gunakan baris arahan:

<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.

Imej WEBP mengambil ruang cakera kurang daripada JPEG dan PNG. Menukar imej laman web ke format Webp dapat mengurangkan saiz halaman dan meningkatkan prestasi. Anda boleh menggunakan alat baris untuk menukar:

(

kualiti tetapan parameter, di sini ialah 80). Magento 2 juga mempunyai beberapa modul yang boleh melaksanakan transformasi ini.
<code class="language-bash">php bin/magento config:set  dev/js/move_script_to_bottom 1
php bin/magento cache:flush</code>

5 Mampatan HTML membantu mengurangkan saiz halaman dan mempercepatkan. Magento 2.4 memampatkan HTML tanpa modul tambahan. Dayakan Kaedah:

cwebp

6.
<code class="language-bash">cwebp -q 80 image.png image.webp</code>
memampatkan dan menggabungkan fail JS dan CSS membantu mengurangkan saiz halaman dan mengurangkan permintaan HTTP, dengan itu mempercepatkan laman web anda. Dayakan Kaedah:

-q

7.

Magento 2.4 Gunakan Enjin Elasticsearch untuk Pengindeksan dan Pengurusan Direktori. Untuk direktori besar, hasil pertanyaan cache dapat meningkatkan prestasi Elasticsearch. Buka fail vendor/elasticsearch/elasticsearch/src/Elasticsearch/Connections/Connection.php dan tambahkan kod berikut berhampiran kira -kira 365 baris:

<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>

Ini akan membolehkan mekanisme caching pertanyaan dalaman Elasticsearch.

Ringkasan

Artikel ini memperkenalkan tujuh cara untuk meningkatkan kelajuan laman web Magento 2: Menggunakan varnis sebagai cache halaman penuh, menubuhkan alat pemanasan cache, pemuatan malas JavaScript, menukar semua imej ke Webp, membolehkan pemampatan HTML, memampatkan dan menggabungkan Fail JS dan CSS dan hasil pertanyaan Cache Elasticsearch. Langkah -langkah ini akan meningkatkan masa tindak balas pelayan dan metrik rangkaian teras.

Atas ialah kandungan terperinci 7 Cara Mudah untuk Membuat Laman Web Magento 2 Lebih Cepat. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn