Aller au contenu
Acecore
Sommaire
Comment gérer un blog multilingue avec Sveltia CMS

Acecore édite principalement ses contenus en japonais, mais publie le blog en 9 langues. Le point essentiel est que traduire le texte affiché et publier de vraies pages localisées sont deux choses différentes.

La traduction du navigateur ou d’un widget peut aider le lecteur. Mais elle ne génère pas d’URL /fr/blog/.../, de métadonnées localisées, de RSS, de sitemap ou de liens hreflang.

Si le multilingue vise aussi la recherche organique, la traduction doit faire partie du processus de publication.

Structure utilisée

  • Source japonaise : src/content/blog/{slug}.md
  • Traductions : src/content/blog/{locale}/{slug}.md
  • URLs : /blog/{slug}/, /en/blog/{slug}/, /fr/blog/{slug}/
  • Édition : Sveltia CMS
  • Traduction : PR GitHub Copilot
  • Publication : build et revue

Sveltia CMS sert d’interface d’édition pour la source japonaise. Les traductions passent par des pull requests afin de garder un historique, une revue et une validation CI.

Quand la traduction d’interface suffit

Elle convient pour une lecture interne, une consultation ponctuelle, des écrans d’administration, ou des pages qui ne visent pas de trafic de recherche.

Ce modèle est léger, car aucun fichier traduit n’est maintenu. Mais il ne crée pas non plus de pages indexables par langue.

Bénéfices SEO des pages localisées

Les moteurs de recherche, les aperçus sociaux et les lecteurs RSS travaillent avec des URLs et du HTML.

Si seule la page japonaise existe, le navigateur peut la traduire pour l’utilisateur, mais le title, la description, le RSS et le sitemap restent ceux de la page japonaise.

Avec des pages statiques, chaque langue a sa propre URL.

/blog/copilot-translation-pipeline/
/en/blog/copilot-translation-pipeline/
/fr/blog/copilot-translation-pipeline/
/de/blog/copilot-translation-pipeline/

1. Chaque langue est directement crawlable

Google peut traiter JavaScript, mais sa documentation rappelle aussi les limites de JavaScript et recommande le rendu statique ou côté serveur comme solution plus stable. Pour les autres crawlers et lecteurs RSS, le HTML initial traduit est encore plus important.

2. Les métadonnées sont localisées

Le frontmatter peut être traduit :

title: 'Comment gérer un blog multilingue avec Sveltia CMS'
description: 'Flux avec Sveltia CMS et GitHub Copilot pour créer des PR de traduction.'

Cela influence les résultats de recherche, l’OGP, les cartes liées et le RSS.

3. hreflang relie les variantes

Google recommande hreflang lorsque différentes URLs correspondent à différentes langues ou régions. Avec une traduction seulement côté interface, il n’existe pas d’URL localisée à relier.

4. RSS et sitemap deviennent multilingues

Des fichiers traduits permettent de générer /fr/rss.xml et des URLs localisées dans le sitemap.

Rôle de Sveltia CMS

Sveltia CMS ne traduit pas. Il garde simple l’édition de la source japonaise :

  • articles japonais
  • auteurs
  • tags
  • JSON source japonais
  • images
  • frontmatter comme date, FAQ et linkCards

La mise en place du CMS est détaillée dans le Guide d’installation de Sveltia CMS.

Règles pour Copilot

La PR de traduction doit préserver les identifiants et localiser le texte.

Keep:

- slug
- image path
- author id
- tag ids
- external URLs
- code blocks

Localize:

- title
- description
- FAQ
- body text
- internal blog URLs when locale-specific URLs exist

Leçons des PR

  • Les anciens articles mentionnaient encore Pages CMS après la migration vers Sveltia CMS.
  • Si date reste ancien, l’article ne remonte pas en tête du blog.
  • Le slug doit rester identique entre les langues.
  • Les liens internes doivent respecter la locale du lecteur.
  • L’IA accélère la traduction, mais la relecture reste nécessaire.

Références

Résumé

La traduction d’interface aide à lire une page. Les pages statiques localisées transforment chaque langue en véritable contenu du site.

Sveltia CMS gère le japonais, GitHub Copilot crée les PR de traduction, et Astro build valide le résultat avant publication.

FAQ
La traduction d'interface suffit-elle ?
Elle est utile pour lire une page, mais elle ne crée pas d'actifs par langue pour le SEO, les flux RSS, les sitemaps et les liens internes.
La traduction par IA est-elle mauvaise pour le SEO ?
Le problème n'est pas l'IA elle-même, mais la publication massive de pages sans valeur. Terminologie, faits, liens et naturel doivent être relus.
Les pages traduites sont-elles du contenu dupliqué ?
Google indique que des pages localisées ne sont considérées comme doublons que si le contenu principal n'est pas traduit. Il faut relier les variantes avec hreflang.

Commentaires

Chargement des commentaires...

Les liens, e-mails et textes promotionnels ne peuvent pas être publiés.

G

Gui

PDG d'Acecore. Pilote les systèmes métier, le web, les bases de données et l'infrastructure, la qualité et l'adoption de l'IA, du cadrage des enjeux métier à la conception, au déploiement et à l'amélioration continue. S'appuie sur une capacité pratique en C#/.NET tout en couvrant aussi PHP/JavaScript, SQL Server/PostgreSQL/MySQL et Linux/Windows Server, afin de concevoir les besoins, les choix technologiques, les standards de qualité et les opérations de développement basées sur GitHub comme un flux cohérent. Intègre l'IA générative aux processus de développement, de vérification et d'organisation de l'information, comme une base pratique pour aider les petites équipes à livrer plus vite et plus sûrement.

Cadrage des enjeux métierChoix technologiquesConception de systèmesC#/.NETConception bases de données/infrastructureOpérations de développement GitHubIA générativeConception de flux IAConception de la qualitéIntégration terrain

Envie d'en savoir plus sur nos services ?

Nous offrons un accompagnement complet : développement de systèmes, design web, design graphique et éducation IT.

Articles connexes

Rechercher des articles