KamoCRM

Vingt-deux langues, faites correctement

hreflang, canonicals et un pipeline de traduction qui admet ce qu'il n'a pas traduit

Vingt-deux langues, avec des clusters hreflang, des canoniques auto-référentiels, un suivi de la traduction par section et des sitemaps qui ne répertorient une page que dans les langues dans lesquelles elle existe réellement.La plupart des sites multilingues se trompent de manière à supprimer activement leurs propres classements.

Chaque chiffre indique d'où il vient et quand il a été mesuré.
MesureValeurSourceMesurées
Langues desservies22messages/*.json in the marketing site repository
Seuil pour compter une langue comme traduite pour une sectionat least 90% of strings present, fewer than 30% identical to Englishapp/lib/message-locales.ts
Chaînes traduites dans le dictionnaire marketing, par langue6,517key count of the English dictionary bundle
Génération de sitemapPer request, from the same sources the pages read — no maintained listapp/lib/sitemap-source.ts

Quel bâtiment il nous a appris

Le référencement international est surtout un ensemble de règles d’honnêteté : une page qui existe dans une langue et qui est servie sous douze préfixes est douze fois presque identique, et les moteurs de recherche en choisiront une et classent le reste comme non indexable. L’échec le plus courant n’est pas la malice, c’est l’optimisme : un site lance son sélecteur de langue avant ses traductions, puis se demande pourquoi les versions en langue étrangère ne se classent jamais.

Nous avons fait dire la vérité à la machine. Le fait qu'une page compte comme traduite dans une langue est calculé, pas affirmé : le paquet de la langue doit contenir au moins quatre-vingt-dix pour cent des chaînes de cette page avant d'être fusionné avec l'anglais, et moins de trente pour cent d'entre elles peuvent être identiques en octets à l'original anglais. Ce deuxième test existe parce qu'un fournisseur de traduction automatique retournant le texte source inchangé produit un paquet qui semble complet et qui ne l'est pas — mesuré sur la sortie réelle, un fournisseur d'écho sort presque entièrement identique, et ce n'est pas une traduction.

Une page non traduite pointe son canonique vers l'original anglais et est exclue du sitemap de cette langue, donc rien de non indexable n'est jamais soumis. Lorsque la traduction atterrit, la page devient sa propre canonique et apparaît dans le sitemap automatiquement. Les sitemaps sont générés par requête à partir des mêmes sources que les pages lues, donc ils ne peuvent pas dériver — les deux copies maintenues à la main que cela a remplacées étaient déjà en désaccord entre elles, et aucune d'entre elles ne répertoriait un seul article de blog.

Les champs structurels sont protégés des traducteurs par construction. La copie vit dans un dictionnaire et est fusionnée sur l'objet tapé, donc seules les feuilles de chaîne peuvent être remplacées et seulement là où la forme correspond encore; une liste dont la longueur a dérivé retombe en anglais plutôt que de rendre à moitié traduit TypeScript.

Construit avec

  • next-intl
  • hreflang
  • XML sitemaps
  • Next.js App Router
  • self-hosted machine translation

Ce qui nous qualifie

International SEOMultiple languages and markets without competing against yourselfMultilingual websitesMore than a language switcher and a translation pluginTechnical SEOMaking a site legible to search engines, at the sourceContent modeling and editorial systemsStructuring content so it can be reused, translated and found

Dites-nous ce que vous essayez de faire

Une courte conversation est généralement suffisante pour savoir si nous sommes les bonnes personnes, si nous ne le sommes pas, nous le dirons et vous indiquerons quelque part mieux.

Commencez une conversationJ'utilise déjà KamoCRMComment nous citons