example-commerce-host.com

Domaine d’exemple · Pas un service réel · Les visites depuis un navigateur affichent cette page · Les requêtes API reçoivent 410 Gone

Domaine d’exemple · pas un service réel

example-commerce-host.com

example-commerce-host.com est un domaine d’exemple issu de la documentation de Google sur la mesure des visiteurs sur plusieurs domaines, où il représente un panier d’achat tiers : une boutique sur example-petstore.com envoie ses visiteurs vers un panier comme example-commerce-host.com/example-petstore. Il n’héberge ni panier, ni page de commande, ni page de paiement. Si ce nom apparaît dans votre code ou vos paramètres, remplacez-le par l’adresse fournie par votre prestataire de panier.

Vous avez envoyé une clé, un jeton, un mot de passe ou des données de paiement ici ? Agissez maintenant.

Les requêtes provenant d’un code qui pointe vers example-commerce-host.com arrivent sur ce serveur au lieu de la boutique ou du prestataire de paiement réel, avec les clés API, jetons d’accès, mots de passe, cookies de session ou données de carte qu’elles contiennent. Considérez-les comme exposés :

  1. Révoquez la clé, le jeton ou le mot de passe auprès du service qui l’a émis, et générez-en un nouveau.
  2. Conservez les identifiants dans la configuration ou dans un gestionnaire de secrets, pas dans le code.
  3. Si de véritables données de carte ont été envoyées, contactez l’émetteur de la carte.
  4. Corrigez l’adresse dans votre code, afin que les nouveaux identifiants ne soient envoyés qu’au service réel.

Où révoquer des clés chez GitHub, AWS, Google Cloud, Stripe et d’autres

Origine de ce nom

Chaque exemple ci-dessous présente l’extrait obsolète tel qu’il a été publié, et ce qu’il faut utiliser à la place. La partie en surbrillance est celle que vous remplacez. L’historique complet fournit les dates et les sources archivées.

Google Analytics · 2009–2024

Une boutique et un panier tiers dans Classic Analytics

Le guide de Google consacré au suivi de plusieurs domaines avec Classic Analytics (ga.js) envoyait les visiteurs de la boutique www.example-petstore.com vers un panier sur www.example-commerce-host.com/petStoreCart.

Exemple obsolète

<form action="…"
      onSubmit="pageTracker._linkByPost('www.example-commerce-host.com/petStoreCart/begin.php');">

_gaq.push(['_setCookiePath', '/myStore/']);
_gaq.push(['_cookiePathCopy', '/myCart/']);

Classic Analytics et Universal Analytics ne collectent plus de données. Supprimez ce code et faites pointer les formulaires et les liens vers votre véritable page de commande. Les formulaires et liens copiés avec une adresse complète envoient toujours des visiteurs ici, souvent avec des paramètres de type __utma dans l’adresse.

À utiliser à la place

<!-- Google tag (gtag.js) for Google Analytics 4 -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-XXXXXXXXXX"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());
  gtag('config', 'G-XXXXXXXXXX');
</script>

Guide complet : de Classic Analytics à Google Analytics 4

Google Analytics 4 · Tag Manager · actuel

Mesurer ensemble votre boutique et votre panier

Le guide actuel de Google sur la mesure multidomaine présente toujours un site Web sur example-petstore.com avec un panier sur example-commerce-host.com/example-petstore ; ses exemples de code utilisent example.com. Dans Google Analytics 4, les domaines se configurent dans l’interface d’administration : Admin › Data streams › votre flux Web › Configure tag settings.

  • Configure your domains : votre boutique et votre prestataire de panier.
  • List unwanted referrals : les pages de paiement qui apparaissent comme sites référents.

Sans cette configuration, un client qui passe de la boutique au panier est comptabilisé deux fois, et la vente perd le lien avec la façon dont il a trouvé votre boutique. Dans Google Tag Manager, les mêmes paramètres se trouvent sous Google tags › votre balise › Show all.

