Mise en cache des sites web multilingues : comment Cloudflare et Varnish gèrent le contenu traduit 

Mise en cache des sites web multilingues : comment Cloudflare et Varnish gèrent le contenu traduit
Table des matières

Un site web multilingue doit proposer le contenu traduit adéquat aux visiteurs concernés sans compromettre la vitesse de chargement. C'est là que la mise en cache devient essentielle : elle permet un chargement plus rapide des pages traduites tout en réduisant les requêtes répétées au serveur. Cependant, la mise en cache de plusieurs versions linguistiques peut engendrer des problèmes tels que des traductions obsolètes, du contenu dans une langue incorrecte et des résultats incohérents pour les robots d'exploration des moteurs de recherche.

Ce guide explore les problèmes de mise en cache multilingue les plus courants et explique comment Cloudflare et Varnish gèrent le contenu traduit. Poursuivez votre lecture pour choisir la stratégie de mise en cache adaptée, éviter les accès au cache interlingue et configurer un système fiable pour votre site web multilingue.

Points clés : Mise en cache de sites web multilingues avec Cloudflare et Varnish

1
Versions linguistiques séparées

Utilisez des URL ou des clés de cache spécifiques à chaque langue pour garantir que chaque version traduite soit stockée et diffusée séparément. Cela permet d'éviter que les utilisateurs ne reçoivent du contenu dans une langue incorrecte.

2
Prévenir les conflits de cache

Varnish et Cloudflare doivent prendre en compte les informations de langue provenant des URL, des en-têtes ou des cookies. Une configuration correcte évite les requêtes de cache interlingues et garantit aux visiteurs l'affichage de la traduction appropriée.

3
Maintenez les traductions à jour

Définissez des durées de vie (TTL) appropriées pour le cache et purgez les caches concernés à chaque mise à jour des traductions. Cela évite que du contenu obsolète ne reste visible pour les visiteurs.

Pourquoi la mise en cache multilingue est-elle importante ?

Mise en cache des sites web multilingues : comment Cloudflare et Varnish gèrent le contenu traduit

Les sites web multilingues peuvent disposer de plusieurs versions en cache d'une même page, car chaque langue peut contenir des contenus et des URL différents. La mise en cache de ces versions traduites permet au site web de réutiliser les réponses existantes au lieu de traiter systématiquement le même contenu pour chaque requête. Cela peut réduire le nombre de requêtes adressées au serveur d'origine, améliorer le temps de chargement des pages et offrir une expérience plus rapide aux visiteurs.

Toutefois, la mise en cache multilingue doit veiller à bien séparer chaque version linguistique. Si le système de cache ne fait pas la distinction entre les variantes linguistiques, un visiteur demandant une page en français pourrait recevoir la version anglaise mise en cache. De même, lors de la mise à jour d'une traduction, une ancienne réponse mise en cache peut continuer à s'afficher jusqu'à son expiration ou son invalidation.

La mise en cache joue également un rôle dans la manière dont les robots d'exploration des moteurs de recherche accèdent aux pages multilingues. Chaque URL de langue doit systématiquement renvoyer son contenu traduit correspondant afin que les moteurs de recherche puissent comprendre et indexer correctement les versions localisées. Une configuration de cache fiable doit donc fonctionner de concert avec les signaux SEO tels que hreflang, les URL canoniqueset les métadonnées spécifiques à chaque langue.

Comment construire une stratégie de mise en cache pour un site web multilingue

Mise en cache des sites web multilingues : comment Cloudflare et Varnish gèrent le contenu traduit

Une bonne stratégie de mise en cache multilingue garantit que les visiteurs reçoivent systématiquement la version linguistique appropriée, tout en assurant un chargement rapide des pages et en réduisant les requêtes serveur. La première étape consiste à définir comment votre site web identifie chaque langue et comment le système de mise en cache utilise cette information. 

Routage d'URL et de sous-domaines

Les URL spécifiques à chaque langue constituent l'un des moyens les plus simples de rendre la mise en cache multilingue prévisible. Chaque langue possède sa propre URL, ce qui permet au cache de stocker et de servir chaque version séparément. Par exemple, example.com/fr/ peut représenter la version française, tandis que example.com/de/ représente la version allemande.

