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

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

Un site web multilingue doit fournir le bon contenu traduit aux bons visiteurs sans sacrifier la vitesse. C'est là que la mise en cache des sites web multilingues devient essentielle, en aidant les pages traduites à se charger plus rapidement tout en réduisant les requêtes répétées vers votre serveur. Cependant, la mise en cache de plusieurs versions linguistiques peut introduire des défis tels que des traductions obsolètes, du contenu dans la mauvaise langue et des résultats incohérents pour les robots des moteurs de recherche.

Dans ce guide, nous allons explorer les problèmes de mise en cache multilingue les plus courants et expliquer comment Cloudflare et Varnish gèrent le contenu traduit. Continuez à lire pour choisir la bonne stratégie de mise en cache, éviter les hits de cache inter-langues et mettre en place une configuration fiable pour votre site web multilingue.

Points clés : mise en cache de sites web multilingues avec Cloudflare & Varnish

1
Versions linguistiques distinctes

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

2
Prévenir les conflits de cache

Varnish et Cloudflare doivent prendre en compte les informations linguistiques provenant des URL, des en-têtes ou des cookies. Une configuration appropriée évite les hits de cache inter-langues et garantit que les visiteurs reçoivent la bonne traduction.

3
Gardez les traductions à jour

Définissez des TTL de cache appropriés et purgez les caches concernés chaque fois que les traductions sont mises à jour. Cela évite que du contenu obsolète reste visible pour les visiteurs.

Pourquoi la mise en cache multilingue est-elle importante ?

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

Les sites web multilingues peuvent avoir plusieurs versions en cache de la même page, car chaque langue peut contenir un contenu 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 retraiter le même contenu à chaque requête. Cela peut réduire les requêtes vers le serveur d'origine, améliorer les temps de chargement des pages et offrir une expérience plus rapide aux visiteurs.

Cependant, la mise en cache multilingue doit maintenir une séparation adéquate entre chaque version linguistique. Si le système de mise en cache ne distingue pas les variantes linguistiques, un visiteur demandant une page en français pourrait recevoir à la place une version anglaise mise en cache. De même, lorsqu'une traduction est mise à jour, une réponse mise en cache plus ancienne peut continuer à s'afficher jusqu'à son expiration ou son invalidation.

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

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

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

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

Routage des URL et des sous-domaines

Les URL spécifiques à chaque langue sont l'un des moyens les plus simples de rendre la mise en cache multilingue prévisible. Chaque langue dispose 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 à chaque langue fonctionnent de manière similaire. Un site web peut utiliser fr.example.com pour le français et de.example.com pour l'allemand. Comme la langue est incluse directement dans l'URL, les visiteurs et les systèmes de mise en cache peuvent facilement identifier la version à servir. Les structures d'URL courantes incluent :

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

Détection de la langue basée sur les en-têtes

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, ce qui permet au serveur de sélectionner automatiquement la version française.

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

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

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

Une autre approche consiste à stocker la préférence linguistique du visiteur dans un cookie. Une fois qu'un visiteur sélectionne une langue, le site web peut enregistrer ce choix et l'utiliser pour les requêtes suivantes. Cela peut offrir une expérience plus cohérente, en particulier lorsque les visiteurs choisissent manuellement une langue plutôt que de se fier aux paramètres de leur navigateur.

Le défi est que les cookies peuvent compliquer la mise en cache. Si le cache ne distingue pas les requêtes en fonction du cookie de langue, les visiteurs peuvent recevoir une page mise en cache destinée à une autre langue. La couche de mise en cache doit donc être configurée pour varier ou contourner la mise en cache lorsque cela est nécessaire. Par exemple :

  • language=en
  • language=fr
  • language=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 linguistique basé sur l'URL est généralement plus facile à mettre en cache, car chaque langue dispose d'une URL unique. La détection basée sur les en-têtes et les cookies peut toujours fonctionner, mais elle nécessite une configuration plus minutieuse pour garantir que les réponses mises en cache soient correctement séparées.

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 à laquelle le contenu traduit change. L'objectif est de faire en sorte que la détection de la langue et le comportement du cache fonctionnent ensemble, plutôt que de laisser la couche de mise en cache traiter chaque requête comme la même page. Facteurs clés à 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 par les moteurs de recherche

Comment Varnish met en cache le contenu multilingue et traduit

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

Varnish Cache agit 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. S'il trouve une réponse correspondante, il sert le contenu mis en cache sans renvoyer la requête à l'origine. Si aucune réponse appropriée n'existe, Varnish transmet la requête à l'origine, reçoit la réponse et peut la stocker pour les requêtes suivantes.

