Utilisez Magento si vous êtes sérieux au sujet du commerce électronique

Publié: 2022-03-11

Vous avez peut-être entendu dire que Magento est la plate-forme de commerce électronique que vous utilisez si vous êtes sérieux au sujet de votre entreprise - et vous êtes sérieux au sujet de votre entreprise - vous avez donc opté pour Magento.

Mais savez-vous dans quoi vous vous embarquez ?

Magento est un programme incroyablement puissant. Un blogueur que j'ai lu l'a comparé à un Leatherman, car il avait un outil pour chaque utilisation. J'aime y penser davantage comme l'une de ces grandes télécommandes universelles que les gens achetaient et qui avaient apparemment une centaine de boutons programmables qui pouvaient contrôler tous les appareils multimédias de leur maison.

Il peut faire à peu près n'importe quoi si, et seulement si, vous êtes prêt à consacrer du temps et de l'argent pour y arriver. Magento c'est génial, vraiment, mais c'est aussi complexe. Êtes-vous prêt à consacrer du temps à éduquer vos clients (ou sont-ils assez avertis pour apprendre eux-mêmes) comment utiliser le panneau d'administration incroyablement puissant de Magento ? Si ce n'est pas le cas, vous voudrez peut-être envisager une autre solution.

Magento est un système expert. Tout comme les différents produits Adobe, tels que Photoshop et Illustrator, il récompense l'expertise, mais au prix d'une courbe d'apprentissage abrupte. Cela peut être exténuant au début, mais avec un peu de travail, cela devient un outil puissant.