Les sous-domaines spécifiques à une langue fonctionnent de la même manière. Un site web peut utiliser fr.example.com pour le français et de.example.com pour l'allemand. La langue étant directement incluse dans l'URL, les visiteurs et les systèmes de cache peuvent facilement identifier la version à afficher. Voici quelques structures d'URL courantes :

  • exemple.com/fr/
  • exemple.com/de/
  • fr.example.com
  • de.exemple.com

Détection de langue basée sur l'en-tête

Les sites web peuvent également déterminer la langue préférée d'un visiteur grâce aux en-têtes HTTP, notamment l'en-tête Accept-Language envoyé par le navigateur. Par exemple, un navigateur configuré en français peut envoyer Accept-Language: fr, permettant ainsi au serveur de sélectionner automatiquement la version française.

Toutefois, la détection basée sur les en-têtes exige une configuration de cache rigoureuse. Si le cache ne prend en compte que l'URL de la page et ignore l'en-tête de langue, il risque de stocker une version linguistique et de la renvoyer aux visiteurs ayant une préférence linguistique différente. La clé de cache ou le comportement Vary doivent donc tenir compte des informations de langue pertinentes. Par exemple :

  • Accept-Language: en
  • Accept-Language: fr
  • Accept-Language: de

Détection de la langue basée sur les cookies

Une autre solution consiste à enregistrer la préférence linguistique du visiteur dans un cookie. Une fois la langue sélectionnée, le site web peut sauvegarder ce choix et l'utiliser pour les requêtes ultérieures. Cela permet une expérience plus cohérente, notamment lorsque les visiteurs choisissent manuellement la langue plutôt que de se fier aux paramètres de leur navigateur.

Le problème est que les cookies peuvent compliquer la mise en cache. Si le cache ne fait pas la distinction entre les requêtes en fonction du cookie de langue, les visiteurs risquent de recevoir une page mise en cache destinée à une autre langue. La couche de cache doit donc être configurée pour moduler ou désactiver la mise en cache selon les besoins. Par exemple :

  • langue=en
  • langue=fr
  • langue=de

Choisir une stratégie de mise en cache

La meilleure stratégie de mise en cache dépend de la façon dont votre site web gère la sélection de la langue. Le routage des langues par URL est généralement plus facile à mettre en cache, car chaque langue possède une URL unique. La détection par en-tête et par cookies peut également fonctionner, mais elle exige une configuration plus rigoureuse pour garantir une séparation correcte des réponses mises en cache.

Avant de choisir une approche, tenez compte du nombre de langues, de la manière dont les visiteurs sélectionnent les langues et de la fréquence de mise à jour du contenu traduit. L'objectif est de faire fonctionner conjointement la détection de la langue et la gestion du cache, plutôt que de laisser la couche de cache traiter chaque requête comme une seule et même page. Principaux facteurs à prendre en compte :

  • URL spécifiques à la langue
  • Configuration de la clé de cache
  • Gestion des en-têtes et des cookies
  • TTL du cache
  • Invalidation du cache
  • Fréquence de mise à jour des traductions
  • Exploration des moteurs de recherche

Comment Varnish met en cache le contenu multilingue et traduit

Mise en cache des sites web multilingues : comment Cloudflare et Varnish gèrent le contenu traduit

Varnish Cache fonctionne comme un proxy inverse entre les visiteurs et le serveur d'origine. Lorsqu'un visiteur demande une page, Varnish vérifie si une réponse en cache valide est disponible. Si c'est le cas, il sert le contenu mis en cache sans renvoyer la requête au serveur d'origine. Si aucune réponse appropriée n'est trouvée, Varnish transmet la requête au serveur d'origine, reçoit la réponse et peut la stocker pour les requêtes ultérieures.

Pour les sites web multilingues, Varnish doit faire la distinction entre les requêtes qui doivent renvoyer des versions linguistiques différentes. Les informations de langue doivent donc être prises en compte lorsque Varnish détermine si une réponse mise en cache peut être réutilisée. Cela évite que le cache ne considère différentes traductions comme une seule et même réponse.

Mise en cache des sites web multilingues : comment Cloudflare et Varnish gèrent le contenu traduit

Clés de cache spécifiques à la langue