Ou dans le code

// Only if you configure cross-domain measurement in code instead of in the admin
gtag('set', 'linker', {
  'domains': ['www.example.com', 'checkout.example.net']
});

Étape par étape : mesure multidomaine · Google Tag Manager

API · scripts

Clients API et scripts

Les requêtes avec un corps, ou vers des chemins de type API, proviennent d’un code qui utilise ce domaine comme adresse. Elles reçoivent 410 Gone avec une explication au format JSON.

À utiliser à la place : lire l’adresse depuis la configuration

# Python: read the address from configuration, not from the code
import os
BASE_URL = os.environ["API_BASE_URL"]

// JavaScript / Node.js
const baseURL = process.env.API_BASE_URL;

Guide complet : configurer les clients API et les SDK

Domaine associé

Côté boutique : example-petstore.com

La boutique de ces exemples, ainsi que les autres endroits où elle apparaît (balisage du champ de recherche sitelinks, transferts de site dans la Search Console), sont traités sur example-petstore.com.

Liste de contrôle rapide

  • Recherchez example-commerce-host et example-petstore dans votre code, vos modèles, votre thème et votre gestionnaire de balises.
  • Remplacez l’adresse du panier par l’adresse de commande fournie par votre prestataire de panier.
  • Supprimez le code Classic et Universal Analytics ; dans Google Analytics 4, indiquez le domaine de votre boutique et celui de votre prestataire de panier.
  • Renouvelez toutes les clés, tous les jetons et tous les mots de passe qui ont été envoyés ici.
  • Lorsque tout pointe vers le bon endroit, plus rien de votre site ou de votre code n’atteint ce domaine.

Guides étape par étape

Ouvrez le guide de la plate-forme sur laquelle le domaine d’exemple est apparu.

Google Analytics 4 : mesure multidomaine
  1. Dans Google Analytics, ouvrez Admin et accédez à Data streams. Sélectionnez votre flux Web.
  2. Ouvrez Configure tag settings › Configure your domains. Supprimez example-petstore.com et example-commerce-host.com, puis ajoutez les domaines que vous possédez ou utilisez réellement, comme votre boutique et votre prestataire de paiement.
  3. De retour dans Configure tag settings, ouvrez List unwanted referrals et ajoutez les sites référents qui ne doivent pas démarrer de nouvelle session, comme votre prestataire de paiement. Vous pouvez en indiquer jusqu’à 50.
  4. Enregistrez. Les modifications s’appliquent à la balise Google sur toutes les pages qui utilisent ce flux.

Vous préférez le code à l’interface d’administration ?

// Only if you configure cross-domain measurement in code instead of in the admin
gtag('set', 'linker', {
  'domains': ['www.example.com', 'checkout.example.net']
});

Vérification : Cliquez sur un lien d’un de vos domaines vers un autre. L’adresse de la page de destination doit contenir _gl=. Dans Admin › DebugView (avec Tag Assistant ou le mode débogage activé), la visite doit se poursuivre en une seule session.

Documentation : Set up cross-domain measurement · Lire le guide complet

Google Tag Manager
  1. Dans Tag Manager, ouvrez Google tags, sélectionnez votre balise Google et choisissez Show all.
  2. Sous Configure your domains, ne conservez que vos propres domaines. Utilisez List unwanted referrals pour les sites référents à ignorer.
  3. Recherchez example-petstore, example-commerce-host, _gaq et pageTracker dans vos Tags et vos Variables. Supprimez les anciennes balises HTML personnalisées qui contiennent du code Classic ou Universal Analytics.
  4. Testez avec Preview, puis cliquez sur Submit pour publier une nouvelle version du conteneur.

Vérification : En mode Preview, la balise Google se déclenche sur chaque page et aucune balise ne fait référence aux domaines d’exemple. Les liens entre vos domaines contiennent _gl=.

Documentation : Google tag settings in Tag Manager · Lire le guide complet