Pour les sites web multilingues, Varnish doit distinguer les requêtes qui doivent renvoyer différentes versions linguistiques. 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 traite différentes traductions comme une même réponse.

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

Clés de cache spécifiques à la langue

Varnish a besoin d'un moyen de distinguer les réponses mises en cache qui représentent différentes versions linguistiques. Lorsque la langue est déjà incluse dans l'URL, chaque URL peut naturellement correspondre à une entrée de cache différente. Lorsque 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 peut distinguer les réponses mises en cache à l'aide de :

  • /en/about/ → entrée de cache anglaise
  • /fr/about/ → entrée de cache française
  • Accept-Language : en → variation anglaise
  • Accept-Language: fr → variation française
  • Un 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 clé 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 collisions entre langues

Un hit de cache inter-langues se produit lorsque Varnish renvoie une réponse mise en cache pour 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 la même ressource cachable.

Pour réduire ce risque, Varnish ne doit réutiliser une réponse mise en cache que lorsque la variation linguistique est connue et correspond à la requête. Si la langue ne peut pas être déterminée de manière fiable, la réponse doit être traitée avec prudence plutôt que stockée comme une entrée de cache partagée. Les protections importantes incluent :

  • Évitez de mettre en cache des réponses dont les informations linguistiques sont ambiguës
  • Gérer les cookies et les en-têtes de langue de manière cohérente
  • Testez les hits et les misses de cache pour différentes requêtes linguistiques
  • Vérifier 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 n'étant plus valide. Cela est important lorsque le contenu original ou sa traduction a été mis à jour. Sans invalidation, Varnish peut continuer à servir une ancienne version mise en cache jusqu'à l'expiration de son TTL configuré.

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

  • Purge d'URL spécifiques
  • Purge de plusieurs versions linguistiques
  • Utiliser les TTL de cache
  • Purge 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 & Varnish gèrent le contenu traduit

Cloudflare agit comme une couche de mise en cache en périphérie entre les visiteurs et votre serveur d'origine. Lorsqu'un visiteur demande une page, Cloudflare vérifie si une version mise en cache est disponible à un emplacement en périphérie. Si une réponse valide existe, elle peut être servie directement depuis la périphérie au lieu de demander la page au serveur d'origine. Si aucune réponse mise en cache n'est disponible, Cloudflare récupère le contenu depuis l'origine et peut mettre en cache la réponse pour les requêtes suivantes.

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 à une personne demandant la version française. Cela rend la configuration du cache sensible à la langue importante lorsque le contenu traduit est diffusé via différentes URL, en-têtes ou cookies.

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

Séparation des versions linguistiques

Cloudflare peut mettre en cache différentes versions linguistiques séparément lorsque chaque version dispose d'une URL distincte. Par exemple, /en/, /fr/ et /it/ peuvent représenter du contenu en anglais, en français et en italien. Comme la langue est incluse directement dans l'URL, chaque version peut avoir sa propre entrée de cache, ce qui facilite la gestion et la purge des versions linguistiques individuelles. Par exemple :

  • example.com/en/products/
  • example.com/fr/products/
  • example.com/it/products/

Clés de cache Cloudflare et variations linguistiques

Cloudflare doit distinguer les requêtes lorsque différentes entrées linguistiques peuvent produire différentes réponses. Avec le routage linguistique basé sur l'URL, cette séparation se fait naturellement car chaque langue dispose de sa propre URL.

Une attention accrue est nécessaire lorsque la langue est déterminée par l'en-tête Accept-Language ou un cookie. Si ces valeurs influencent la réponse traduite mais ne sont pas prises en compte par la configuration de mise en cache, les requêtes pour différentes langues peuvent être traitées comme une même ressource. Cela peut entraîner la diffusion d'une langue à des visiteurs qui en demandent une autre.

Pour la plupart des sites web multilingues, le routage basé sur l'URL est plus facile à gérer car la langue est directement visible dans l'URL. La détection basée sur l'en-tête et les cookies peut également fonctionner, mais elle nécessite une configuration supplémentaire pour garantir que les réponses dans différentes langues ne soient pas partagées de manière incorrecte.

TTL du cache et purge

Un TTL de cache (Time to Live) détermine combien de temps Cloudflare conserve une réponse mise en cache avant son expiration. Un TTL plus long peut améliorer les performances car le contenu reste en cache plus longtemps, tandis qu'un TTL plus court permet aux modifications d'être disponibles plus rapidement.

Pour les sites web multilingues, les TTL doivent refléter la fréquence de modification du contenu et des traductions. Les pages fréquemment mises à jour peuvent nécessiter des TTL plus courts, tandis que les pages stables peuvent généralement utiliser des TTL plus longs. Lorsqu'une traduction change, 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 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 aux URL
  • Purge manuel du cache
  • Purge automatique après les mises à jour