Varnish doit pouvoir distinguer les réponses mises en cache correspondant à différentes versions linguistiques. Lorsque la langue est déjà incluse dans l'URL, chaque URL correspond naturellement à une entrée de cache différente. En revanche, si la langue est déterminée par un en-tête de requête, un cookie ou une autre valeur de requête, la configuration de Varnish doit intégrer cette information dans sa logique de mise en cache. Par exemple, un site multilingue pourrait distinguer les réponses mises en cache de la manière suivante :

  • /en/about/ → Entrée du cache en anglais
  • /fr/about/ → Entrée de cache française
  • Accept-Language: en → Variante anglaise
  • Accept-Language: fr → Variante française
  • Cookie de langue → Langue sélectionnée par le visiteur

La mise en œuvre exacte dépend de la manière dont le site web détermine la langue. L'exigence essentielle est que les requêtes produisant des réponses traduites différentes ne doivent pas aboutir au même objet mis en cache.

Prévenir les accès interlingue

Une correspondance de cache interlingue se produit lorsque Varnish renvoie une réponse mise en cache dans une langue à un visiteur qui en demande une autre. Par exemple, un visiteur demandant une page en français pourrait recevoir une réponse en anglais si les deux requêtes sont traitées comme une seule et même ressource pouvant être mise en cache.

Pour réduire ce risque, Varnish ne devrait réutiliser une réponse mise en cache que si la variante linguistique est connue et correspond à la requête. Si la langue ne peut être déterminée avec certitude, la réponse doit être traitée avec précaution plutôt que stockée dans un cache partagé. Les principales mesures de protection sont les suivantes :

  • Évitez de mettre en cache les réponses contenant des informations linguistiques ambiguës
  • Gérer les cookies et les en-têtes de langue de manière cohérente
  • Testez les succès et les échecs du cache pour différentes requêtes linguistiques
  • Vérifiez le changement de langue après l'activation de la mise en cache

Invalidation du cache Varnish

L'invalidation du cache supprime ou marque le contenu mis en cache comme obsolète. Ceci est important lorsque le contenu original ou sa traduction a été mis à jour. Sans invalidation, Varnish peut continuer à diffuser une ancienne version en cache jusqu'à l'expiration de sa durée de vie (TTL) configurée.

Pour les sites web multilingues, l'invalidation doit prendre en compte toutes les versions linguistiques concernées. Si une page anglaise et sa traduction française sont mises à jour, les réponses mises en cache correspondantes doivent être effacées ou actualisées afin que les visiteurs ne voient pas de contenu obsolète. Voici quelques approches courantes :

  • Suppression d'URL spécifiques
  • Suppression des versions multilingues
  • Utilisation des TTL du cache
  • Suppression automatique après les mises à jour de contenu
  • Actualisation des pages traduites concernées

Comment Cloudflare met en cache le contenu multilingue en périphérie

Mise en cache des sites web multilingues : comment Cloudflare et Varnish gèrent le contenu traduit

Cloudflare fonctionne comme une couche de cache périphérique entre les visiteurs et votre serveur d'origine. Lorsqu'un visiteur demande une page, Cloudflare vérifie si une version en cache est disponible sur un serveur périphérique. Si une réponse valide existe, elle peut être servie directement depuis ce serveur périphérique, évitant ainsi de demander la page au serveur d'origine. Si aucune réponse en cache n'est disponible, Cloudflare récupère le contenu depuis le serveur d'origine et peut mettre en cache la réponse pour les requêtes ultérieures.

Pour les sites web multilingues, ce processus doit tenir compte de la langue demandée. Cloudflare doit pouvoir distinguer les différentes versions linguistiques afin qu'une réponse anglaise mise en cache ne soit pas servie à un utilisateur demandant la version française. C'est pourquoi une configuration de cache prenant en compte la langue est essentielle lorsque le contenu traduit est diffusé via différentes URL, en-têtes ou cookies.

Mise en cache des sites web multilingues : comment Cloudflare et Varnish gèrent le contenu traduit

Séparation des versions linguistiques

Cloudflare peut mettre en cache séparément les différentes versions linguistiques lorsque chaque version possède une URL distincte. Par exemple, /en/, /fr/ et /it/ peuvent représenter respectivement le contenu en anglais, en français et en italien. La langue étant directement incluse dans l'URL, chaque version dispose de sa propre entrée de cache, ce qui simplifie la gestion et la suppression des versions linguistiques individuelles. Par exemple :

  • exemple.com/en/produits/
  • exemple.com/fr/produits/
  • exemple.com/it/produits/

Clés de cache Cloudflare et variations linguistiques

Cloudflare doit distinguer les requêtes lorsque des entrées de langues différentes peuvent produire des réponses différentes. Grâce au routage linguistique basé sur les URL, cette séparation se fait naturellement, car chaque langue possède sa propre URL.

