example-petstore.com

Voorbeelddomein · Geen echte dienst · Bezoekers met een browser zien deze pagina · API-verzoeken krijgen 410 Gone

Voorbeelddomein · geen echte dienst

example-petstore.com

example-petstore.com is een voorbeelddomein uit de documentatie van Google over Google Analytics, Search Console en gestructureerde gegevens, waar het de plaats inneemt van je eigen website. Er draait geen webwinkel, geen API en geen zoekfunctie. Staat deze naam in je code of instellingen, vervang hem dan door je eigen domein.

Een sleutel, token of wachtwoord hierheen gestuurd? Vervang het nu.

Verzoeken uit code die naar example-petstore.com wijst, komen op deze server terecht in plaats van bij de echte dienst, samen met elke API-sleutel, elk toegangstoken, elk wachtwoord en elke sessiecookie die ze meesturen. Beschouw die gegevens als uitgelekt:

  1. Trek de sleutel, het token of het wachtwoord in bij de dienst die het heeft uitgegeven.
  2. Vraag een nieuwe aan en bewaar die in de configuratie of een secrets manager, niet in de code.
  3. Corrigeer het adres in je code, zodat nieuwe gegevens alleen nog naar de echte dienst gaan.
  4. Controleer de toegangslogboeken van die dienst op activiteit die je niet herkent.

Waar je sleutels intrekt bij GitHub, AWS, Google Cloud, Stripe en andere diensten

Waar deze naam vandaan komt

Elk voorbeeld hieronder toont het verouderde fragment zoals het werd gepubliceerd, en wat je nu gebruikt. Het gemarkeerde deel vervang je. De volledige geschiedenis geeft de data en gearchiveerde bronnen.

Google Analytics · 2009–2024

Meten over meerdere domeinen met Classic Analytics

De handleiding van Google voor het meten van meerdere domeinen met Classic Analytics (ga.js) gebruikte een dierenwinkel op example-petstore.com, subdomeinen zoals dogs.example-petstore.com en een winkelwagen op example-commerce-host.com.

Verouderd voorbeeld

_gaq.push(['_setAccount', 'UA-12345-1']);
_gaq.push(['_setDomainName', 'example-petstore.com']);
_gaq.push(['_setAllowLinker', true]);

<a href="http://dogs.example-petstore.com/intro.html"
   onclick="_gaq.push(['_link', 'http://dogs.example-petstore.com/intro.html']); return false;">See my pet store</a>

Classic en Universal Analytics verzamelen geen gegevens meer. Verwijder deze code, ook de voorbeeldlinks, en installeer de Google-tag voor Google Analytics 4. Het meten over meerdere domeinen stel je daarna in het beheer in.

Gebruik in plaats daarvan

<!-- 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>

Volledige gids: van Classic Analytics naar Google Analytics 4

Search Console · 2015–2019

Een site verhuizen

De hulp van Search Console bij de tool Change of Address gebruikte een verhuizing van http://fish.example-petstore.com naar http://example.com of http://example-petstore.com. De tool werkt alleen tussen domeinproperty’s die je hebt geverifieerd, dus de voorbeeldadressen moeten je eigen adressen worden, ook in canonicals, sitemaps en hreflang.

Volledige gids: een site verhuizen in Search Console

API’s · scripts

API-clients en scripts

Verzoeken naar adressen zoals api.example-petstore.com/v2/pet komen uit code die dit domein als basis-URL gebruikt. Ze krijgen 410 Gone met een toelichting in JSON. Dit domein heeft niets te maken met de voorbeeld-API Swagger Petstore op petstore.swagger.io.

Gebruik in plaats daarvan: lees het adres uit de configuratie

# 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;

Volledige gids: API-clients en SDK’s configureren

Snelle checklist

  • Doorzoek je code, templates, thema en tagmanager op example-petstore en example-commerce-host.
  • Verwijder code van Classic en Universal Analytics; zet in Google Analytics 4 alleen je eigen domeinen in de lijst.
  • Gebruik je eigen homepage en sitenaam in gestructureerde gegevens, en controleer ze met de Schema Markup Validator.
  • Laat API-clients en scripts naar de echte dienst wijzen, en vervang alle sleutels en wachtwoorden die hierheen zijn gestuurd.
  • Wijst alles naar de juiste plek, dan komt er niets van je site of code meer op dit domein terecht.