Ancien code Classic ou Universal Analytics
  1. Recherchez _gaq, pageTracker, ga.js, analytics.js, ga('create' et urchin dans vos modèles.
  2. Supprimez l’intégralité du bloc, y compris les gestionnaires onclick et onsubmit contenant _link ou _linkByPost. Faites pointer les liens d’exemple, comme « See my pet store » ou « Continue Shopping », vers vos propres pages, ou supprimez-les.
  3. Installez la balise Google pour Google Analytics 4 (extrait ci-dessous) ou ajoutez-la via Google Tag Manager.
<!-- Google tag (gtag.js) for Google Analytics 4 -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-XXXXXXXXXX"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());
  gtag('config', 'G-XXXXXXXXXX');
</script>

Vérification : Affichez la source de la page : elle ne contient plus ga.js, analytics.js ni les domaines d’exemple. Dans Google Analytics 4, Reports › Realtime affiche votre propre visite.

Documentation : Universal Analytics has been replaced · Lire le guide complet

WordPress et plug-ins SEO
  1. Yoast SEO, Rank Math et All in One SEO génèrent le schéma de votre site à partir de votre propre adresse et n’utilisent pas les domaines d’exemple. Pour supprimer malgré tout l’action de recherche : Yoast add_filter( 'disable_wpseo_json_ld_search', '__return_true' );, Rank Math rank_math/json_ld/disable_search, All in One SEO Search Appearance › Advanced › Enable Sitelinks Search Box désactivé.
  2. SEOPress a supprimé le balisage du champ de recherche dans la version 8.1 (septembre 2024). Mettez le plug-in à jour.
  3. Le domaine d’exemple provient généralement d’un bloc collé à la main : vérifiez le fichier header.php de votre thème, les champs « code personnalisé dans l’en-tête » ou « scripts d’en-tête », ainsi que les plug-ins qui insèrent du code dans l’en-tête de la page.
  4. Remplacez le bloc par le balisage WebSite correct (extrait ci-dessous), ou supprimez-le si votre plug-in SEO en génère déjà un.
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "WebSite",
  "name": "Your site name",
  "url": "https://www.example.com/"
}
</script>

Vérification : Affichez la source de votre page d’accueil : elle contient un seul bloc WebSite avec votre propre nom et votre propre adresse. Vérifiez-le avec le Schema Markup Validator.

Documentation : Yoast: SearchAction · Lire le guide complet

Données structurées ajoutées manuellement
  1. Recherchez le bloc <script type="application/ld+json"> (ou les microdonnées) qui contient example-petstore.com.
  2. Remplacez url par votre propre page d’accueil et définissez name sur le nom de votre site. La partie potentialAction / SearchAction peut être supprimée : Google n’affiche plus le champ de recherche sitelinks.
  3. Ne conservez le bloc WebSite que sur votre page d’accueil.
  4. Dans la Search Console, utilisez URL Inspection › Request indexing pour votre page d’accueil.
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "WebSite",
  "name": "Your site name",
  "url": "https://www.example.com/"
}
</script>

Vérification : Le Schema Markup Validator affiche un élément WebSite avec vos propres name et url. Le test des résultats enrichis ne couvre pas les noms de sites.

Documentation : Site names in Google Search · Lire le guide complet

Search Console : transférer un site
  1. Validez l’ancien et le nouveau domaine en tant que propriétés de domaine dans le même compte Search Console.
  2. Redirigez chaque ancienne adresse vers son équivalent sur le nouveau domaine avec une redirection 301, et maintenez les redirections pendant au moins 180 jours.
  3. Dans l’ancienne propriété, ouvrez Settings › Change of address et sélectionnez la nouvelle propriété.
  4. Vérifiez que les URL canoniques, les sitemaps et les hreflang du nouveau site ne contiennent pas d’adresses d’exemple, puis envoyez à nouveau le sitemap.

