Magento – Optimisation générale

Magento est un des SGC pour commerce électronique les plus populaires. Moyennant quelques petites optimisations, il est capable de parfaitement gérer de petites et de grandes boutiques en ligne. Cet article vous aidera à préparer votre SGC à faire face à d’importantes quantités de trafic, sans faire de compromis au niveau de la vitesse.

La première partie de cet article vous montrera des techniques d’optimisation standards, applicables à n’importe quel hébergement, même si vous n’utilisez pas les options de mise en cache.

Ce n’est que lorsque vous aurez terminé l’optimisation générale que vous pourrez vous attaquer à la seconde partie de l’article, qui vous montre comment votre SGC peut tirer profit des outils de l’hébergement Performance.


Table des matières:


Optimisation générale

Cet article décrit les optimisations habituelles pouvant être faites dans Magento.

Certaines optimisations sont gratuites, d’autres ne sont pas payantes pour l’instant, et d’autres encore nécessitent des mises à niveau.

Activation d’APC

Étape 1: Activer APC dans le panneau de contrôle

APC est disponible avec PHP 5.4 et toute version antérieure

  1. Connectez-vous au panneau de contrôle
  2. Allez dans Mes Produits >> Hébergement web >> Détails de l’hébergement
  3. Dans le panneau de gauche, allez dans les paramètres PHP
  4. Vous vous trouvez maintenant dans l’Aperçu. Vérifiez la version de PHP.l'Aperçu
  5. Allez dans l’onglet On/Off.l’onglet On/Off
  6. Activez APC.Activez APC
  7. Les modifications de PHP nécessitent du temps. Pour vérifier si vos modifications ont été correctement appliquées, allez dans l’onglet PHP.
    Cherchez la section APC. Si elle s’y trouve, cela signifie que vous avez correctement activé APC.l’onglet PHP
    activé APC

Étape 2: Maintenant, configurez également le cache utilisateur.

  1. Créez un compte SSH sur le pack d’hébergement
  2. Pour plus de facilité, ajoutez des clés SSH.
  3. Ouvrez un terminal ou une invite de commande et connectez-vous. Ajoutez ces lignes dans le fichier local.xml (/app/etc/local.xml), avec sous le tag <global>:
    <cache>
    <backend>apc</backend>
    <prefix>someprefix</prefix>
    </cache>
    

    Terminal
    /app/etc/local.xml
    le fichier local.xml

Étape 3: Vérifiez si la mise en cache se fait correctement ! Vous avez besoin du fichier apc.php. Pour l’obtenir, téléchargez la dernière installation d’APC.

téléchargez la dernière installation d’APC

  1. Téléchargez apc.php dans votre répertoire MagentoTéléchargez apc.php
  2. Ouvrez le fichier apc.php dans votre navigateur. La page affichera des informations sur la mise en cache des fichiers.Ouvrez le fichier apc.php
  3. Dans votre terminal ou invite de commande, ouvrez votre fichier apc.php et modifiez ADMINUSERNAME et ADMINPASSWORD. Enregistrez.Terminal
    fichier apc.php
    Modifiez username et password
  4. Ouvrez à nouveau le fichier apc.php dans votre navigateur. Allez dans l’onglet User Cache Entries.l’onglet User Cache Entries
  5. Connectez-vous avec le nom d’utilisateur et le mot de passe que vous venez de définir.Log in
  6. Ici, vous verrez les entrées du cache utilisateur.les entrées du cache utilisateur

Gzip et expiration du cache

Terminal
.htaccess

Pour une optimisation encore plus poussée, vous pouvez utiliser Gzip et l’expiration du cache. Pour cela, il vous suffit de copier et coller le code suivant au bas du fichier .htaccess:

# BEGIN moddeflate

# Insert output filter by type
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript
AddOutputFilterByType DEFLATE application/xml application/xhtml+xml application/rss+xml
AddOutputFilterByType DEFLATE application/javascript application/x-javascript
AddOutputFilterByType DEFLATE application/x-httpd-php
AddOutputFilterByType DEFLATE application/cgi-php5
AddOutputFilterByType DEFLATE application/cgi-php53
AddOutputFilterByType DEFLATE application/cgi-php54

# Don't compress images, compressed files, docs nor movies
SetEnvIfNoCase RequestURI .(?:gif|jpe?g|png)$ no-gzip dont-vary
SetEnvIfNoCase RequestURI .(?:exe|t?gz|zip|bz2|sit|rar)$ no-gzip dont-vary
SetEnvIfNoCase RequestURI .(?:pdf|doc)$ no-gzip dont-vary
SetEnvIfNoCase RequestURI .(?:avi|mov|mp3|mp4|rm)$ no-gzip dont-vary