Stap-voor-stapgidsen

Open de gids voor het platform waarin het voorbeelddomein opdook.

Google Analytics 4: meten over meerdere domeinen
  1. Open in Google Analytics Admin en ga naar Data streams. Kies je webstream.
  2. Open Configure tag settings › Configure your domains. Verwijder example-petstore.com en example-commerce-host.com en voeg de domeinen toe die je echt bezit of gebruikt, zoals je webwinkel en je afrekendienst.
  3. Open terug in Configure tag settings de optie List unwanted referrals en voeg verwijzers toe die geen nieuwe sessie mogen starten, zoals je betaalprovider. Je kunt er tot 50 opgeven.
  4. Sla op. De wijziging geldt voor de Google-tag op alle pagina’s die deze stream gebruiken.

Liever in de code dan in het beheer?

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

Controleer: Klik op een link van een van je domeinen naar een ander. Het adres van de bestemmingspagina hoort _gl= te bevatten. In Admin › DebugView (met Tag Assistant of de foutopsporingsmodus aan) loopt het bezoek door als één sessie.

Documentatie: Set up cross-domain measurement · Lees de volledige gids

Google Tag Manager
  1. Open in Tag Manager Google tags, kies je Google-tag en klik op Show all.
  2. Laat onder Configure your domains alleen je eigen domeinen staan. Gebruik List unwanted referrals voor verwijzers die genegeerd moeten worden.
  3. Doorzoek je Tags en Variables op example-petstore, example-commerce-host, _gaq en pageTracker. Verwijder oude tags met aangepaste HTML die code van Classic of Universal Analytics bevatten.
  4. Test met Preview en publiceer daarna een nieuwe containerversie met Submit.

Controleer: In Preview wordt de Google-tag op elke pagina geactiveerd en verwijst geen enkele tag naar de voorbeelddomeinen. Links tussen je domeinen bevatten _gl=.

Documentatie: Google tag settings in Tag Manager · Lees de volledige gids

Oude code van Classic of Universal Analytics
  1. Doorzoek je templates op _gaq, pageTracker, ga.js, analytics.js, ga('create' en urchin.
  2. Verwijder het hele blok, ook de onclick- en onsubmit-handlers met _link of _linkByPost. Laat voorbeeldlinks zoals “See my pet store” of “Continue Shopping” naar je eigen pagina’s wijzen, of haal ze weg.
  3. Installeer de Google-tag voor Google Analytics 4 (fragment hieronder), of voeg hem toe 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>

Controleer: Bekijk de paginabron: daarin staan geen ga.js, analytics.js of voorbeelddomeinen meer. In Google Analytics 4 toont Reports › Realtime je eigen bezoek.

Documentatie: Universal Analytics has been replaced · Lees de volledige gids

WordPress en SEO-plug-ins
  1. Yoast SEO, Rank Math en All in One SEO bouwen het schema van je site op met je eigen adres en gebruiken de voorbeelddomeinen niet. Wil je de zoekactie toch weghalen: 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 uit.
  2. SEOPress heeft de markup voor het zoekvak in versie 8.1 (september 2024) verwijderd. Werk de plug-in bij.
  3. Het voorbeelddomein komt meestal uit een blok dat met de hand is geplakt: kijk in header.php van je thema, in velden voor “eigen code in de head” of “headerscripts”, en in plug-ins die code in de head van de pagina zetten.
  4. Vervang het blok door de juiste WebSite-markup (fragment hieronder), of verwijder het als je SEO-plug-in er al een genereert.
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "WebSite",
  "name": "Your site name",
  "url": "https://www.example.com/"
}
</script>

Controleer: Bekijk de bron van je homepage: er staat één WebSite-blok in, met je eigen naam en adres. Controleer het met de Schema Markup Validator.

Documentatie: Yoast: SearchAction · Lees de volledige gids

Met de hand toegevoegde gestructureerde gegevens
  1. Zoek het blok <script type="application/ld+json"> (of de microdata) waarin example-petstore.com staat.
  2. Vervang url door je eigen homepage en zet name op je sitenaam. Het deel potentialAction / SearchAction mag weg: Google toont het sitelinks-zoekvak niet meer.
  3. Zet het WebSite-blok alleen op je homepage.
  4. Gebruik in Search Console URL Inspection › Request indexing voor je homepage.
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "WebSite",
  "name": "Your site name",
  "url": "https://www.example.com/"
}
</script>