Vérification : Dans la Search Console, la demande de changement d’adresse apparaît comme en cours et la nouvelle propriété commence à recevoir des impressions.

Documentation : Change of Address tool · Lire le guide complet

Clients API, SDK et scripts
  1. Déterminez où l’adresse est définie : une URL de base ou un hôte dans le code, un fichier de configuration, une variable d’environnement, un environnement Postman ou le constructeur d’un SDK.
  2. Déplacez l’adresse dans la configuration (extrait ci-dessous) et faites-la pointer vers le service réel.
  3. Révoquez chaque clé, jeton ou mot de passe envoyé à ce domaine, et générez-en de nouveaux auprès du service qui les a émis.
  4. Ajoutez une vérification qui échoue lorsque l’adresse configurée contient example-, pour que cela ne puisse plus se reproduire.
# Python: read the address from configuration, not from the code
import os
BASE_URL = os.environ["API_BASE_URL"]

// JavaScript / Node.js
const baseURL = process.env.API_BASE_URL;

Vérification : Les requêtes atteignent le service réel et aboutissent. Plus rien de votre code n’arrive ici : ce domaine répond à ces requêtes par 410 Gone.

Documentation : OWASP Secrets Management · Lire le guide complet

En bref : corrections par plate-forme

OùCe que vous voyezQue faire
Classic Analytics (ga.js) ou Universal Analytics (analytics.js)_setDomainName, _setAllowLinker, _link, _linkByPost ou ga('linker:autoLink', …) avec l’un de ces nomsSupprimez l’intégralité de l’ancien extrait, y compris les gestionnaires onclick/onsubmit et les liens d’exemple, puis installez la balise Google pour Google Analytics 4. Universal Analytics a cessé de traiter les données le 1er juillet 2023. Universal Analytics has been replaced
Google Analytics 4Ces noms dans la liste des domaines, ou des autoréférences dans les rapportsAdmin › Data streams › votre flux Web › Configure tag settings › Configure your domains : ne conservez que vos propres domaines. Ajoutez les sites référents indésirables sous List unwanted referrals. Set up cross-domain measurement
Balise Google dans le code (gtag.js)gtag('set', 'linker', {'domains': ['example-petstore.com']}) ou un cookie_domain codé en durIndiquez vos propres domaines dans linker.domains ; omettez cookie_domain ou définissez-le sur 'auto'. Measure activity across multiple domains
Google Tag ManagerListe des domaines dans la balise Google, ou une ancienne balise HTML personnaliséeGoogle tags › votre balise › Show all › Configure your domains / List unwanted referrals ; recherchez l’ancien extrait dans les balises HTML personnalisées et les variables ; testez avec Preview. Google tag settings in Tag Manager
Données structurées ajoutées manuellement (JSON-LD, microdonnées)"url": "https://www.example-petstore.com/", une target sur query. ou host.example-petstore.comUtilisez votre propre page d’accueil comme url et le nom de votre site comme name. La SearchAction peut être supprimée. Vérifiez avec le Schema Markup Validator (le test des résultats enrichis ne couvre pas les noms de sites). Site names in Google Search
Yoast SEOAction de recherche dans le schéma du siteYoast utilise l’adresse de votre propre site. Pour la supprimer : add_filter( 'disable_wpseo_json_ld_search', '__return_true' ); Yoast: SearchAction
Rank MathAction de recherche dans le schéma du siteRank Math utilise l’adresse de votre propre site. Pour la supprimer, utilisez le filtre rank_math/json_ld/disable_search. Rank Math: sitelinks search box schema
All in One SEOAction de recherche dans le schéma du siteSearch Appearance › Advanced › « Enable Sitelinks Search Box » désactivé. AIOSEO: sitelinks search box
SEOPress—Le balisage du champ de recherche a été supprimé dans la version 8.1 (septembre 2024) ; mettez le plug-in à jour. SEOPress changelog
Search ConsoleUne adresse d’exemple utilisée dans un transfert de site, une URL canonique, un sitemap ou un hreflangLe changement d’adresse ne fonctionne qu’entre des propriétés de domaine qui vous appartiennent, avec des redirections 301 maintenues pendant au moins 180 jours. Corrigez les URL canoniques, le sitemap et les hreflang de votre propre site, puis envoyez à nouveau le sitemap. Change of Address tool
Clients API, SDK et scriptsUne URL de base ou un hôte sur l’un de ces noms, souvent avec un en-tête AuthorizationDéplacez l’URL de base dans la configuration (variable d’environnement ou fichier de configuration) et faites-la pointer vers le service réel. Révoquez chaque clé qui a été envoyée ici. OWASP Secrets Management

