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
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
- Connectez-vous au panneau de contrôle
- Allez dans Mes Produits >> Hébergement web >> Détails de l’hébergement
- Dans le panneau de gauche, allez dans les paramètres PHP
- Vous vous trouvez maintenant dans l’Aperçu. Vérifiez la version de PHP.
- Allez dans l’onglet On/Off.
- Activez APC.
- 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.
Étape 2: Maintenant, configurez également le cache utilisateur.
- Créez un compte SSH sur le pack d’hébergement
- Pour plus de facilité, ajoutez des clés SSH.
- 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>
É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 apc.php dans votre répertoire Magento
- Ouvrez le fichier apc.php dans votre navigateur. La page affichera des informations sur la mise en cache des fichiers.
- Dans votre terminal ou invite de commande, ouvrez votre fichier apc.php et modifiez ADMINUSERNAME et ADMINPASSWORD. Enregistrez.
- Ouvrez à nouveau le fichier apc.php dans votre navigateur. Allez dans l’onglet User Cache Entries.
- Connectez-vous avec le nom d’utilisateur et le mot de passe que vous venez de définir.
- Ici, vous verrez les entrées du cache utilisateur.
Gzip et expiration du cache
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.
- Ouvrez un terminal ou une invite de commande et connectez-vous.
- Dans vos fichiers, allez dans le dossier Shell dans votre répertoire d’installation: [Magentofolder]/shell
- Exécutez la commande suivante:
php indexer.php
- Vous pouvez maintenant voir les options. Saisissez les commandes suivantes:
- Pour reconstruire tous les index:
php indexer.php --reindexall
- Les index sont reconstruits si des modifications pertinentes sont stockées via le back-end:
php indexer.php --mode-realtime
- Pour reconstruire tous les index:
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.
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.
- Connectez-vous à votre back-end de Magento pour activer les catalogues à plat
- Allez dans Système >> Configuration.
- Allez ensuite dans Catalogue.
- Choisissez la première rubrique Frontend.
- 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)
Optimisations dans le fichier .htaccess
Copiez et collez le code suivant au bas de votre 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 ##