Controleer: De Schema Markup Validator toont een WebSite-item met je eigen name en url. De test voor uitgebreide resultaten kijkt niet naar sitenamen.

Documentatie: Site names in Google Search · Lees de volledige gids

Search Console: een site verhuizen
  1. Verifieer zowel het oude als het nieuwe domein als Domain properties in hetzelfde Search Console-account.
  2. Stuur elk oud adres met een 301-redirect door naar het overeenkomende nieuwe adres, en laat die redirects minstens 180 dagen staan.
  3. Open in de oude property Settings › Change of address en kies de nieuwe property.
  4. Controleer canonicals, sitemaps en hreflang op de nieuwe site op voorbeeldadressen en dien de sitemap daarna opnieuw in.

Controleer: In Search Console staat de aanvraag voor Change of address als lopend, en de nieuwe property krijgt vertoningen.

Documentatie: Change of Address tool · Lees de volledige gids

API-clients, SDK’s en scripts
  1. Zoek waar het adres is ingesteld: een basis-URL of host in de code, een configuratiebestand, een omgevingsvariabele, een Postman-omgeving of de constructor van een SDK.
  2. Verplaats het adres naar de configuratie (fragment hieronder) en laat het naar de echte dienst wijzen.
  3. Trek elke sleutel, elk token en elk wachtwoord in dat naar dit domein is gestuurd, en vraag nieuwe aan bij de dienst die ze heeft uitgegeven.
  4. Voeg een controle toe die faalt zodra het ingestelde adres example- bevat, zodat het niet opnieuw kan gebeuren.
# 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;

Controleer: Verzoeken komen bij de echte dienst aan en slagen. Er komt niets van je code meer hier terecht: dit domein beantwoordt zulke verzoeken met 410 Gone.

Documentatie: OWASP Secrets Management · Lees de volledige gids

In één oogopslag: oplossingen per platform

WaarWat je zietWat je doet
Classic Analytics (ga.js) of Universal Analytics (analytics.js)_setDomainName, _setAllowLinker, _link, _linkByPost of ga('linker:autoLink', …) met een van deze namenVerwijder het volledige oude fragment, ook de onclick- en onsubmit-handlers en de voorbeeldlinks, en installeer de Google-tag voor Google Analytics 4. Universal Analytics verwerkt sinds 1 juli 2023 geen gegevens meer. Universal Analytics has been replaced
Google Analytics 4Deze namen in de domeinlijst, of verwijzingen naar je eigen site in de rapportenAdmin › Data streams › je webstream › Configure tag settings › Configure your domains: laat alleen je eigen domeinen staan. Zet verdwaalde verwijzers onder List unwanted referrals. Set up cross-domain measurement
Google-tag in de code (gtag.js)gtag('set', 'linker', {'domains': ['example-petstore.com']}) of een vast ingestelde cookie_domainZet je eigen domeinen in linker.domains; laat cookie_domain weg of zet het op 'auto'. Measure activity across multiple domains
Google Tag ManagerEen domeinlijst in de Google-tag, of een oude tag met aangepaste HTMLGoogle tags › je tag › Show all › Configure your domains / List unwanted referrals; doorzoek tags met aangepaste HTML en variabelen op het oude fragment; test met Preview. Google tag settings in Tag Manager
Zelf toegevoegde gestructureerde gegevens (JSON-LD, microdata)"url": "https://www.example-petstore.com/", een target op query. of host.example-petstore.comGebruik je eigen homepage als url en je eigen sitenaam als name. De SearchAction mag weg. Controleer het met de Schema Markup Validator (de test voor uitgebreide resultaten kijkt niet naar sitenamen). Site names in Google Search
Yoast SEOZoekactie in het schema van de siteYoast gebruikt het adres van je eigen site. Wil je de zoekactie weghalen: add_filter( 'disable_wpseo_json_ld_search', '__return_true' ); Yoast: SearchAction
Rank MathZoekactie in het schema van de siteRank Math gebruikt het adres van je eigen site. Wil je de zoekactie weghalen, gebruik dan de filter rank_math/json_ld/disable_search. Rank Math: sitelinks search box schema
All in One SEOZoekactie in het schema van de siteSearch Appearance › Advanced › “Enable Sitelinks Search Box” uitzetten. AIOSEO: sitelinks search box
SEOPress—De markup voor het zoekvak is in versie 8.1 (september 2024) verwijderd; werk de plug-in bij. SEOPress changelog
Search ConsoleEen voorbeeldadres in een verhuizing, canonical, sitemap of hreflangChange of Address werkt alleen tussen domeinproperty’s die van jou zijn, met 301-redirects die minstens 180 dagen blijven staan. Corrigeer canonicals, sitemap en hreflang op je eigen site en dien de sitemap daarna opnieuw in. Change of Address tool
API-clients, SDK’s en scriptsEen basis-URL of host op een van deze namen, vaak met een Authorization-headerHaal de basis-URL uit de code naar de configuratie (omgevingsvariabele of configuratiebestand) en laat hem naar de echte dienst wijzen. Trek elke sleutel in die hierheen is gestuurd. OWASP Secrets Management