Le retrouver dans votre propre code

Recherchez les deux noms dans votre projet, y compris dans les modèles et les fichiers de thème :

grep -rniE "example-(petstore|commerce-host)\.com" .

Vérifiez aussi ce que votre code ne montre pas : le HTML généré de votre page d’accueil (affichez la source et lancez une recherche), les balises HTML personnalisées et les variables de votre conteneur Google Tag Manager, les champs « code personnalisé dans l’en-tête » de votre CMS ou de votre thème, ainsi que les paramètres de vos plug-ins d’analyse et de SEO.

Questions et réponses

Qu’est-ce qu’example-commerce-host.com ?

Un domaine d’exemple. Dans la documentation de Google sur la mesure des visiteurs sur plusieurs domaines, il représente un panier d’achat tiers : une boutique sur example-petstore.com envoie ses visiteurs vers un panier à une adresse comme example-commerce-host.com/example-petstore.

example-commerce-host.com est-il un véritable panier d’achat ou service de paiement ?

Non. Il n’existe ni panier, ni page de commande, ni page de paiement, et rien ne peut être acheté ou payé ici. Chaque adresse du domaine affiche cette page.

Pourquoi des visiteurs ou des requêtes de ma boutique aboutissent-ils sur example-commerce-host.com ?

Une adresse de panier issue d’un exemple a été copiée et n’a jamais été remplacée, dans un lien, un formulaire, un extrait de suivi ou un script. Remplacez-la par l’adresse de commande fournie par votre prestataire de panier.

J’ai envoyé des données de carte, une clé ou un mot de passe à example-commerce-host.com. Que faire ?

Considérez-les comme exposés. Révoquez les clés, jetons et mots de passe auprès du service émetteur et générez-en de nouveaux ; si de véritables données de carte ont été envoyées, contactez l’émetteur de la carte. Seul le service émetteur peut révoquer une clé.

Comment mesurer les visiteurs de ma boutique et de mon prestataire de panier dans Google Analytics 4 ?

Dans l’interface d’administration : Admin, Data streams, votre flux Web, Configure tag settings, Configure your domains. Saisissez le domaine de votre boutique et celui de votre prestataire de panier.

Pourquoi un même client est-il comptabilisé comme deux utilisateurs, ou ma propre boutique affichée comme site référent ?

La mesure multidomaine est absente ou indique les mauvais domaines. Indiquez votre boutique et votre prestataire de panier sous Configure your domains, et ajoutez les sites référents indésirables, comme les pages de paiement, sous List unwanted referrals.

Que sont /petStoreCart, /myStore/ et /myCart/ ?

Des chemins fictifs issus des mêmes exemples : le panier de l’animalerie, ainsi qu’une boutique et un panier dans des dossiers distincts d’un même domaine. Aucun d’eux n’existe ; chacun mène à cette page.

example-zoohandlung.de est-il le même exemple ?

Oui. Des supports allemands de préparation aux examens ont traduit l’animalerie en www.example-zoohandlung.de et conservé le panier sur www.example-commerce-host.com/example-zoohandlung/.

Qu’est-ce qu’example-petstore.com ?

Le domaine d’exemple associé : le côté boutique des mêmes exemples. Consultez example-petstore.com.

Sources