Mis à jour en juin 2026, les modules ps_languageselector et ps_currencyselector, ainsi que le hook displayNav2 décrits ici, s’appliquent à PrestaShop 1.7, 8 et 9.

Un visiteur espagnol arrive sur votre boutique en allemand. En quelques secondes, il parcourt le haut de la page à la recherche d’un moyen de passer en espagnol, ou au moins en anglais. S’il trouve immédiatement un sélecteur clair, il reste. S’il ne trouve rien, il clique sur retour, direction Google, pour trouver une boutique qui parle sa langue. Cette décision éclair se joue chaque jour sur toutes les boutiques internationales, et elle dépend entièrement de deux minuscules widgets côté front-office : le sélecteur de langue et le sélecteur de devise.

Cet article se concentre précisément sur ces widgets, où ils se trouvent dans un thème PrestaShop, quels blocs et quels hooks les affichent, pourquoi le débat drapeaux contre texte a un véritable impact sur la conversion, et comment rendre les deux éléments évidents sans surcharger votre en-tête. C’est la couche visible en boutique. La mécanique en coulisse, ajout des langues et des devises, taux de change, taxes, et hreflang qui indique à Google quelle version servir, relève de sujets à part entière, vers lesquels je vous orienterai plutôt que de les répéter ici.

Les deux blocs PrestaShop qui affichent les sélecteurs

Un globe de bureau avec des épingles de localisation colorées à côté d'un élément d'interface de menu déroulant épuré
Les sélecteurs de langue, de devise et de pays sont les petits détails de la vitrine qui mettent les acheteurs internationaux à l'aise.

Avant de discuter des drapeaux, il faut savoir ce que vous modifiez réellement. Sur un thème PrestaShop 1.7, 8 ou 9 par défaut, les sélecteurs de l’en-tête ne sont pas codés à la main dans votre template. Ce sont deux modules natifs greffés en haut de page :

  • ps_languageselector, la liste déroulante des langues. Par défaut, elle s’affiche via le hook displayNav2 (à droite de la barre supérieure) et expose toutes les langues que vous avez activées dans International → Localisation → Langues.
  • ps_currencyselector, la liste déroulante des devises, elle aussi sur displayNav2 par défaut, qui liste toutes les devises activées dans International → Localisation → Devises.
[SCREENSHOT: En haut à droite de l’en-tête de la boutique, le sélecteur de langue (Deutsch) et le sélecteur de devise (€ EUR) affichés côte à côte]

Qu’est-ce que cela implique pour vous ? Si un sélecteur manque dans votre en-tête, la solution ne consiste presque jamais à intervenir dans le thème. Allez dans Apparence → Positions, trouvez le hook displayNav2 (l’emplacement par défaut des deux sélecteurs ; certains thèmes les déplacent vers displayNav1 ou vers un hook personnalisé de barre supérieure), et vérifiez que le module y est bien greffé. S’il est présent mais vide, le vrai problème est en amont, vous n’avez activé qu’une seule langue ou qu’une seule devise, il n’y a donc aucun choix à proposer. Le widget se masque correctement au lieu d’afficher une liste déroulante inutile avec un seul élément.

Un détail piège souvent les marchands : un sélecteur n’apparaît qu’une fois qu’une deuxième langue ou devise est active et associée à la boutique courante (et, en multiboutique, au groupe de boutiques courant). Si vous exploitez plusieurs boutiques depuis une seule administration, vérifiez que la langue est bien cochée pour la bonne association de boutique, voir Multiboutique PrestaShop : gérer plusieurs boutiques depuis un seul panneau d’administration pour comprendre le fonctionnement de ces associations.

Où placer le sélecteur

