Infogérant - Dompteur de serveurs - Logo principal

Configurer Magento

Magento 2, puissant mais exigeant, nécessite une configuration soignée pour offrir des performances optimales.
De la sécurité HTTP au cache Redis, en passant par la gestion du mode maintenance, l’indexation et la configuration OpenSearch, chaque réglage contribue à améliorer la vitesse, la stabilité et la sécurité de votre boutique.

Configuration, sécurité et performances


Ce tutoriel explique comment configurer Magento 2 sur un hébergement web en optimisant les performances PHP, la sécurité HTTP et le cache navigateur.

.htaccess optimisé pour Magento 2

Le fichier `.htaccess` permet de renforcer la sécurité et d’améliorer le temps de chargement des ressources Magento. Voici un exemple à adapter à la racine du site :


Header always set X-Content-Type-Options "nosniff"
Header set X-Frame-Options "SAMEORIGIN"
Header set X-XSS-Protection "1; mode=block"
#Header always set Set-Cookie HttpOnly;Secure
Header always set Strict-Transport-Security "max-age=63072000; includeSubDomains; preload"

  Header set Content-Type "text/html; charset=utf-8"



AddType application/font-woff2 .woff2


  ExpiresActive On
  ExpiresDefault "access plus 1 month"
  ExpiresByType text/html "access plus 0 seconds"
  ExpiresByType application/json "access plus 0 seconds"
  ExpiresByType application/xml "access plus 0 seconds"
  ExpiresByType text/xml "access plus 0 seconds"
  ExpiresByType application/atom+xml "access plus 1 hour"
  ExpiresByType application/rss+xml "access plus 1 hour"
  ExpiresByType image/x-icon "access plus 1 week"
  ExpiresByType image/jpeg "access plus 1 month"
  ExpiresByType image/png "access plus 1 month"
  ExpiresByType image/webp "access plus 1 month"
  ExpiresByType image/svg+xml "access plus 1 month"
  ExpiresByType video/mp4 "access plus 1 month"
  ExpiresByType font/woff2 "access plus 1 month"
  ExpiresByType font/woff "access plus 1 month"
  ExpiresByType font/ttf "access plus 1 month"
  ExpiresByType application/vnd.ms-fontobject "access plus 1 month"
  ExpiresByType text/css "access plus 1 year"
  ExpiresByType application/javascript "access plus 1 year"
  ExpiresByType text/javascript "access plus 1 year"



  AddOutputFilterByType DEFLATE text/html text/css text/javascript application/javascript



  AddType application/x-font-ttf .ttf
  AddType application/x-font-woff .woff
  AddType application/font-woff2 .woff2

Fichier .user.ini ou php.ini personnalisé

memory_limit = 2048M
max_execution_time = 18000
max_input_vars = 20000
opcache.enable_cli = 1
opcache.memory_consumption = 512M
opcache.interned_strings_buffer = 16
opcache.max_accelerated_files = 100000
opcache.fast_shutdown = 1
display_errors = off
zlib.output_compression = on
session.auto_start = off

Modules PHP généralement nécessaires

extension = intl.so
extension = sodium.so
extension = sockets.so
extension = redis.so
extension = imagick.so

Besoin d’un hébergement Magento optimisé ?


Bénéficiez de performances supérieures, d’une sécurité renforcée et d’une assistance experte avec notre solution d’hébergement Magento.

Activer ou désactiver le mode maintenance


Magento permet de mettre la boutique en mode maintenance à l’aide des commandes suivantes :

bin/magento maintenance:enable

Pour désactiver le mode maintenance :

bin/magento maintenance:disable

Une fois activé, Magento crée un fichier `var/.maintenance.flag` qui provoque l’affichage d’une page de maintenance pour les visiteurs.

Lire et modifier la configuration OpenSearch / Elasticsearch


Lire la configuration actuelle

bin/magento config:show catalog/search/opensearch_server_hostname
bin/magento config:show catalog/search/opensearch_server_port

Modifier la configuration

