Intermédiaire 6 min 1 min de lecture Votre apparence sur Google

Traduction de la recherche et réseaux publicitaires Google

Vos annonces fonctionnent mal sur les pages traduites par Google ? Décodez l'URL source et restaurez un affichage et une attribution corrects.

Par Nicolas Dupont Mis à jour le 23 juin 2026

La recherche Google propose des fonctionnalités de traduction qui permettent aux internautes d’accéder à votre contenu dans leur langue. Lorsque l’un d’eux clique sur un résultat traduit, Google extrait votre page, réécrit l’URL source et traduit le contenu à la volée. L’internaute voit alors une URL technique du domaine translate.goog, et non votre URL d’origine. Ce comportement découle directement des résultats traduits.

Pour le SEO et la monétisation, ce détail compte : si votre réseau publicitaire dépend de l’URL source de l’éditeur pour cibler ou attribuer les annonces, il peut ne plus fonctionner correctement sur ces pages traduites. Ce tutoriel explique comment reconstruire l’URL d’origine pour rétablir un affichage et une attribution fiables.

Ce détail technique a coûté des revenus publicitaires à plus d’un éditeur sans qu’il comprenne pourquoi. Quand un internaute passe par un résultat traduit, votre page bascule sur le domaine translate.goog, et un réseau publicitaire qui cible sur l’URL source peut alors décrocher. Apprenez à décoder ce nom d’hôte, à réécrire l’URL et à tester votre code : c’est là que se joue la monétisation.

— Nicolas Dupont

Pourquoi vos annonces peuvent dysfonctionner

L’approche de Google est la suivante : quand un utilisateur accède à un contenu traduit fourni par Google Traduction depuis les résultats de recherche, Google extrait la page de l’éditeur, réécrit l’URL et traduit la page au moment du clic.

Le problème survient lorsque votre régie ou votre réseau publicitaire s’appuie sur le nom d’hôte d’origine pour décider quelles annonces servir ou à quel site les attribuer. Sur une page traduite, ce nom d’hôte est encodé dans le domaine translate.goog : sans décodage, l’attribution se perd et les annonces peuvent ne pas s’afficher comme prévu, au détriment de l’apparence dans les résultats.

Décoder le nom d'hôte de l'éditeur

Pour retrouver le nom d’hôte d’origine à partir d’une URL Google Traduction, Google décrit une procédure précise. Elle consiste à isoler le préfixe du domaine, puis à appliquer une série de transformations selon les paramètres présents dans l’URL. Le tableau ci-dessous résume ces étapes dans l’ordre.

Étape Action Détail

1

Extraire le préfixe du domaine

Retirer le suffixe .translate.goog du nom d’hôte

2

Lire l’encodage

Découper _x_tr_enc par virgule, le stocker comme encoding_list

3

Restaurer le préfixe d’hôte

Ajouter la valeur de _x_tr_hp avant le préfixe, le cas échéant

4

Nettoyer le préfixe 1-

Si encoding_list contient 1 et que le résultat débute par 1-, le supprimer

5

Nettoyer le préfixe 0-

Si encoding_list contient 0 et que le résultat débute par 0-, le supprimer et marquer is_idn

6

Restaurer les points

Remplacer les tirets isolés par des points

7

Restaurer les tirets

Remplacer le double trait d’union par un simple trait d’union

8

Gérer les domaines internationalisés

Si is_idn est vrai, ajouter le préfixe punycode xn--

Décoder le nom d'hôte (decodeHostname)
function decodeHostname(proxyUrl) {
  const parsedProxyUrl = new URL(proxyUrl);
  const fullHost = parsedProxyUrl.hostname;
  // 1. Retirer le suffixe .translate.goog pour isoler le prefixe
  let domainPrefix = fullHost.substring(0, fullHost.indexOf('.'));

  // 2. Decouper _x_tr_enc par ',' et stocker dans encodingList
  const encodingList = parsedProxyUrl.searchParams.has('_x_tr_enc') ?
      parsedProxyUrl.searchParams.get('_x_tr_enc').split(',') :
      [];

  // 3. Ajouter _x_tr_hp avant le prefixe du domaine, s'il existe
  if (parsedProxyUrl.searchParams.has('_x_tr_hp')) {
    domainPrefix = parsedProxyUrl.searchParams.get('_x_tr_hp') + domainPrefix;
  }

  // 4. Supprimer le prefixe '1-' si encodingList contient '1'
  if (encodingList.includes('1') && domainPrefix.startsWith('1-')) {
    domainPrefix = domainPrefix.substring(2);
  }

  // 5. Supprimer le prefixe '0-' si encodingList contient '0' (domaine IDN)
  let isIdn = false;
  if (encodingList.includes('0') && domainPrefix.startsWith('0-')) {
    isIdn = true;
    domainPrefix = domainPrefix.substring(2);
  }

  // 6 et 7. Restaurer les points puis les tirets
  let decodedSegment =
      domainPrefix.replaceAll(/b-b/g, '.').replaceAll('--', '-');

  // 8. Ajouter le prefixe punycode 'xn--' pour un domaine IDN
  if (isIdn) {
    decodedSegment = 'xn--' + decodedSegment;
  }
  return decodedSegment;
}