Les sélecteurs de langue et de devise doivent se trouver dans l’en-tête, visibles sur chaque page sans faire défiler. La barre supérieure par défaut de PrestaShop les place en haut à droite, et c’est là que les acheteurs internationaux les cherchent instinctivement. Les deux positions défendables sont l’angle supérieur droit et une barre supérieure dédiée au-dessus de la navigation principale. L’important n’est pas celle que vous choisissez, mais que le widget soit au-dessus de la ligne de flottaison, reconnaissable, et présent sur la page d’accueil, celle sur laquelle atterrissent la plupart des nouveaux visiteurs internationaux.

L’erreur consiste à le cacher. Enterrer le sélecteur dans le pied de page, ou le replier dans un menu hamburger mobile sans drapeau ni code de devise visible, impose précisément cette recherche de deux secondes qui renvoie les visiteurs vers Google. Sur mobile en particulier, gardez au moins le drapeau de la langue courante et le code de devise visibles dans la barre d’en-tête, même si un appui ouvre ensuite un menu plus complet. Un acheteur ne devrait jamais devoir chercher la preuve que votre boutique saura lui parler dans sa langue et afficher les prix dans sa devise.

Drapeaux, texte, ou les deux, le débat qui mérite d’avoir lieu

C’est la seule décision réellement délicate, et il existe une bonne réponse pour la plupart des boutiques. Le piège, c’est que les drapeaux représentent des pays, pas des langues :

  • Drapeaux seuls : très rapides à repérer visuellement, mais ambigus et parfois excluants. Le drapeau allemand représente l’Allemagne. Les acheteurs autrichiens et suisses alémaniques peuvent ne pas s’y reconnaître. Un Union Jack pour « anglais » dit discrètement aux visiteurs américains, australiens, indiens ou irlandais que l’anglais proposé ici est pensé pour quelqu’un d’autre. Et si vous vendez sur des marchés où les drapeaux ont une sensibilité politique, un sélecteur uniquement fondé sur les drapeaux peut vraiment nuire.
  • Texte seul : précis et sans ambiguïté, « English | Deutsch | Français | Español » ne peut pas être mal interprété, mais visuellement discret. Avec six langues ou plus, une ligne uniquement textuelle devient chargée et facile à ignorer.
  • Drapeaux + texte : le choix pragmatique adopté par la plupart des boutiques internationales performantes. Le drapeau offre une reconnaissance visuelle instantanée ; le nom de la langue (écrit dans sa propre langue, Deutsch, pas « German ») lève l’ambiguïté. C’est aussi l’option la plus accessible, car le libellé textuel est lisible par les lecteurs d’écran, contrairement à une simple image de drapeau.

Le module ps_languageselector par défaut de PrestaShop est textuel (il affiche le nom de la langue). Si vous voulez des drapeaux, ou des drapeaux accompagnés de texte, il s’agit d’un ajustement de template dans la vue du module ou d’un module de sélecteur qui fournit l’affichage des drapeaux, pas d’une modification du cœur. Si vous ajoutez des drapeaux, choisissez celui du pays le plus associé à la langue sur votre marché, acceptez qu’il s’agisse d’une convention plutôt que d’une vérité, et accompagnez-le toujours du nom de la langue afin que cette convention ne se retourne pas contre vous.

Le sélecteur de devise : afficher un montant compréhensible immédiatement

Un prix de « 49.99 EUR » est immédiatement parlant pour un acheteur de la zone euro. Pour un visiteur polonais, il déclenche un calcul mental de l’EUR vers le PLN ; pour un visiteur britannique, de l’EUR vers la GBP. Cette conversion mentale crée de la friction, et juste à côté du prix, c’est le pire endroit pour en ajouter. Un sélecteur de devise qui permet au visiteur de voir « 229 PLN » ou « £42 » supprime ce calcul et lui permet d’évaluer instantanément le prix par rapport à ses propres repères.