Une attention particulière est requise lorsque la langue est déterminée par l'en-tête Accept-Language ou un cookie. Si ces valeurs influent sur la réponse traduite mais ne sont pas gérées par la configuration du cache, les requêtes pour différentes langues peuvent être traitées comme une seule et même ressource. Il est alors possible qu'une langue soit proposée aux visiteurs qui en demandent une autre.

Pour la plupart des sites web multilingues, le routage basé sur l'URL est plus simple à gérer, car la langue y est directement visible. La détection par en-tête et par cookies est également possible, mais elle nécessite une configuration supplémentaire pour éviter que les réponses dans différentes langues ne soient partagées par erreur.

Durée de vie du cache et purge

La durée de vie (TTL) du cache détermine combien de temps Cloudflare conserve une réponse en cache avant son expiration. Une TTL plus longue peut améliorer les performances car le contenu reste en cache plus longtemps, tandis qu'une TTL plus courte permet aux modifications d'être disponibles plus rapidement.

Pour les sites web multilingues, la durée de vie (TTL) doit refléter la fréquence des mises à jour du contenu et des traductions. Les pages fréquemment mises à jour peuvent nécessiter des TTL plus courtes, tandis que les pages stables peuvent généralement utiliser des TTL plus longues. Lorsqu'une traduction est modifiée, la version linguistique concernée doit être purgée ou actualisée plutôt que d'attendre l'expiration du TTL. Cela permet d'éviter que les visiteurs ne reçoivent des traductions obsolètes. La stratégie de mise en cache peut inclure :

  • TTL court pour le contenu fréquemment mis à jour
  • TTL plus long pour les pages stables
  • Règles de cache spécifiques à l'URL
  • purge manuelle du cache
  • Suppression automatique après les mises à jour

Meilleures pratiques pour la mise en cache des sites web multilingues

Mise en cache des sites web multilingues : comment Cloudflare et Varnish gèrent le contenu traduit

Une configuration de cache bien pensée permet d'accélérer les sites web multilingues sans que les visiteurs ne reçoivent de traductions erronées ou obsolètes. L'essentiel est de faire fonctionner de concert le système de traduction et la couche de cache, tout en séparant clairement chaque version linguistique. 

Combiner la traduction et la mise en cache

La traduction et la mise en cache doivent fonctionner de concert au sein d'un même processus de diffusion de contenu. La couche de traduction détermine la version localisée à renvoyer, tandis que la couche de mise en cache stocke cette réponse pour les requêtes ultérieures. Le facteur crucial est le timing : la langue doit être déterminée avant la mise en cache de la réponse. Ceci garantit que le cache stocke la réponse traduite réellement demandée et non une version ambiguë susceptible d'être réutilisée pour une autre langue.

Pour les sites web utilisant la traduction automatique, une solution comme Linguise simplifie le processus en générant automatiquement du contenu localisé, tout en permettant aux pages traduites de fonctionner avec le système de cache existant. Ceci s'avère particulièrement utile pour les sites multilingues, où la gestion manuelle des versions traduites et leur synchronisation avec le contenu mis en cache peuvent devenir complexes.

Bonne pratique : assurez-vous que votre système de traduction et votre couche de cache s’accordent sur la manière dont les versions linguistiques sont identifiées avant d’activer la mise en cache des pages complètes.

Briser les barrières linguistiques
Dites adieu aux barrières linguistiques et bonjour à une croissance sans limites ! Essayez notre service de traduction automatique dès aujourd'hui.

Utilisez des clés de cache spécifiques à la langue

Chaque réponse traduite doit correspondre à la variante de cache appropriée. Les structures de langue basées sur les URL simplifient cette tâche, car chaque langue possède déjà une URL distincte, tandis que les configurations basées sur les en-têtes ou les cookies nécessitent une configuration de cache supplémentaire.

Bonne pratique : privilégiez, dans la mesure du possible, les URL spécifiques à la langue, telles que :

  • /en/about/ → Anglais
  • /fr/about/ → Français
  • /de/about/ → Allemand

Cela permet de bien séparer les versions linguistiques et de réduire le risque de conflits d'accès au cache entre les langues.

Définir le contrôle du cache et les TTL

Les en-têtes Cache-Control et les TTL déterminent la façon dont les navigateurs, les CDN et les proxys inverses gèrent le contenu mis en cache. Un paramétrage correct permet d'équilibrer les performances du site web et la nécessité de fournir des traductions actualisées.