Réécrire l'URL puis tester votre code

Une fois le nom d’hôte décodé, reconstruisez l’URL complète : remplacez le nom d’hôte par sa version décodée dans l’URL d’origine, puis supprimez tous les paramètres préfixés par _x_tr_. Veillez à conserver tels quels le chemin d’accès, le fragment et les paramètres légitimes de l’URL.

Google fournit ensuite des cas de référence pour valider votre implémentation. Pour chaque proxyUrl, la fonction decodeHostname doit renvoyer exactement la valeur attendue. Ces cas ne servent qu’à tester le décodage du nom d’hôte : créez vos tests unitaires à partir d’eux avant toute mise en production. Pour aller plus loin sur la visibilité de vos médias, voyez aussi le SEO des images.

Ne modifiez que le nom d'hôte

Le décodage porte uniquement sur le nom d’hôte. Le chemin, le fragment et les paramètres d’origine de l’URL doivent rester intacts. Les cas de test fournis par Google valident seulement le nom d’hôte : si vous altérez le reste de l’URL, l’attribution de vos annonces restera faussée même avec un décodage correct.

Besoin d'aide pour mettre en pratique ? Nos experts SEO vous accompagnent.
Parler à un expert

À faire

  • suivre les étapes de décodage dans l’ordre
  • gérer les domaines internationalisés avec le préfixe punycode
  • supprimer les paramètres _x_tr_ après réécriture
  • valider avec les cas de test officiels

À éviter

  • modifier le chemin ou les paramètres légitimes de l’URL
  • ignorer les paramètres _x_tr_enc et _x_tr_hp
  • déployer sans tests unitaires
  • supposer que toutes les URL traduites ont la même structure

Points clés à retenir

  • Google sert les pages traduites depuis un domaine translate.goog
  • L'URL d'origine est encodée dans le nom d'hôte du proxy
  • Décodez ce nom d'hôte étape par étape avant d'attribuer vos annonces
  • Ne touchez ni au chemin, ni au fragment, ni aux paramètres légitimes
  • Validez votre code avec les cas de test fournis par Google

L’essentiel pour fiabiliser vos annonces sur les pages traduites.

Quiz : testez vos connaissances

  1. Pourquoi des annonces peuvent-elles ne pas s'afficher sur les pages traduites par Google ?

    • Parce que la traduction supprime le code des annonces
    • Parce que la page est servie depuis le domaine translate.goog
    • Parce que Google interdit la publicité sur les pages traduites

    La page traduite est servie depuis le domaine translate.goog. Si votre réseau dépend de l’URL source, il faut décoder le nom d’hôte pour la retrouver.

  2. Sur quelle partie de l'URL porte le décodage à effectuer ?

    • Uniquement le nom d'hôte, en conservant le reste intact
    • L'URL entière, chemin et paramètres compris
    • Le chemin et le fragment, mais pas le nom d'hôte

    Le décodage concerne uniquement le nom d’hôte. Le chemin, le fragment et les paramètres d’origine doivent rester tels quels pour ne pas casser l’URL.

  3. Que faut-il faire des paramètres préfixés par _x_tr_ après réécriture de l'URL ?

    • Les supprimer, tout en gardant les paramètres légitimes
    • Les remplacer par le nom d'hôte décodé
    • Les conserver tels quels dans l'URL finale

    Une fois le nom d’hôte décodé, supprimez tous les paramètres préfixés par _x_tr_ et validez le résultat avec les cas de test officiels fournis par Google.

À propos de l'auteur

Nicolas Dupont

Nicolas Dupont

Expert SEO Sénior & Fondateur

Il a fait grimper des sites en haut de Google et accompagné plus de 120 entreprises avant de fonder Les Webineurs. Sur votre projet SEO, vous échangez directement avec Nicolas, pas un commercial ni un junior. Un expert dédié et du trafic organique qui dure.

Voir le profil

Besoin d'un accompagnement SEO ?

Vous monétisez un site visible à l'international ? Assurez-vous que vos pages traduites ne vous coûtent ni trafic ni revenus.

Faire le point avec un expert SEO