Pour votre entreprise, cela se traduit par un hébergement plus coûteux (dépenser 300 $ par mois sur l'hébergement AWS vous fait-il peur ?), des coûts de développement plus élevés et plus de temps pour comprendre les fonctionnalités administratives, mais une fois ces obstacles surmontés, vous disposez d'une plate-forme. qui est infiniment extensible et évolutif.

En raison de la flexibilité et de la capacité d'évolution de Magento, votre entreprise ne dépassera pas Magento de si tôt, et si c'est le cas, vous ferez tellement d'affaires que vous réussirez suffisamment pour aborder la prochaine étape de l'évolution du commerce électronique.

Magento est la principale plateforme de commerce électronique, avec environ 30 % du marché.

Magento excelle (et, en fait, peut être la seule option en dehors d'une application Web personnalisée) lorsque vous :

  • Ayez un inventaire important et complexe.
  • Besoin de modéliser des types de produits complexes.
  • Avoir un contenu relativement statique.
  • Vous souhaitez gérer plusieurs magasins à partir d'un seul back-end CMS.
  • Besoin d'un panneau d'administration super puissant et extensible.

Parmi les autres grands avantages, citons :

  • La large base d'utilisateurs et le soutien commercial de Magento signifient qu'il est activement développé et sécurisé. Les mises à jour de sécurité sont publiées régulièrement et en temps opportun.
  • Magento prend également en charge une grande variété de passerelles de paiement.
  • Des extensions Magento ont été développées pour tout, des enchères à l'importation et à l'exportation de données.
  • Magento est optimisé pour le référencement.

Magento : le commerce électronique pour les experts

Magento est open-source et a été spécialement conçu pour le commerce électronique. C'est un framework PHP vaguement basé sur le Zend Framework et utilise une base de données MySQL pour le stockage. Son système de modèles de modules a une structure de dossiers hiérarchique, ce qui permet aux développeurs et concepteurs de Magento de remplacer les fichiers de base et de thème sans les modifier et sans interrompre inutilement les mises à jour ultérieures.

Son histoire open source est à la fois une bénédiction et une malédiction.

L'écosystème Magento n'existerait probablement pas sans lui, mais il a également abouti à une base de code volumineuse et complexe qui est parfois mal documentée et dont les fonctions portent souvent des noms confus. Parfois, on a l'impression que tout dans Magento est une exception à une règle, et souvent des modifications doivent être apportées à de nombreux fichiers différents pour implémenter une seule modification de fonctionnalité.

C'est en partie pourquoi les services de développement de sites Web de commerce électronique sont chers. Les experts ont mis du temps, suivi les cours, parcouru le code, obtenu les certificats – travaillé très dur pour comprendre et maîtriser la bête complexe – et en tant que tels, ils méritent et s'attendent à être rémunérés équitablement pour leur temps et leur expertise.

La mise en cache peut être un problème avec Magento.

Correctement configuré sur une solution d'hébergement professionnelle, Magento est hautement évolutif et peut fonctionner à une vitesse fulgurante. Une mauvaise configuration sur un fournisseur d'hébergement sous-alimenté prendra des années à charger même la page la plus simple. La mise en cache est la réponse : mise en cache des opcodes PHP, mise en cache de la base de données et mise en cache de la page entière.

La mise en cache des opcodes est désormais quasiment standard avec PHP, mais vous devrez peut-être mettre à jour le fichier php.ini pour le configurer. Un cache back-end Redis est également indispensable. Et si vous voulez les meilleures performances absolues, un cache de page entière, comme Varnish, est fortement recommandé.

Ces exigences signifient que vous avez besoin d'une solution d'hébergement qui prendra en charge ces fonctionnalités, et vous avez besoin d'une équipe de développement Magento qui sait comment les configurer correctement. Magento ne fonctionnera pas bien sur les fournisseurs d'hébergement à prix réduits, comme Bluehost et GoDaddy.

Vous devrez choisir une instance Amazon EC2 ou Digital Ocean (ou une instance de l'un des fournisseurs d'hébergement géré spécifiques à Magento qui a déjà configuré ces fonctionnalités).

Et qu'est-ce que c'est que toutes ces caches ?

De manière générale, un cache est un tampon de stockage à court terme pour les données extraites du disque ou calculées.

C'est la façon dont l'ordinateur dit : j'ai eu tout le mal de récupérer ou de générer ces données, autant les garder un peu de temps au cas où quelqu'un d'autre en aurait besoin.

Étant donné que les caches sont généralement en mémoire volatile, la récupération des données d'un cache est beaucoup plus rapide que le recalcul ou la lecture à partir du disque.

Les différents caches mentionnés ci-dessus fonctionnent à différents niveaux d'abstraction dans le framework.

Le cache d'opcode fonctionne au niveau de la compilation du code PHP et enregistre les morceaux de code PHP déjà compilés pour une exécution ultérieure. Un cache principal pour Magento est une amélioration du système de mise en cache des fichiers. Pour afficher une page, Magento doit parcourir potentiellement des centaines de fichiers PHP et XML. C'est lent.

Souvent, le contenu de la page ne change pas entre les requêtes. Pour cette raison, lorsque Magento rend une page, il enregistre les résultats dans un cache du système de fichiers.

C'est plus rapide que de restituer la page. Mais les lectures de disque sont encore relativement lentes, donc utiliser Redis comme cache en mémoire pour stocker ces blocs et pages rendus est beaucoup plus rapide (et il peut également être utilisé pour stocker des données de session).

Le troisième cache que j'ai mentionné, Varnish, est un cache pleine page.

Il fonctionne complètement séparément de Magento (et est généralement installé sur un serveur séparé). Il s'agit d'un proxy inverse HTTP de mise en cache : il se situe entre votre site Web et le monde, enregistrant des pages entières et les associant à des URL de requête.

La mise en cache sonne bien, non ? C'est le cas, mais cela ajoute également une complexité importante.

Considère ceci. Maintenant, vous avez ajouté une base de données Redis à votre serveur ; vous avez mis à jour et maintenu vos fichiers de configuration ; et vous avez peut-être ajouté un autre serveur pour héberger votre cache pleine page Varnish.

De plus, que se passe-t-il lorsqu'une page change de contenu ? Comment le cache sait-il qu'il ne doit pas envoyer le résultat mis en cache ? Oh oh.

Il existe évidemment des solutions à cela, appelées invalidation du cache, mais cela ajoute une autre couche de réflexion, de complexité et de problèmes potentiels.

En plus de cela, si votre équipe de développement est vraiment professionnelle, elle va insister sur un environnement de test en plus de l'environnement de production ainsi qu'un dépôt Git sur GitHub pour le contrôle des sources (et d'ailleurs, s'ils sont n'utilisant pas le contrôle de code source, trouvez un autre développeur !).

Une alternative est WordPress WooCommerce.

Il est utile de comparer Magento avec l'une de ses principales alternatives : WordPress avec le plugin WooCommerce installé.

J'ai récemment travaillé avec une entreprise à Denver qui avait un site Web et une solution d'hébergement Magento fantastiques. Ils disposaient d'une instance Amazon EC2 pour le serveur de production, ainsi que d'une autre pour leur environnement de test. J'ai été amené à améliorer les performances et à les aider à mettre en place une refonte complète du site Web.

Je les ai configurés avec un cache back-end Redis, qui chargeait la page presque instantanément, et j'ai travaillé avec le concepteur pour transformer ses maquettes Photoshop en un site Web en direct.

Après quelques semaines de travail, le site Web avait fière allure. Cependant, en continuant à travailler avec eux, j'ai commencé à réaliser que les coûts d'hébergement et les coûts de développement n'étaient pas en ligne avec ce qu'ils pouvaient se permettre.

Au fur et à mesure que leur image de marque évoluait, ils souhaitaient apporter davantage de modifications au site Web, ainsi qu'intégrer un certain nombre de modules personnalisés. Ils me payaient des milliers de dollars pour aider à la conception et à la refonte du site Web. De plus, à l'époque, ils n'avaient qu'environ six produits. En plus de cela, ils m'ont demandé de créer du contenu dynamique et de créer un blog sur le site Web.

En examinant leurs besoins, l'état d'avancement de l'entreprise et le montant qu'ils payaient pour l'hébergement et le développement, nous avons décidé que Magento ne leur convenait pas parfaitement.

Après de nombreuses recherches, ils ont opté pour un nouveau site Web WordPress/WooCommerce.

Je me suis essentiellement dissuadé d'un emploi, mais ma priorité était ce qui était le mieux pour mon client ; et la vérité est que si le client ne sait pas ce qu'il veut avec Magento, n'a pas réellement besoin de ses fonctionnalités et n'a pas le budget pour le supporter, ce ne sera pas amusant pour les personnes impliquées.

Si vous avez une entreprise avec relativement peu de produits qui s'intègrent dans un modèle de produit commercial standard, WordPress/WooCommerce pourrait être une excellente option.

Les développeurs WordPress sont (généralement) moins chers que les développeurs Magento. La communauté WordPress est florissante et la plate-forme est très bien documentée avec une base de code raffinée. Cette solution est petite, rapide et fonctionne sur à peu près n'importe quel fournisseur d'hébergement, y compris tous les différents fournisseurs de remises.

Si cette combinaison fonctionne pour vous, elle vous fera économiser de l'argent en coûts de développement et d'hébergement. Si vous essayez de créer votre site vous-même, sans payer un développeur extérieur, vous devriez probablement éviter Magento et envisager WordPress/WooCommerce.

Une autre raison pour laquelle vous pourriez vous pencher sur WordPress/WooCommerce est si vous souhaitez profiter des capacités de blogging de WordPress. Magento a la capacité de permettre aux clients de créer et de mettre à jour du contenu dynamique, mais c'est loin d'être aussi raffiné et aussi simple qu'avec WordPress.

Cela dit, WordPress/WooCommerce est loin d'avoir la capacité de Magento à configurer des produits et des remises et à gérer de gros inventaires (ce n'est pas qu'il ne peut pas le faire - il a de grandes fonctionnalités et ne cesse de croître - mais c'est là que Magento excelle ).

WordPress/WooCommerce commencera à se sentir maladroit lorsque le nombre de produits que vous vendez dépassera quelques centaines, ou lorsque vous commencerez à vouloir créer des produits groupés complexes avec des attributs attachés personnalisés ; ou lorsque vous souhaitez planifier des remises et accorder des remises, mais uniquement à certains groupes de clients, et que vous souhaitez effectuer des ventes croisées et incitatives et avoir une option cadeau ; etc.

Quelle solution vous convient? Ça dépend.

Comme c'est le cas avec toutes les technologies, Magento a un certain nombre d'avantages distincts, mais il a aussi ses inconvénients.

Les principaux avantages de Magento incluent :

  • Open source
  • Spécialement conçu pour le commerce électronique
  • Excellent système de réduction
  • L'intégration de la passerelle de paiement est facile
  • Flexible et personnalisable
  • Panneau d'administration très puissant
  • Hautement évolutif
  • Une fois optimisé (disparition, optimisations db, redis caching, opcode caching), Magento peut être assez rapide
  • Prise en charge multi-locataires
  • Optimisé pour le référencement
  • Large base d'utilisateurs, activement développée, sécurisée

Les problèmes connus incluent :

  • L'histoire de l'open-source lui a laissé une base de code énorme et envahissante qui fait tout et laisse toutes les portes ouvertes à la personnalisation
  • Pas aussi bien documenté que les autres plateformes
  • Le développement coûte cher. En partie parce que c'est difficile, et en partie parce que c'est un système populaire
  • Les fonctionnalités importantes ne sont souvent disponibles que dans des modules commerciaux de qualité variable qui peuvent même nécessiter un support d'intégration tiers
  • Exigences de serveur coûteuses

Tous ces facteurs doivent être soigneusement pesés au cas par cas pour décider si Magento est la bonne solution pour vous ou votre client, si possible avant de sélectionner un partenaire pour les services de développement de sites Web de commerce électronique.

N'ayez pas peur de Magento.

Est-ce que je vous ai déjà fait fuir Magento ? J'espère que non.

Est-ce que ce qui suit vous ressemble ?

Vous avez un magasin prospère avec 2 000 produits et avez besoin de la possibilité de créer des produits configurables complexes avec une douzaine d'options et de regrouper ces produits avec d'autres produits dans des groupes.

Vous souhaitez également pouvoir planifier facilement des ventes et des promotions et distribuer des codes aux clients pour obtenir des remises. Vous avez le budget et la volonté d'investir dans une solution véritablement professionnelle, open source, optimisée pour le référencement, hautement évolutive et assez rapide une fois optimisée et correctement hébergée.

Si oui, jetez un oeil à Magento. Si vous êtes prêt à investir du temps et de l'argent, c'est une solution de commerce électronique vraiment professionnelle qui durera toute une vie.