bin/magento config:set catalog/search/opensearch_server_hostname 127.0.0.1
bin/magento config:set catalog/search/opensearch_server_port 9200

Ces paramètres sont essentiels pour pointer Magento vers le bon serveur OpenSearch ou Elasticsearch.

Réinitialiser et relancer l’indexation Magento


Réinitialiser les index

bin/magento index:reset

Relancer l’indexation

bin/magento index:reindex

Cette commande est utile après des modifications importantes : ajout de produits, changements de structure, import, etc.

Confiez l’optimisation et la gestion de votre Magento à des experts


Profitez d’un Magento plus rapide, sécurisé et stable grâce à notre service d’infogérance sur mesure. Nous adaptons chaque configuration aux spécificités de votre boutique pour garantir performance et sérénité au quotidien.

Bien configurer le cache Redis dans Magento 2


Magento 2 permet de déporter efficacement son système de cache sur un moteur comme Redis, qui offre rapidité, persistance et scalabilité. L’utilisation de Redis permet non seulement de soulager le disque du serveur, mais également d’accélérer considérablement les performances du site, en particulier sur les systèmes de cache internes (`cache`) et le cache des pages HTML (`page_cache`).

Pourquoi utiliser Redis pour le cache Magento ?

Redis est un moteur NoSQL en mémoire, réputé pour sa vitesse d’accès et sa capacité à gérer de grands volumes de données volatiles. Il est particulièrement adapté pour :

  • Le cache système de Magento (`cache`) : pour les fichiers de configuration, les blocs, les layouts compilés, etc.
  • Le cache des pages HTML (`page_cache`) : pour livrer les pages aux visiteurs plus rapidement, surtout pour les utilisateurs non connectés.

En utilisant Redis, vous bénéficiez :

  • D’une meilleure gestion de la mémoire via des TTL (temps de vie) personnalisables
  • D’une séparation claire entre les types de cache (via l’utilisation de différentes bases Redis)
  • D’une compression des données pour limiter la consommation mémoire
  • D’une gestion performante de l’éviction des clés expirées

Redis pour le cache Magento : configuration recommandée


Dans le fichier `env.php` de Magento 2, vous pouvez ajouter la configuration suivante :

1. Cache système (`cache`)

'cache' => [
    'frontend' => [
        'default' => [
            'backend' => 'Cm_Cache_Backend_Redis',
            'backend_options' => [
                'server' => '127.0.0.1',
                'port' => '6379',
                'database' => '0',
                'password' => '',
                'compress_data' => '1',
                'compression_library' => 'gzip',
                'ttl' => 3600
            ]
        ]
    ]
]

2. Cache des pages (`page_cache`)

'page_cache' => [
    'backend' => 'Cm_Cache_Backend_Redis',
    'backend_options' => [
        'server' => '127.0.0.1',
        'port' => '6379',
        'database' => '1',
        'password' => '',
        'compress_data' => '1',
        'compression_library' => 'gzip',
        'ttl' => 86400
    ]
]

Ces paramètres sont essentiels pour pointer Magento vers le bon serveur OpenSearch ou Elasticsearch.

Performance Magento avec Redis :
conseils complémentaires


Une bonne configuration de Redis pour Magento permet de tirer pleinement parti du système de cache natif de la plateforme. Cela se traduit directement par une amélioration du temps de réponse pour les visiteurs et une meilleure stabilité du backoffice en cas de trafic élevé.

  • Utilisez une base Redis distincte pour chaque type de cache afin d’éviter toute interférence ou saturation.
  • Vérifiez que Redis est bien installé et fonctionnel sur votre serveur (commande : `redis-cli ping` doit répondre `PONG`).
  • Surveillez la mémoire Redis : configurez une limite mémoire dans `redis.conf` avec `maxmemory` et une politique d’éviction comme `allkeys-lru`.
  • Activez la compression pour économiser de la RAM, surtout utile pour les caches volumineux comme `page_cache`.

Obtenir une configuration Magento sur mesure


Besoin d’accompagnement pour optimiser votre hébergement Magento ?

Contactez notre équipe d’infogérance pour une configuration sur mesure.