Open for new projects · sublimearts.io
← Blog
Web Design28 mai 2026·8 min de lecture

Pourquoi je conçois des routes Next.js multilingues natives (IT/EN/ES) par défaut sur chaque commande.

Cartographier des routes SEO internationales dans Next.js/Astro évite les ralentissements de rendu et élimine les défauts des traducteurs automatiques lents. C'est exactement l'architecture qui fait tourner ce site, en ce moment même, en 9 langues.

Ça vous plaît ? Un ❤️ vous attend à la fin.

Pourquoi le multilingue compte plus qu'il n'y paraît

Une entreprise locale pense dans une seule langue. Une entreprise qui veut des clients internationaux — tourisme, hôtellerie, services professionnels, e-commerce — a besoin que son site existe, nativement, dans les langues que cherchent ses vrais clients. Pas comme un ajout tardif. Chaque client pour qui je construis et qui veut une portée au-delà de son pays d'origine reçoit un routage multilingue dès le premier jour, car l'ajouter ensuite à un site monolingue revient à refaire les métadonnées, la structure des URL et souvent la stratégie de contenu à partir de zéro.

Pourquoi les deux raccourcis évidents échouent

Il y a deux raccourcis auxquels tout le monde pense en premier, et les deux échouent pour un vrai SEO. Le premier est un widget de traduction flottant (intégration Google Translate ou équivalent) : il s'exécute côté client, une fois la page déjà chargée dans la langue d'origine, si bien que les moteurs de recherche indexent le texte d'origine — tes visiteurs espagnols qui cherchent en espagnol ne trouvent jamais une page qui, pour Google, est en espagnol. Le second est une URL unique avec un paramètre de requête, comme ?lang=es. Les moteurs de recherche ne traitent pas de façon fiable les variantes par paramètre de requête comme des pages distinctes et classables indépendamment : elles sont souvent considérées comme du contenu dupliqué de la même URL, ce qui fait que ton contenu espagnol entre en concurrence avec ton contenu anglais au lieu de se classer indépendamment sur les recherches espagnoles.

La solution : de vraies routes, une par langue

Chaque langue reçoit son propre chemin explorable — /it/, /en/, /es/ — rendu côté serveur avec un contenu entièrement traduit, son propre attribut <html lang> et ses propres métadonnées. Dans Next.js, c'est ce que next-intl avec localePrefix réglé sur « always » fournit d'emblée : au lieu d'une page qui remplace du texte avec JavaScript, tu obtiens des pages réellement distinctes que les moteurs de recherche peuvent explorer, indexer et classer indépendamment — chacune étant une vraie page complète dans cette langue, et non une couche traduite posée sur le même contenu.

Comment c'est réellement câblé sur ce site

1Définis les locales prises en charge et règle localePrefix: « always » dans la configuration de routage de next-intl, pour que chaque URL — y compris celle de la langue par défaut — porte un préfixe explicite /it/, /en/, /es/, sans route racine ambiguë
2Stocke les chaînes traduites dans un fichier JSON par langue (messages/en.json, messages/it.json, etc.) pour que chaque chaîne d'interface et chaque texte de page ait sa place par locale, au lieu d'être dispersé dans les composants
3Dans generateMetadata(), définis alternates.canonical sur l'URL de la locale courante et alternates.languages sur une table complète de l'URL équivalente de chaque locale : c'est ce qui émet réellement les balises hreflang que les moteurs de recherche utilisent pour relier les variantes linguistiques d'une même page
4Définis openGraph.locale et un og:image approprié pour chaque page, afin que les liens partagés s'affichent correctement quelle que soit la variante linguistique partagée
5Ne traduis jamais automatiquement au moment de la requête. Traduis une fois, stocke, sers de façon statique par locale : cela garde un Time to First Byte rapide et signifie qu'aucune API de traduction ne se trouve dans le chemin critique du rendu

Ce que ça t'apporte concrètement

Chaque variante linguistique se classe pour elle-même : une recherche en italien fait remonter la page italienne, une recherche en espagnol la page espagnole, et aucune ne fait concurrence à l'autre ni ne la dilue aux yeux de Google. Tout aussi important pour la conversion : les visiteurs arrivent sur une page qui se lit comme réellement écrite dans leur langue, et non sur une page affublée d'un widget de traduction visible dans un coin. Pour un restaurant, un hôtel ou un service professionnel qui cherche à paraître crédible auprès d'un public international, cette différence fait souvent la différence entre un rebond et un client.

Envie de faire tourner cette architecture sur ton site ?

Parlons-en →

About

Patrick Chen — développeur indépendant et web designer derrière Sublimearts.io. Cette configuration de routage exacte — next-intl, localePrefix always, métadonnées par langue — est ce qui affiche la page que tu lis en ce moment, dans celle des 9 langues dans laquelle tu la consultes.

Did you find this helpful?