Zoek het in je eigen code

Doorzoek je project, ook templates en themabestanden, op beide namen:

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

Kijk ook naar wat je code niet laat zien: de uiteindelijke HTML van je homepage (bekijk de paginabron en zoek daarin), de aangepaste HTML-tags en variabelen in je Google Tag Manager-container, de velden voor “eigen code in de head” van je CMS of thema, en de instellingen van je analytics- en SEO-plug-ins.

Vragen en antwoorden

Wat is example-petstore.com?

Een voorbeelddomein. De documentatie van Google over Google Analytics, Search Console en gestructureerde gegevens gebruikte het in plaats van je eigen website, en handleidingen namen het daaruit over. Er draait geen webwinkel, geen API en geen zoekfunctie.

Is example-petstore.com een echte dierenwinkel?

Nee. Hier wordt niets verkocht en er zijn geen producten, accounts of bestellingen. Elk adres op het domein toont deze pagina.

Waarom komen verzoeken van je site of code op example-petstore.com terecht?

Een adres uit een voorbeeld is gekopieerd en nooit vervangen: een link uit een oud trackingfragment, gestructureerde gegevens, een instelling in Search Console of de basis-URL van een API-client. Vervang het door je eigen domein of de echte dienst.

Een API-sleutel, token of wachtwoord naar example-petstore.com gestuurd? Wat nu?

Beschouw het als uitgelekt. Trek het in bij de dienst die het heeft uitgegeven, vraag een nieuw aan, bewaar dat buiten je code, corrigeer het adres en controleer de toegangslogboeken van de dienst. Alleen de dienst die de sleutel heeft uitgegeven, kan hem intrekken.

Wat deed query.example-petstore.com?

In het voorbeeld van Google uit 2014–2015 voor het sitelinks-zoekvak was het het verzonnen adres van de pagina met zoekresultaten van de dierenwinkel. Google kon een zoekvak onder het resultaat van een site tonen; de zoektermen kwamen in de plaats van {search_term_string} en de zoeker werd naar dat adres gestuurd. Het heeft nooit bestaan, en Google toont het zoekvak sinds november 2024 niet meer.

Wanneer werd example-petstore.com voor het eerst gebruikt?

In maart 2009, toen Google de documentatie van Classic Analytics herindeelde en de handleiding voor het meten van meerdere domeinen de dierenwinkel en de winkelwagen introduceerde. Eerdere versies van die handleiding gebruikten het niet.

Waarom toont Google Analytics dubbele gebruikers of verwijzingen naar je eigen site?

Bij het meten over meerdere domeinen staan de verkeerde domeinen in de lijst, of helemaal geen. Zet in Google Analytics 4 je eigen domeinen onder Configure your domains en voeg verdwaalde verwijzers toe onder List unwanted referrals.

Hoort er in _setDomainName een punt vooraan, "none" of "auto"?

Geen van drieën. _setDomainName hoort bij Classic Analytics (ga.js), dat geen gegevens meer verzamelt. Verwijder de oude code en gebruik Google Analytics 4, dat het cookiedomein automatisch instelt.

Heeft dit iets met de Swagger Petstore te maken?

Nee. De Swagger Petstore is een voorbeeld-API voor OpenAPI op petstore.swagger.io. example-petstore.com komt uit de documentatie van Google over analytics en SEO.

Wat is example-commerce-host.com?

Het zusterdomein: de winkelwagen van een externe partij in dezelfde voorbeelden voor meerdere domeinen, zoals example-commerce-host.com/example-petstore. Zie example-commerce-host.com.

Bronnen