Les pages rarement modifiées peuvent généralement rester en cache plus longtemps, tandis que le contenu fréquemment mis à jour devrait utiliser des durées de vie (TTL) plus courtes. Le paramètre approprié dépend de la fréquence de mise à jour du contenu et des traductions de votre site web.

Bonne pratique : par exemple, vous pouvez utiliser une durée de vie (TTL) plus longue pour une page d’accueil multilingue statique et une durée de vie plus courte pour les pages produits ou actualités fréquemment mises à jour. Testez toujours la configuration pour vous assurer que le contenu mis à jour est disponible comme prévu.

Vider le cache après les mises à jour

En cas de modification du contenu ou des traductions, purgez ou actualisez les réponses mises en cache concernées au lieu de vous fier uniquement à l'expiration du TTL. Cela permet de garantir que les visiteurs reçoivent la version la plus récente dans toutes les langues concernées.

Bonne pratique : Intégrez l’invalidation du cache dans votre flux de travail de mise à jour du contenu et assurez-vous que toutes les versions linguistiques concernées sont prises en charge.

Testez les pages multilingues mises en cache

Les tests sont importants car les problèmes de mise en cache ne sont pas toujours visibles lors d'une navigation normale. Une page peut sembler correcte lorsqu'on y accède directement, mais afficher une langue incorrecte lorsqu'elle est servie à partir d'une réponse mise en cache.

Testez chaque version linguistique après avoir configuré ou modifié vos règles de mise en cache. Vérifiez les premières requêtes ainsi que les suivantes pour confirmer que la réponse mise en cache est systématiquement renvoyée correctement.

Bonnes pratiques : tester des scénarios tels que :

  • Ouvrir la même page dans différentes langues
  • Rechargement d'une page en cache
  • Passer d'une langue à l'autre
  • Mise à jour d'une traduction
  • Vérification de la page après une purge du cache
  • Exploration des URL spécifiques à une langue

Liste de contrôle de mise en cache multilingue

Avant de mettre en production votre configuration de mise en cache multilingue, utilisez une simple liste de contrôle pour vérifier que la détection de la langue, la mise en cache et les mises à jour de contenu fonctionnent correctement ensemble. 

Liste de contrôle des meilleures pratiques :

  • Attribuez à chaque version linguistique une URL ou une variante de cache unique
  • Utilisez des clés de cache spécifiques à la langue
  • Configurez les en-têtes Cache-Control appropriés
  • Définir les durées de vie (TTL) en fonction de la fréquence de mise à jour du contenu
  • Supprimer les versions linguistiques concernées après les mises à jour
  • Testez les pages mises en cache dans toutes les langues prises en charge
  • Vérifier les réponses dans une langue incorrecte
  • Vérifier si le contenu traduit est obsolète
  • Vérifiez les URL spécifiques à une langue avec les robots d'exploration des moteurs de recherche
Prêt à explorer de nouveaux marchés ? Essayez notre service de traduction automatique gratuitement avec notre essai sans risque de 1 mois. Aucune carte de crédit requise !

Conclusion

La mise en cache efficace des sites web multilingues nécessite un équilibre entre les performances du site et la diffusion de la version linguistique correcte et à jour à chaque visiteur. L'utilisation de clés de cache spécifiques à chaque langue, de durées de vie (TTL) appropriées et d'une invalidation fiable du cache permet de réduire les requêtes serveur tout en évitant l'affichage de contenu obsolète ou dans une langue incorrecte.

Pour une gestion simplifiée de votre contenu traduit, inscrivez-vous à Linguise et optimisez le flux de travail de votre site web multilingue grâce à la traduction automatisée, tout en conservant un contenu localisé rapide et facile à gérer.

Vous pourriez également être intéressé par la lecture de

Ne manquez pas !
Abonnez-vous à notre newsletter

Recevez des nouvelles sur la traduction automatique de sites Web, le SEO international, et plus encore !

Invalid email address
Essayez-le. Une fois par mois, et vous pouvez vous désinscrire à tout moment.

Ne partez pas sans partager votre e-mail !

Nous ne pouvons pas garantir que vous gagnerez à la loterie, mais nous pouvons promettre des actualités informatives intéressantes autour de la traduction et des remises occasionnelles.

Ne manquez pas !
Invalid email address