Proposer de découvrir un plugin, c’est bien. Le tester un peu, c’est déjà beaucoup mieux. Mais voila, c’est bien beau de vouloir le tester, mais si on le fait sur de nombreux plugins, autant mettre en place une sorte de protocole de test ne penses-tu pas ? Au moins, on y verra déjà plus clair.
C’est ce que j’ai décidé de faire, et sur cette page, je te propose de commencer par découvrir l’environnement en tant que tel. Ainsi, tu vas pouvoir connaître avec moultes détails l’ossature technique mise en œuvre pour tester ces plugins WooCommerce. Pour ce qui est de la procédure de test en elle-même, je t’invite à lire cet article.
Hébergement WooCommerce
Si WooCommerce s’impose dans le monde, c’est surtout qu’il s’agit d’un des rares CMS eCommerce accessible aux TPE TPME. On va pas se voiler la face, le CAC40 ne fait pas tourner un site de eCommerce sous WooCommerce. Des solutions comme Magento ou carrément des solutions customs seront privilégiées. Bref, tout cela pour dire que l’hébergement WooCommerce que nous utilisons est un simple hébergement OVH. Par simple j’entends l’offre la moins chère B-) J’imagine sans trop de difficulté que 99% des sites WooCommerce tournent sur un hébergement valant moins de 30€ par an; cela en fera un de plus.
PHP / MySQL
La version de PHP utilisée est la dernière stable, soit la version 7.0. Inutile de préciser que tous sites WordPress se doit de tourner en PHP 7 au grand minimum pour une histoire de performances.
MySQL est quand à lui fournit en version … bah j’en sais rien en fait… OVH ne me l’indique pas dans l’interface d’administration… Cool. Gageons que ce soit une des dernières versions…
SSL
Autant le dire directement, un site sans certificat SSL va bientôt faire partie de l’histoire ancienne. Je te conseils de recourir à un hébergement WordPress qui te propose l’utilisation de certificat let’s encrypt. Cela ne te coutera rien du tout, et en plus tu auras le joli petit cadenas vert sur ton site WooCommerce. Indispensable je te dis. Donc naturellement, nos tests sont tous menés sur une version https du site.
WooCommerce : l’éco-système
Découvrons ici tout ce qui fait le cœur de notre installation par défaut lorsque l’on fait la revu d’un plugin WooCommerce.
WooCommerce / WordPress
WooCommerce étant avant toute chose WordPress, nous utilisons la dernière version. Au moment de la rédaction de ce billet, nous en sommes à la version 4.9.5. WooCommerce, c’est comme WordPress, c’est toujours la dernière version qui est utilisée.
WordPress est installé en version simple. Entends par là que je ne procède pas à des tests sur du WordPress multisites. Cela mérite une petite précision. J’admets installer la quasi majorité de mes sites en mode multisites. Je trouve que cela confère bien souvent une série d’avantages. Cependant, dans la vraie vie, il me semble que ce type d’installations demeurent plutôt rare. J’ai donc fais le choix de traiter WordPress en installation classique, pour m’approcher de la configuration de monsieur tout le monde (tout du moins le plus possible).
Précisons également que WordPress est installé en français et dans un sous-domaine rooté; tu penses quand même pas que je vais louer un nom de domaine et un hébergement que pour ces tests ? Si ? Je t’en pris, hésites pas à nous faire une petite donation pour le coût lié à cet hébergement 😉 Puis tu sais quoi ? WordPress se plais très bien dans son sous-domaine va.
D’un point de vue configuration WooCommerce, cette dernière est plutôt classique. Voici quelques points notables :
- Activation du paiement hors ligne par chèque et virement bancaire
- Livraison au taux forfaitaire, que je fixe à 10 euros
- Installation par défaut de Storefront
- Non activation des services WooCommerce
- Non activation de Jetpack pour WooCommerce
En ce qui concerne l’installation par défaut de WordPress, voici quelques points notables sur notre configuration de test :
- Installation en sous-domaine
- Permaliens en mode Nom de l’article
- Création du compte testeur avec profil Gestionnaire de boutique
Le thème WooCommerce : Storefront
Nous l’avons vu, Storefront peut être installé en même temps que WooCommerce, durant la procédure d’installation de ce dernier. Lorsque nous revenons de l’écran de configuration WooCommerce, un message Storefront nous invite à créer la page d’accueil par défaut et d’importer des produits de tests. Nous activons les deux fonctionnalités. Cela nous permet d’avoir une toute petite boutique sur pied en trois secondes. Bon ok, 12 produits c’est un peu la loose, mais en fait, c’est plutôt suffisant dans le cadre de tests de plugins pour WooCommerce. Tu as besoin d’une boutique avec 13 000 000 de produits dessus pour tester un plugin d’impression en PDF de factures WooCommerce ?
Le monde merveilleux des plugins
Personnellement, j’ai beaucoup de mal à croire qu’un site WooCommerce puisse tourner exclusivement avec WooCommerce et Storefront; il va bien te falloir ajouter quelques plugins par-ci, par-là pour avoir ton site WooCommerce. Ainsi, pour continuer à coller au monde réel, notre WooCommerce est donc accompagné d’un tas de copains dont tu trouveras la liste ci-dessous. Chaque plugin est installé dans sa dernière version.
- Akismet
- AMP
- Broken link Checker
- Contact Form 7
- SEO by Yoast
- Glue for Yoast SEO & AMP
- Journal d’activités
- Google Analytics by monsterInsights
- EWWW Image Optimizer
- SecuPress
- Storefront Product Pagination
- Storefront Product Sharing
C’est une liste de plugins comme une autre dans le sens où bien que j’imagine que peux de gens utilisent exactement cette configuration, il n’en demeure pas moins que dans l’essentiel, l’ensemble des types de plugins indispensables à WordPress me semblent être représentés. Du plugins pour le SEO, du plugins pour la sécurité, du plugin pour l’optimisation des images et un peu de plugins pour Storefront. Je me suis longtemps posé la question de l’ajout d’un plugin multilingue. Si tel avait été le cas, j’aurais utilisé WPML sans l’ombre d’un doute. Mais bon, encore et toujours, l’idée est de collé à ce qu’est une vraie boutique dans au moins 80% des cas. Franchement, je pense vraiment pas que plus de 2 ou 3% des sites WooCommerce soient de vrais sites multilingues. Donc exit le multilingues.
Point plutôt positif, l’ensemble de ces plugins demandent fort peu de configuration mise à part pour SecuPress; non pas que sa configuration soit complexe, il faut juste passer partout pour tout activer, c’est tout. Pour faire simple, j’active l’ensemble des règles les plus restrictives, une fois que tous les autres plugins sont installés et configurés. Je vais jusqu’à bloquer l’ajout de thèmes et plugins si ça peut te donner une idée.
Monitoring des performances
Il arrivera fort régulièrement que le plugin à étudier soit un plugin qui fasse tout autre chose qu’accroître les performances de ton site WooCommerce. Alors pourquoi venir ajouter une couche de mesure de la performance ? Parce que l’on ne souhaite pas non plus un plugin développé avec les pieds !
Avec WordPress
Il y a quelques années de cela, j’aurais utilisé un super plugin ici, au doux nom de P3. Mais voila encore un super plugin qui n’est plus mis à jour depuis plus de deux ans… Dommage, j’aimais énormément ce plugin.
Il n’existe véritablement aucun remplaçant à ce plugin. Je me tourne donc vers Query Monitors qui ne fait pas le même job, mais nous offre un tas de données intéressantes à exploiter.
Temps de chargement
Les tests de temps de chargement sont effectués avec Pingdom. Ça te surprends hein ?! Un coup de pingdom avant l’installation du plugin WooCommerce à tester, un coup de pingdom ensuite. Le but est bien entendu, en fonction du plugin testé, soit de n’avoir strictement aucune différence, soit d’avoir du mieux.
Test de charge
L’idée ici n’est pas de faire planter le site, mais plutôt de simuler le trafic que pourrait recevoir un site déjà bien visible. Un peu par hasard, je suis tombé sur les services proposés par le site loadimpact.com. Avec un compte gratuit, il est possible de simuler un test de 50 connections sur 5 minutes; soit l’équivalent de 600 utilisateurs à l’heure. Je trouve pas cela ouf, voir même un peu limite.
Histoire d’être un peu plus violent et de titiller un peu le serveur web, j’utilise aussi la commande AB en ligne de commande.
L’idée est similaire à ce qui a été dit pour le temps de chargement sur l’application du test de charge.
Test qualitatif
Ici, nous allons tester l’aspect qualité du travail fini, à savoir s’assurer que tout ce qui constitue notre site WooCommerce soit le plus optimisé possible. En fait, nous allons surtout voir si l’introduction du plugin testé vient impacter positivement ou négativement le score d’origine. Pour ce faire, je recours aux services de GTMetrix.
Base de données
Intéressons nous maintenant un peu plus aux coulisses de notre site WooCommerce.
À l’installation du plugin
Je ne sais pas toi, mais je trouve cela très intéressant de regarder la base de données avant et après installation d’un plugin. Non pas que je sois particulièrement en mesure de faire une critique constructive rien qu’en lisant le nom des tables ou l’architecture générale choisie par le développeur du plugin en question. Non, je n’ai pas ce type de connaissances. Cependant, il est assez simple de mesurer la différence entre l’ajout fonctionnel d’un plugin côté WordPress, et son impact dans la base de donnée. Un exemple un peu plus concret s’impose je pense. Si j’installe un plugin qui ajoute simplement un champ dans le tunnel de conversion, il serait très étonnant de voir 7 tables se créer d’un seul coup, avec des tonnes de données dedans.
Si je fais cela, c’est aussi à cause d’une… mauvaise surprise qui m’est arrivé avec un plugin que j’utilise beaucoup. Comme je te l’ai dis plus haut, j’adore les versions multisites, même pour du WooCommerce. En regardant un jour un dump d’une base en particulier, je me suis rendu compte que j’avais plusieurs CENTAINES de tables… Et oui, ce fameux plugin ajoute plus de 20 tables à la base de données, et cela par site du réseau. L’angoisse quand on a une vingtaine de sites sur cette installation. Le savoir avant m’aurait peut-être fait prendre une autre décision.
À la désinstallation du plugin
Non parce que bon, c’est bien beau d’installer un plugin, mais il arrive parfois qu’on le désinstalle quelques temps plus tard (pour des milliers de raisons). Mon angoisse, c’est toujours de me demander dans quel état je vais retrouver ma base de données. Là, on le saura !
À l’avenir
je te l’ai déjà dis, l’idée est de coucher un environnement de test, avec ses outils, dans le but de faire des revues de plugins qui soient comparables les unes par rapport aux autres; au moins d’un point de vue procédural. De plus, cet environnement de test se veut être un site WooCommerce comme un autre avec ses plugins qui vont bien, et le thème que l’on aime. Ma sélection d’outils (plugins WordPress / WooCommerce et les outils externes) vient de ce que j’utilise aux quotidiens. Deux avantages : c’est une configuration plutôt crédible, je peux la configurer très rapidement.
Bien qu’il me semble que cet environnement soit assez intéressant pour se lancer dessus, je suis aussi certain que rien n’est jamais parfait dans ce bas monde. Ainsi, si tu as des idées, les commentaires te tendent chaudement les bras 😉
Il est donc probable que ce billet soit appelé à évolué dans le temps. Cela sera alors indiqué.
Si tu as réussi à tenir jusqu’ici, il est temps maintenant de découvrir la procédure de test en tant que telle.