Deux conditions permettent au sélecteur de devise de faire réellement son travail :

  • Détecter, puis proposer, ne pas imposer. La meilleure expérience consiste à afficher la boutique dans une devise et une langue par défaut cohérentes pour le visiteur, tout en gardant le sélecteur visible pour qu’il puisse modifier ce choix. La redirection automatique basée uniquement sur l’IP se retourne facilement contre vous : les utilisateurs de VPN arrivent au mauvais endroit, les expatriés veulent souvent leur langue d’origine plutôt que la langue locale, et les robots des moteurs de recherche peuvent être renvoyés vers la mauvaise version puis mal indexés. Une bannière de suggestion discrète (« Parcourir en PLN ? ») vaut toujours mieux qu’une redirection forcée.
  • Cohérence de la fiche produit au paiement. Afficher l’EUR sur la fiche produit puis ne passer à la devise locale qu’au moment du paiement prend le client au dépourvu au pire moment possible. Quelle que soit la devise sélectionnée par le sélecteur, elle doit rester cohérente dans le catalogue, le panier et le tunnel de commande, PrestaShop transmet ce choix via le contexte de panier du client, le travail consiste donc surtout à vérifier que vous n’avez codé aucune devise en dur dans le thème.

Une limite honnête : le sélecteur change la devise affichée. Que vous encaissiez également dans cette devise dépend de votre prestataire de paiement et de votre tolérance à la comptabilité multidevise, c’est une décision complètement différente. Les aspects pratiques de l’ajout de devises, des mises à jour de taux de change BCE par tâche cron, des arrondis par devise pour transformer « 47.83 PLN » en « 49.90 PLN », et de l’encaissement par opposition au simple affichage sont tous couverts dans Multi-devise et vente internationale sur PrestaShop : guide pratique de configuration. Si la TVA entre aussi en jeu à l’échelle de l’Union européenne, Vendre en Europe avec PrestaShop : langues, devises et taxes est l’article à lire.

Sélecteur de pays : un seul choix au lieu de deux

Certaines boutiques fusionnent les deux widgets en un seul sélecteur de pays : choisissez « Pologne » et la boutique passe au polonais, au PLN, et aux options de livraison pour la Pologne en une seule action. C’est plus clair pour la majorité des visiteurs qui veulent réellement l’ensemble correspondant, et cela supprime une décision.

Le coût, ce sont les acheteurs aux préférences mixtes. Un expatrié veut l’anglais avec la devise PLN ; un acheteur suisse alémanique veut l’allemand avec le CHF. Un sélecteur combiné ne peut pas exprimer cela. La règle empirique :

Votre situationMeilleur choixPourquoi
La plupart des visiteurs veulent l’ensemble langue+devise correspondantSélecteur de pays combinéUne seule décision, moins d’encombrement dans l’en-tête, moins de paniers mal configurés
Audience expatriée / transfrontalière importante (préférences mixtes)Sélecteurs de langue et de devise séparésPermet les combinaisons EN+PLN ou DE+CHF
Vous vendez beaucoup sur mobileSéparés, mais repliés derrière une icône claireÉconomise de la largeur dans l’en-tête sans imposer la correspondance

PrestaShop fournit les deux sélecteurs séparément par défaut ; le modèle de sélecteur de pays combiné implique donc soit un module dédié, soit un travail front-office. Décidez en fonction de ceux qui achètent réellement chez vous, pas de ce qui paraît plus propre sur une maquette.

Le piège SEO caché derrière le sélecteur

Un sélecteur est un élément d’expérience utilisateur, mais la manière dont vous mettez en œuvre le changement de langue a des conséquences SEO directes, et une erreur à ce niveau vous coûte discrètement le trafic international que le widget était censé servir :

  • Chaque langue a besoin de sa propre URL. PrestaShop le fait correctement nativement. L’activation des URL simplifiées vous donne des préfixes /en/, /de/, /fr/ (ou des domaines par boutique en multiboutique). La faute majeure consiste à servir différentes langues sur la même URL en fonction d’un cookie ou d’une estimation par IP ; les robots ne peuvent indexer qu’une seule version d’une URL, vos autres langues disparaissent donc effectivement des résultats de recherche.
  • Des canoniques auto-référentes pour chaque version. Chaque URL de langue doit pointer son canonical vers elle-même, et non vers une autre langue, afin d’éviter de déclencher le traitement du contenu dupliqué.
  • Hreflang est la partie que le sélecteur ne peut pas faire à votre place. La liste déroulante permet à un humain de changer de langue ; hreflang indique à Google quelle version servir automatiquement à quel internaute. C’est un travail séparé, minutieux, avec ses propres règles.

La mécanique hreflang. Balises retour, x-default, codes langue-région. Est assez riche pour mériter sa propre lecture : Balises hreflang : indiquer à Google quelle version linguistique afficher. Et si vous êtes encore en train de construire la boutique traduite elle-même, assigner les traductions, organiser la structure d’URL et rendre le catalogue réellement multilingue plutôt qu’à moitié traduit, commencez par Configuration d’une boutique multilingue : préparer PrestaShop à la vente internationale.

Des URL multilingues propres et prévisibles sont aussi l’endroit où une couche de gestion des URL prend tout son sens, notre gestionnaire d’URL SEO-friendly et la suite plus large de configuration SEO gardent ces chemins par langue propres et canoniques, afin que le sélecteur front-office et les moteurs de recherche soient d’accord sur le rôle de chaque page.

Les erreurs fréquentes, rassemblées au même endroit

  • Cacher le sélecteur. Le placer en pied de page ou dans un menu hamburger sans drapeau impose la recherche de deux secondes qui fait perdre le visiteur. En-tête, au-dessus de la ligne de flottaison, visible sur mobile.
  • Changer de langue uniquement par drapeau. Ambigu au mieux, excluant au pire. Associez chaque drapeau au nom de la langue écrit dans cette langue.
  • Forcer des redirections IP. Elles échouent avec les utilisateurs de VPN, les expatriés et les robots. Détectez et suggérez ; n’enfermez jamais.
  • Une devise qui ne change qu’au paiement. Gardez la devise sélectionnée cohérente de la fiche produit jusqu’au paiement, les surprises dans le tunnel de commande déclenchent l’abandon.
  • Du contenu traduit automatiquement derrière un sélecteur crédible. Proposer cinq langues dont quatre sorties brutes de Google Translate érode la confiance plus vite que de proposer une seule langue bien travaillée. Mieux vaut moins de langues correctement traduites que beaucoup de langues mal traduites.

Questions fréquentes

Mon sélecteur de langue ne s’affiche pas dans l’en-tête. Quel est le problème ?

Deux causes probables. Si l’en-tête est vide à l’endroit où le sélecteur devrait apparaître, vérifiez Apparence → Positions et confirmez que ps_languageselector est bien accroché à displayNav2 (certains thèmes le déplacent vers displayNav1 ou vers un hook personnalisé de barre supérieure). Si le module est présent mais n’affiche rien, le vrai problème est en amont. Vous n’avez qu’une seule langue activée, il n’y a donc aucun choix à proposer, et le widget se masque correctement au lieu d’afficher une liste déroulante inutile avec un seul élément. En multiboutique, vérifiez aussi que la deuxième langue est associée à la boutique courante.

Faut-il utiliser des drapeaux, du texte, ou les deux pour le sélecteur de langue ?

Drapeaux plus texte pour la plupart des boutiques. Les drapeaux représentent des pays, pas des langues, un drapeau allemand exclut les acheteurs autrichiens et suisses alémaniques, et un Union Jack dit aux visiteurs américains ou irlandais que l’anglais proposé ici n’est pas pensé pour eux. Le texte seul (« Deutsch | Français ») est sans ambiguïté, mais plus discret visuellement et encombrant au-delà de six langues. L’association donne une reconnaissance visuelle instantanée plus le nom de langue sans ambiguïté, écrit dans sa propre langue (Deutsch, pas « German »), et c’est l’option la plus accessible parce que les lecteurs d’écran peuvent lire le libellé.

Faut-il rediriger automatiquement les visiteurs vers leur langue selon leur IP ?

Non, détectez et suggérez, sans jamais forcer. La redirection IP pure se retourne contre vous : les utilisateurs de VPN arrivent au mauvais endroit, les expatriés veulent leur langue d’origine plutôt que la langue locale, et les robots sont renvoyés vers la mauvaise version puis mal indexés. Affichez une valeur par défaut cohérente tout en gardant le sélecteur visible, et utilisez une bannière discrète (« Parcourir en PLN ? ») plutôt qu’une redirection forcée.

Faut-il combiner langue et devise dans un seul sélecteur de pays ?

Seulement si la plupart de vos visiteurs veulent réellement l’ensemble correspondant. Un sélecteur combiné « choisir Pologne → polonais + PLN » est plus clair et supprime une décision, mais il ne peut pas exprimer des préférences mixtes, un expatrié qui veut l’anglais avec le PLN, ou un acheteur suisse alémanique qui veut l’allemand avec le CHF. Si vous avez une audience transfrontalière ou expatriée importante, gardez les deux sélecteurs séparés pour permettre ces combinaisons. PrestaShop les fournit séparément par défaut ; le modèle combiné implique donc un module dédié ou un travail front-office.

Le sélecteur de devise encaisse-t-il réellement dans cette devise, ou l’affiche-t-il seulement ?

Par défaut, il change la devise affichée, et PrestaShop conserve ce choix de la fiche produit au panier puis au paiement via le contexte de panier du client. Que vous encaissiez aussi dans cette devise dépend de votre prestataire de paiement et de votre tolérance à la comptabilité multidevise, une décision séparée, traitée dans le guide de configuration multidevise.

À lire aussi

Ces deux widgets sont petits, mais le message qu’ils envoient ne l’est pas : un sélecteur de langue clair et un prix local pertinent disent à un visiteur international « nous vous avions prévu, nous sommes prêts pour vous, vous êtes à votre place ici ». Réussissez l’emplacement, le libellé drapeau plus texte, et la cohérence de la devise d’une page à l’autre, et vous aurez supprimé la friction qui décide de ce moment de deux secondes où l’on reste ou l’on repart. Ce qui est précisément le rôle d’un front-office conçu pour vendre au-delà des frontières.

Partager cet article:
David Miller

David Miller

Fondateur, mypresta.rocks

David Miller est un spécialiste PrestaShop fort de plus de dix ans d'expérience concrète et le fondateur de mypresta.rocks, un studio de développement situé à Tychy, en Pologne. Il conçoit et maintient un catalogue de 152 modules PrestaShop, dont 21 suites « Revolution » couvrant le SEO, le checkout, la sécurité, la performance, le marketing, la recherche, le support et la gestion d'entrepôt, qui améliorent chaque jour de vraies boutiques, testés sur PrestaShop 1.7.8, 8.x et 9.x. Il assure également la maintenance de boutiques en production réalisant plusieurs millions de chiffre d'affaires annuel : son travail se juge donc sur des ventes réelles, pas sur des démos. Son expérience couvre l'ensemble du e-commerce. Performance, sécurité, SEO et marketing, et va au-delà de PrestaShop, jusqu'à WooCommerce, Shopify et les systèmes sur mesure. Sur le blog, il écrit sur la face technique de PrestaShop : ce que la plateforme fait vraiment, ce qui casse en production et quelles solutions tiennent dans la durée.

Commentaires

Aucun commentaire pour le moment. Soyez le premier !
Cet article vous a plu ?

Recevez nos derniers conseils, guides et mises à jour de modules dans votre boîte mail.

Vous pouvez vous désinscrire à tout moment. Vous trouverez pour cela nos informations de contact dans les conditions d'utilisation du site.

Chargement...
Retour en haut