Bonnes pratiques pour la mise en cache des sites web multilingues

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

Une configuration de mise en cache bien planifiée peut accélérer les sites web multilingues sans que les visiteurs reçoivent une traduction erronée ou obsolète. La clé est de faire fonctionner ensemble votre système de traduction et votre couche de mise en cache, tout en séparant clairement chaque version linguistique. 

Combiner traduction et mise en cache

La traduction et la mise en cache doivent fonctionner ensemble dans le cadre d'un même processus de diffusion de contenu. La couche de traduction détermine quelle version localisée doit être renvoyée, tandis que la couche de mise en cache stocke cette réponse pour les requêtes suivantes. Le point important est le moment de l'opération : la langue doit être déterminée avant que la réponse ne soit mise en cache. Cela garantit que le cache stocke la réponse traduite qui a réellement été demandée, plutôt qu'une version ambiguë qui pourrait être réutilisée pour une autre langue.

Pour les sites web qui utilisent la traduction automatique, une solution de traduction telle que Linguise peut simplifier ce processus en générant automatiquement du contenu localisé tout en permettant aux pages traduites de fonctionner avec la configuration de mise en cache existante du site web. Cela peut être utile pour les sites web multilingues, où la gestion manuelle des versions traduites et leur synchronisation avec le contenu mis en cache peut devenir plus complexe.

Bonne pratique : Assurez-vous que votre système de traduction et votre couche de mise en 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 illimitée ! Essayez notre service de traduction automatique dès aujourd'hui.

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

Chaque réponse traduite doit correspondre à la bonne variation de cache. Les structures de langue basées sur l'URL facilitent cela, car chaque langue dispose déjà d'une URL distincte, tandis que les configurations basées sur l'en-tête ou le cookie nécessitent une configuration de cache supplémentaire.

Bonne pratique : Privilégiez les URL spécifiques à chaque langue lorsque c'est possible, par exemple :

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

Cela permet une séparation claire entre les versions linguistiques et réduit le risque de collisions de cache entre les langues.

Définir le cache-control et les TTL

Les en-têtes Cache-Control et les TTL déterminent la manière dont les navigateurs, les CDN et les proxys inverses gèrent le contenu mis en cache. Les configurer correctement permet d'équilibrer les performances du site web avec la nécessité de fournir des traductions à jour.

Les pages qui changent rarement peuvent généralement rester en cache plus longtemps, tandis que le contenu fréquemment mis à jour doit utiliser des TTL plus courts. Le bon réglage dépend de la fréquence de mise à jour du contenu de votre site web et de vos traductions.

Bonne pratique : Par exemple, vous pouvez utiliser un TTL plus long pour une page d'atterrissage multilingue statique et un TTL plus court pour les pages de produits ou d'actualités qui changent fréquemment. Testez toujours la configuration pour vous assurer que le contenu mis à jour devient disponible au moment prévu.

Purger les caches après les mises à jour

Lorsque le contenu ou les traductions changent, 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 mise à jour de contenu et assurez-vous que toutes les versions linguistiques concernées sont couvertes.

Tester 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'elle est consultée directement, mais renvoyer la mauvaise langue lorsqu'elle est servie depuis 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 à la fois les premières requêtes et les requêtes suivantes pour confirmer que la bonne réponse mise en cache est systématiquement renvoyée.

Bonne pratique : Testez des scénarios tels que :

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

Liste de contrôle pour la mise en cache multilingue

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

Liste de bonnes pratiques :

  • Attribuez à chaque version linguistique une URL unique ou une variation de cache
  • Utiliser des clés de cache spécifiques à la langue
  • Configurez les en-têtes Cache-Control appropriés
  • Définir les TTL en fonction de la fréquence de mise à jour du contenu
  • Purger les versions linguistiques concernées après les mises à jour
  • Testez les pages mises en cache dans chaque langue prise en charge
  • Vérifiez les réponses dans la mauvaise langue
  • Vérifier la présence de contenu traduit obsolète
  • Vérifier les URL spécifiques à chaque langue avec les robots d'indexation 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

Une 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. En utilisant des clés de cache spécifiques à chaque langue, des TTL appropriés et une invalidation fiable du cache, vous pouvez réduire les requêtes serveur tout en évitant les contenus en mauvaise langue et obsolètes.

Pour une gestion plus simple du contenu traduit, inscrivez-vous sur Linguise et rationalisez le flux de travail de votre site web multilingue grâce à la traduction automatisée, tout en gardant votre 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