Maison >Périphériques technologiques >Industrie informatique >7 façons faciles de créer un site Web Magento 2 plus rapidement

7 façons faciles de créer un site Web Magento 2 plus rapidement

Joseph Gordon-Levitt
Joseph Gordon-Levittoriginal
2025-02-08 10:49:08966parcourir

7 Easy Ways to Make a Magento 2 Website Faster

La plate-forme de commerce électronique Magento 2 a été critiquée pour ses problèmes de vitesse, les pages de catalogue de produits lents et le processus de paiement lent étant des problèmes courants. Cet article partagera sept conseils pratiques pour vous aider à améliorer la vitesse de course de la boutique en ligne Magento 2.

1. Varnish est un serveur proxy HTTP qui cache le contenu et l'installe devant un serveur Web pour améliorer considérablement les performances du site Web. Magento 2 a une prise en charge intégrée pour le vernis. La méthode d'activation est la suivante:

    Entrez le panneau d'administration et GT;
  1. 7 Easy Ways to Make a Magento 2 Website Faster

  2. Développez l'onglet Configuration Varnish et exportez le fichier VCL.
  3. 7 Easy Ways to Make a Magento 2 Website Faster

  4. Parlez de ce fichier à votre administrateur système ou à l'équipe d'assistance hôte pour la configuration du démon de vernis.

2.

Magento 2 utilise le cache pleine page (FPC) pour réduire le temps de réponse du serveur, mais la première demande de FPC est généralement plus lente. Un outil d'échauffement de cache (script ou extension) peut faire ces demandes à l'avance, en remplissant le stockage du cache, réduisant ainsi le premier octet (TTFB). Vous pouvez installer le module Magento 2 (payé ou gratuit) comme un outil de préchauffage de cache, ou créer un script PHP simple qui réchauffe toutes les catégories et les pages les plus populaires:

Vous pouvez exporter une liste de pages populaires de Google Analytics.

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

Le déménagement du code JavaScript vers le bas de la page peut améliorer la vitesse du contenu de dessin sur le premier écran. Magento 2.4 fournit des paramètres de gestion correspondants ou utilisez la ligne de commande:

4.

Les images Webp occupent moins d'espace disque que JPEG et PNG. La conversion des images du site Web au format WebP peut réduire la taille des pages et améliorer les performances. Vous pouvez utiliser l'outil de ligne de commande

pour convertir:

<code class="language-bash">php bin/magento config:set  dev/js/move_script_to_bottom 1
php bin/magento cache:flush</code>

( Qualité de réglage des paramètres, voici 80). Magento 2 a également quelques modules qui peuvent implémenter cette transformation.

5. cwebp La compression HTML aide à réduire la taille des pages et à accélérer. Magento 2.4 Compress HTML sans modules supplémentaires. Activer la méthode:

<code class="language-bash">cwebp -q 80 image.png image.webp</code>

-q 6.

Compression et fusion des fichiers JS et CSS aide à réduire la taille des pages et à réduire les demandes HTTP, accélérant ainsi votre site Web. Activer la méthode:

7.

Magento 2.4 Utilisez le moteur Elasticsearch pour l'indexation et la gestion des répertoires. Pour les grands répertoires, les résultats de la requête de cache peuvent améliorer les performances de la recherche sur Elastics. Ouvrez le fichier vendor/elasticsearch/elasticsearch/src/Elasticsearch/Connections/Connection.php et ajoutez le code suivant près d'environ 365 lignes:

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

Cela permettra le mécanisme de mise en cache des requêtes internes de la recherche Elasticsearch.

Résumé

Cet article introduit sept façons d'améliorer la vitesse des sites Web Magento 2: en utilisant Varnish comme cache pleine page, en configurant un outil de préchauffage du cache, un chargement paresseux de JavaScript, en convertissant toutes Fichiers JS et CSS et Cache Elasticsearch Results Query. Ces étapes amélioreront le temps de réponse du serveur et les métriques du réseau central.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn