J’ai localisé mon site pour le rendre plus utile aux personnes qui parlent d’autres langues et plus facile à trouver et à comprendre pour les moteurs de recherche et les systèmes d’IA. L’objectif est d’améliorer sa visibilité grâce au SEO et au GEO, sans promettre de meilleurs classements ou citations.
Pourquoi je l’ai localisé
Les gens effectuent leurs recherches et posent leurs questions dans leur propre langue. Des pages claires et pertinentes dans ces langues offrent aux moteurs de recherche un contenu plus utile et donnent aux systèmes d’IA générative davantage de contexte pour leurs réponses. Mon travail peut ainsi toucher plus de personnes que celles qui recherchent uniquement en anglais.
Comment je l’ai fait
J’ai intégré la localisation à la structure du site, plutôt que de la traiter comme une simple étape de traduction. Les exemples ci-dessous sont des extraits simplifiés de mon implémentation avec Next.js.
1. Attribuer une URL prévisible à chaque langue
L’anglais est la langue par défaut et reste à la racine. Les autres langues ont un préfixe, ce qui donne à chaque page une URL stable dans chaque langue. Une liste unique des langues prises en charge sert de référence commune pour le routage et les liens de langue.
export const locales = ['en', 'de', 'es', 'fr', 'ja', 'pt'] as const;
export type Locale = (typeof locales)[number];
export const defaultLocale: Locale = 'en';
export function localizedPath(locale: Locale, pathname = '') {
const path = pathname === '/' ? '' : pathname;
return locale === defaultLocale ? path || '/' : `/${locale}${path}`;
}2. Garder les traductions dans des dictionnaires
Chaque langue dispose de son propre dictionnaire pour les titres, descriptions, éléments de navigation et textes des articles. Les composants lisent le dictionnaire actif au lieu d’intégrer directement les textes affichés, ce qui permet de conserver la même mise en page dans toutes les langues.
// src/locales/de.ts
pageTitles: {
'blog/how-and-why-i-localized-my-website':
'Warum und wie ich meine Website lokalisiert habe',
}
// In the page component
const title = t.pageTitles[articleKey];3. Indiquer aux robots quelle est chaque version
Chaque page localisée a sa propre URL canonique et référence les versions équivalentes avec des alternates hreflang. J’ajoute également ces routes au sitemap. Cela explicite les liens entre les traductions, sans garantir de meilleur classement ni de citation par une IA.
const pathname = `/${articleKey}`;
const url = localizedUrl(locale, pathname);
return {
alternates: {
canonical: url,
languages: getLanguageAlternates(pathname),
},
};Cette approche ne concerne pas seulement les articles : une navigation et des textes localisés rendent le site plus utile aux visiteurs, tandis que des URL et métadonnées cohérentes aident à identifier chaque version. Les traductions doivent toutefois rester exactes et pertinentes : le SEO technique facilite la découverte, mais ne remplace pas un contenu de qualité.