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
Lepaskan: 2025-02-08 10:49:08
asal
1086 orang telah melayarinya

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:

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;
}
Salin selepas log masuk
Salin selepas log masuk

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.
php bin/magento config:set  dev/js/move_script_to_bottom 1
php bin/magento cache:flush
Salin selepas log masuk

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

cwebp

6.
cwebp -q 80 image.png image.webp
Salin selepas log masuk
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:

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;
}
Salin selepas log masuk
Salin selepas log masuk

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 Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan