Créer une boutique Shopify multi-devises sans sacrifier la vitesse

Dernière mise à jour
Revu par un expert
5 min de lecture
Jacques Blom
Jacques Blom
CTO chez Fudge.

Points clés à retenir

  • La vitesse d’un Shopify multi-devises se résume à un seul choix : convertir les prix sur les serveurs de Shopify avec Markets natif, ou les convertir dans le navigateur avec une application tierce.
  • Shopify Markets natif avec Shopify Payments affiche les prix dans la devise de présentation de l’acheteur côté serveur, il n’y a donc pas de script supplémentaire ni de clignotement des prix.
  • La plupart des applications de conversion de devises injectent du JavaScript render-blocking et un appel de géolocalisation sur chaque page, puis réécrivent les prix côté client, ce qui est une source fréquente de layout shift.
  • Les règles d’arrondi, le sélecteur de devise, les redirections par géolocalisation et la mise en cache affectent les performances multi-devises de Shopify bien plus que ce que pensent les marchands.
  • Fudge crée le sélecteur et le formatage des prix sous forme de code de thème natif, de sorte que l’UI de vos devises n’ajoute pas le poids d’un widget et reste en place si vous désinstallez l’app.

Vendre dans plusieurs devises est l’un des moyens les plus rapides de développer une boutique Shopify, mais c’est aussi l’un des plus faciles pour plomber votre page speed. Le problème vient rarement des devises elles-mêmes. C’est la façon dont les prix sont convertis et l’endroit où ce travail s’effectue.

Gérer la vitesse d’un Shopify multi-devises correctement implique de garder la conversion sur les serveurs de Shopify et en dehors de l’appareil de l’acheteur. Faites cela, et gérer dix devises ne vous coûtera presque rien. Faites-le mal avec une lourde application de conversion, et chaque page produit portera un script supplémentaire qui réécrit les prix après que la page a déjà été affichée.

Ce guide explique pourquoi les configurations multi-devises nuisent aux performances, comment Shopify Markets natif évite les dégâts, et ce qu’il faut vérifier pour garder les performances multi-devises de Shopify dans le vert.

Pourquoi vous pouvez nous faire confiance

Jacques a plus de 15 ans d’expérience en développement et a créé des vitrines internationales pour des centaines de boutiques Shopify. Nous développons Fudge, un éditeur de boutique IA noté 5.0 sur le Shopify App Store, nous travaillons donc directement sur la couche du thème où vivent les sélecteurs de devises et le formatage des prix, et nous voyons l’impact qu’un mauvais composant peut avoir sur les Core Web Vitals.


Pourquoi les configurations multi-devises nuisent à la vitesse

Un prix sur une page produit semble anodin. Convertir ce prix dans la bonne devise pour chaque visiteur ne l’est pas.

Il y a deux endroits où la conversion peut avoir lieu. Sur le serveur, avant que Shopify n’envoie le HTML au navigateur. Ou dans le navigateur, après le chargement de la page, à l’aide d’un JavaScript qui lit l’emplacement de l’acheteur et réécrit chaque prix sur la page.

C’est avec la deuxième approche que les dégâts commencent. Un convertisseur côté client doit faire trois choses coûteuses sur chaque page :

  1. Charger son propre JavaScript, souvent render-blocking, avant que les prix ne soient corrects.
  2. Faire une recherche de géolocalisation pour deviner le pays du visiteur, généralement via un appel réseau à un point de terminaison tiers.
  3. Réécrire le DOM, en trouvant chaque élément de prix et en modifiant le texte après coup.

Chaque étape coûte du temps, et la troisième coûte en stabilité. Lorsque les prix sont réécrits après le premier affichage, les chiffres changent de largeur, les éléments se réorganisent, et vous obtenez un Cumulative Layout Shift (CLS). Google mesure le CLS comme un Core Web Vital, et le « bon » seuil est de 0.1 ou moins.1 Un prix qui saute de « 49 $ » à « 1 299 kr » après le chargement est exactement le type de décalage qui vous fait basculer du mauvais côté de la ligne.

La page speed est directement liée à la conversion, et elle est liée aux classements SEO. Pour une vue d’ensemble sur les raisons pour lesquelles les boutiques perdent du temps, consultez notre rapport sur l’état des performances Shopify.


Shopify Markets natif vs applications de conversion de devises

Shopify a une réponse native à cela, et elle supprime entièrement le travail côté client.

Shopify Markets vous permet de vendre dans différents pays et régions avec des devises locales. Lorsqu’un marché utilise une devise locale, Shopify convertit les prix de votre boutique dans la devise de présentation de l’acheteur et les rend côté serveur, de sorte que le navigateur reçoit les bons prix dans le HTML initial.2 En combinant cela avec Shopify Payments, l’acheteur paie également dans cette devise de présentation au checkout, la plateforme gérant la conversion.3

C’est la différence clé. Markets natif fait la conversion avant que la page ne soit envoyée. Une application de conversion le fait une fois la page arrivée.

Voici comment les deux approches se comparent sur les éléments qui déterminent la vitesse.

FacteurShopify Markets natifApplication de conversion de devises
Où se fait la conversionServeurs de ShopifyNavigateur de l’acheteur
JavaScript supplémentaire par pageAucunSon propre script, souvent render-blocking
Recherche de géolocalisationGérée par la plateformeGénéralement un appel réseau côté client
Prix dans le HTML initialCorrect dès le first paintRéécrit après le chargement
Risque de layout shiftMinimeÉlevé, les prix changent après le rendu
Devise au checkoutNative, via Shopify PaymentsRevient souvent à la devise de la boutique
CoûtInclus dans votre forfaitAbonnement mensuel à l’app

La solution via une app peut sembler pratique car vous l’installez et « ça marche tout seul ». Le coût caché est un script sur chaque page et un clignotement du prix qui nuit à la fois au CLS et à la confiance des acheteurs. Pour découvrir comment configurer cela de A à Z, consultez notre guide de configuration multi-devises Shopify.


Comment Markets natif garde des prix rapides

Si Markets natif est plus rapide, ce n’est pas un tour de magie. C’est simplement que le travail coûteux n’atteint jamais le navigateur.

Les prix arrivent déjà convertis et déjà formatés dans le HTML, il n’y a donc aucun script render-blocking qui attend de les corriger et aucune réécriture des prix côté client pour causer un layout shift. Le navigateur affiche le bon chiffre une fois et n’y touche plus.

Dans votre thème, les prix passent toujours par les filtres money de Liquid. La différence est que Shopify résout la devise de présentation sur le serveur et que le filtre sort la valeur locale :

{% comment %} S'affiche dans la devise de présentation de l'acheteur, côté serveur {% endcomment %}
<span class="price">{{ product.price | money }}</span>

Pas d’élément enveloppant (wrapper), pas d’attribut de donnée (data attribute) pour qu’un script le trouve plus tard, pas d’état « de chargement » sur le prix. C’est la forme que doit prendre chaque prix sur votre page.

Arrondi et formatage des prix

Les prix convertis tombent rarement juste. Un produit à 49,00 $ avec un taux de change en direct pourrait atterrir sur 1 287,43 dans une autre devise, ce qui semble cassé à côté d’un catalogue de chiffres ronds.

Shopify Markets vous permet de définir des règles d’arrondi par marché, afin que les prix convertis se terminent de façon logique par .00 ou .99 pour chaque devise.3 C’est une décision d’affichage et de tarification, pas de performance, mais cela compte : l’arrondi est appliqué côté serveur, il ne coûte donc rien au moment du rendu et permet à vos prix de paraître intentionnels plutôt que générés par une machine.

Le formatage suit la même logique. Les séparateurs de milliers, les marques décimales et le symbole de la devise proviennent tous des paramètres de format de devise de Shopify et sont rendus dans le HTML. Une application de conversion qui reformate les nombres en JavaScript refait un travail que la plateforme fait déjà gratuitement.

Le sélecteur de devise et son coût

Les acheteurs ont besoin d’un moyen de changer de devise ou de pays, et c’est là qu’une configuration native peut encore mal tourner.

Le sélecteur lui-même doit être un simple formulaire rendu par le serveur, et non un widget JavaScript qui récupère des options au chargement. Le formulaire de localisation de Shopify vous offre exactement cela :

{% form 'localization' %}
  {{ localization.available_countries | ... }}
  <button type="submit">Mettre à jour</button>
{% endform %}

Un sélecteur natif comme celui-ci n’ajoute que quelques éléments de balisage et aucun script supplémentaire. À l’inverse, un widget tiers pour changer de devise est souvent l’élément le plus lourd de la page : il a son propre bundle, ses propres styles et son propre appel de géolocalisation. Si vous ne retenez qu’une chose de ce guide, c’est que le sélecteur est l’endroit où se cache le poids.

Vous voulez un sélecteur de devise qui soit du code de thème natif, pas un widget ? Décrivez-le à Fudge.
Try Fudge for Free

Géolocalisation, mise en cache et contenu dupliqué

Au-delà du prix sur la page, trois détails au niveau de la plateforme façonnent les performances et le SEO multi-devises.

Redirections par géolocalisation. De nombreuses boutiques redirigent automatiquement les visiteurs vers une URL spécifique à leur pays en fonction de leur IP. Fait côté client, cela ajoute une recherche et une redirection avant que l’acheteur ne voie quoi que ce soit. Shopify Markets peut suggérer le bon marché avec une recommandation légère au lieu de forcer une redirection stricte, ce qui évite l’aller-retour. Préférez une suggestion que l’acheteur peut rejeter plutôt qu’une redirection automatique qui bloque le first paint.

Mise en cache et CDN. Les prix rendus par le serveur peuvent être mis en cache, ce qui explique en partie pourquoi la conversion native est rapide. Les convertisseurs côté client sapent cela en rendant la « bonne » version de la page dépendante d’un JavaScript qui s’exécute après la livraison du HTML mis en cache. Garder la conversion côté serveur permet au CDN de faire son travail.

Contenu dupliqué. Gérer le même catalogue sur plusieurs marchés peut créer des pages presque identiques qui se font concurrence dans les résultats de recherche. La configuration de Shopify Markets gère la structure des URL et le routage localisé pour que chaque marché soit résolu proprement. Le lien avec les performances ici est indirect mais réel : moins de chaînes de redirection et un routage plus propre signifient moins de requêtes gaspillées.

Considérations sur les balises hreflang et les locales

La devise et la langue sont des axes distincts, mais ils voyagent ensemble dans les boutiques internationales.

Globalement, les balises hreflang indiquent à Google quelle URL sert quelle langue et quelle région, afin que la bonne version se classe pour le bon public. Shopify Markets émet ces balises pour vos marchés configurés lorsque vous utilisez ses URL localisées. Vous n’avez pas besoin de créer les balises à la main, mais vous devriez confirmer qu’elles sont présentes, car un ensemble hreflang manquant ou erroné envoie les moteurs de recherche vers la mauvaise page régionale. Pour une vision stratégique de la façon dont les marchés, les langues et les devises s’articulent, consultez notre guide sur Shopify Markets.


Une checklist pour garder vos Core Web Vitals au vert avec plusieurs devises

Utilisez ceci pour auditer une boutique multi-devises existante ou pour en planifier une nouvelle. L’objectif est d’atteindre les trois seuils des Core Web Vitals : un LCP en moins de 2,5 secondes, un CLS de 0.1 ou moins, et un INP de 200 millisecondes ou moins.1

Ce dernier point est important. Si votre boutique est déjà lente, la gestion des devises n’est pas votre premier problème. Commencez par découvrir comment accélérer un thème Shopify, et si de gros médias sont en cause, le lazy loading des images est souvent le plus grand gain individuel.


Où Fudge entre en jeu

Markets natif gère la conversion. Ce qu’il ne fait pas, c’est construire l’UI de la vitrine autour : le sélecteur de devises, le formatage des prix, l’apparence de l’ensemble dans votre thème. Ce travail retombe toujours sur quelqu’un.

Fudge est un éditeur de boutique IA qui écrit du code de thème natif. Vous décrivez ce que vous voulez, « ajoute un sélecteur de devises et de pays à mon header qui correspond à ma marque, et formate les prix pour chaque marché », et il écrit le Liquid, le CSS et le JavaScript directement dans votre thème.

Parce que le résultat est natif, il n’y a aucun widget de devise tiers qui se charge sur chaque page, aucun script render-blocking supplémentaire, et aucun appel de géolocalisation greffé par une application. Le sélecteur est un balisage que votre boutique comprend déjà, il n’ajoute donc concrètement aucun poids.

Et comme il s’agit du code du thème, il survit à la désinstallation. Si vous annulez votre abonnement Fudge, le sélecteur et le formatage restent exactement là où ils sont, contrairement à un élément rendu par une app qui disparaît lorsque vous la supprimez. Il en va de même pour tout ce que vous créez avec le générateur de pages Fudge.


FAQ

Le multi-devises ralentit-il une boutique Shopify ?

Il ne ralentit la boutique que lorsque la conversion se fait dans le navigateur. Shopify Markets natif convertit les prix sur les serveurs de Shopify et les envoie déjà formatés dans le HTML, il n'y a donc pas de script supplémentaire ni de coût en termes de page speed. Les applications de conversion tierces sont celles qui ajoutent du JavaScript et du layout shift sur chaque page.

Shopify Markets natif est-il plus rapide qu'une application de conversion de devises ?

Oui. Markets natif rend les prix convertis côté serveur, le navigateur affiche donc le bon chiffre une seule fois, sans réécriture côté client. Une application de conversion charge son propre JavaScript, fait un appel de géolocalisation et réécrit les prix après l'affichage de la page, ce qui est une cause fréquente de Cumulative Layout Shift.

Comment Shopify gère-t-il la conversion des devises ?

Avec Shopify Markets et Shopify Payments, les prix de la boutique sont convertis automatiquement dans la devise de présentation de l'acheteur en utilisant le taux de change actuel, et l'acheteur paie dans cette devise lors du checkout. Vous pouvez définir des règles d'arrondi par marché afin que les prix convertis se terminent par des chiffres ronds plutôt que par des décimales bizarres.

Ai-je besoin d'une application de conversion de devises si j'utilise Shopify Markets ?

Généralement non. Si Markets natif avec Shopify Payments couvre déjà vos devises, une application de conversion est un poids redondant qui duplique le travail que la plateforme effectue côté serveur. La supprimer améliore souvent les Core Web Vitals sans perte de fonctionnalité.

Un sélecteur de devise nuit-il à la page speed ?

Un sélecteur natif rendu sous forme de formulaire de localisation côté serveur n'ajoute qu'un peu de balisage et aucun script supplémentaire. Le coût en vitesse vient des widgets de changement de devises tiers qui embarquent leur propre bundle et une recherche de géolocalisation côté client. Créez le sélecteur sous forme de code de thème natif et son coût sera négligeable.

Le multi-devises crée-t-il des problèmes de contenu dupliqué pour le SEO ?

Cela peut arriver si les pages régionales sont presque identiques et manquent des bons signaux. Shopify Markets gère le routage d'URL localisé et émet des balises hreflang pour vos marchés configurés, ce qui indique aux moteurs de recherche quelle page sert quelle région. Confirmez que les balises hreflang sont présentes pour que la bonne page régionale soit bien positionnée pour le bon public.

Jacques's signature
Lancez chaque devise sans le poids d'un widget.

Footnotes

  1. web.dev, “Web Vitals” - les « bons » seuils sont un LCP en moins de 2,5 secondes, un CLS de 0.1 ou moins, et un INP de 200 millisecondes ou moins, mesurés au 75ème percentile. https://web.dev/articles/vitals 2

  2. Shopify Dev, “About Shopify Markets” - la devise de présentation (client) est celle qui s’affiche et dans laquelle le client paie, tandis que la devise de la boutique est utilisée dans l’admin ; avec les devises locales activées, les prix de la boutique en ligne sont convertis automatiquement dans la devise du client grâce aux taux de change du marché. https://shopify.dev/docs/apps/build/markets

  3. Shopify Help Center, “Setting up currencies for markets” et “Currency conversions and exchange rates” - Shopify Payments convertit les prix dans la devise locale d’un client, les marchands peuvent personnaliser l’arrondi par marché, et un sélecteur de pays ou de devises permet aux clients de choisir leur région. https://help.shopify.com/en/manual/markets/customizations/local-currencies 2

You might also be interested in

Funnels de quiz sur Shopify : le guide complet
Un funnel de quiz Shopify guide les acheteurs vers le bon produit. Comment concevoir les questions, mapper les réponses, capturer des emails et mesurer les résultats.
Images Lifestyle IA pour Shopify : Outils & Exemples
Photos lifestyle par l'IA pour Shopify : les outils qui produisent des images à l'image de votre marque, le workflow, et ce que l'IA ne peut pas encore remplacer.
Comment concevoir une boutique Shopify pour une marque de bijoux
Design de boutique de bijoux Shopify, de A à Z : photographies montrant l'échelle, metafields de spécifications, limites de variantes, flux de cadeaux et signaux de confiance.