# END moddeflate

# BEGIN expires
# Turn on Expires and set default to 0
ExpiresActive On
ExpiresDefault A0

# Set up caching on media files for 1 year
<filesMatch "\.(flv|ico|pdf|avi|mov|ppt|doc|mp3|wmv|wav)$">
ExpiresDefault A29030400
Header append Cache-Control "public"

# Set up caching on media files for 1 week
<filesMatch "\.(gif|jpg|jpeg|png|swf)$">
ExpiresDefault A604800
Header append Cache-Control "public"

# Set up 2 Hour caching on commonly updated files
<filesMatch "\.(xml|txt|html|js|css)$">
ExpiresDefault A7200
Header append Cache-Control "proxy-revalidate"

# Force no caching for dynamic files
<filesMatch "\.(php|cgi|pl|htm)$">
ExpiresActive Off
Header set Cache-Control "private, no-cache, no-store, proxy-revalidate, no-transform"
Header set Pragma "no-cache"

# END expires

Activer et configurer l’indexer

Avant de pouvoir entamer cette étape, vous devez arrêter APC et ensuite le redémarrer.

La réindexation réorganise les index des produits – à partir des index stockés dans plusieurs tableaux, pour obtenir une structure de tableau unique. Les requêtes envoyées à la base de données deviennent ainsi plus simples et plus rapides.

  1. Ouvrez un terminal ou une invite de commande et connectez-vous.Terminal
  2. Dans vos fichiers, allez dans le dossier Shell dans votre répertoire d’installation: [Magentofolder]/shell[Magentofolder]/shell
  3. Exécutez la commande suivante:
    php indexer.php
    

    Exécutez la commande

  4. Vous pouvez maintenant voir les options. Saisissez les commandes suivantes:
    1. Pour reconstruire tous les index:
      php indexer.php --reindexall
      

      Exécutez la commande

    2. Les index sont reconstruits si des modifications pertinentes sont stockées via le back-end:
      php indexer.php --mode-realtime
      

      Exécutez la commande

Planification de Cron via les tâches programmées

Planifiez une tâche programmée pour que cron.php s’ouvre toutes les 5 minutes via le panneau de contrôle.

Cron.php est un fichier par défaut qui se trouve dans le répertoire racine de l’installation de la boutique en ligne Magento. Il gère l’exécution régulière automatique de tâches essentielles.

Cron.php

Activer les catalogues à plat

Lorsque les catalogues à plat sont activés, de nouveaux tableaux de catalogues à une seule ligne sont créés au fur et à mesure et peuvent être régulièrement mis à jour via le Cron de Magento.

  1. Connectez-vous à votre back-end de Magento pour activer les catalogues à plat
    1. Allez dans Système >> Configuration.Système >> Configuration
    2. Allez ensuite dans Catalogue.Catalogue
    3. Choisissez la première rubrique Frontend.Frontend
    4. Maintenant, activez « Utiliser le catalogue à plat pour les catégories » et « Utiliser le catalogue à plat pour les produits ». (Astuce: Si les champs sont grisés, réindexez depuis Système >> Gestion des index)« Utiliser le catalogue à plat pour les catégories » et « Utiliser le catalogue à plat pour les produits »
      Save configuration

Optimisations dans le fichier .htaccess

Copiez et collez le code suivant au bas de votre fichier .htaccess

Terminal
fichier .htaccess

#Leverage Browser Caching

## EXPIRES CACHING ##

ExpiresActive On
ExpiresByType image/jpg "access plus 1 year"
ExpiresByType image/jpeg "access plus 1 year"
ExpiresByType image/gif "access plus 1 year"
ExpiresByType image/png "access plus 1 year"
ExpiresByType text/css "access plus 1 month"
ExpiresByType application/pdf "access plus 1 month"
ExpiresByType text/x-javascript "access plus 1 month"
ExpiresByType application/x-shockwave-flash "access plus 1 month"
ExpiresByType image/x-icon "access plus 1 year"
ExpiresDefault "access plus 2 days"

## EXPIRES CACHING ##
Mis à jour le 30 mars 2020

Cet article a-t-il été utile ?

Need support?
Can’t find the answer you’re looking for? Don’t worry we’re here to help!
Contact support

Avez-vous trouvé une solution ?

support_bottom_contact_alt

Nos spécialistes sont prêts à vous fournir une assistance gratuite 24 h/24 et 7 j/7. N’hésitez pas à contacter Joachim et ses collègues via e-mail ou téléphone.

support_bottom_contact_alt
Joachim Coessens Assistance fournie par des spécialistes