example-petstore.com

サンプル ドメイン · 実際のサービスではありません · ブラウザーでアクセスするとこのページが表示されます · API リクエストには 410 Gone が返されます

サンプル ドメイン · 実際のサービスではありません

example-petstore.com

example-petstore.com は、Google アナリティクス、Search Console、構造化データに関する Google のドキュメントで、読者自身のウェブサイトの代わりとして使われたサンプル ドメインです。ショップ、API、検索機能はありません。この名前がコードや設定に含まれている場合は、自社のドメインに置き換えてください。

キー、トークン、パスワードをここに送信しましたか? すぐに再発行してください。

example-petstore.com を指すコードからのリクエストは、実際のサービスではなくこのサーバーに届きます。リクエストに含まれる API キー、アクセス トークン、パスワード、セッション Cookie もすべて届いています。これらの認証情報は漏えいしたものとして扱ってください。

  1. キー、トークン、パスワードを発行したサービスで無効にします。
  2. 新しいものを発行し、コードではなく設定やシークレット マネージャーで管理します。
  3. コード内のアドレスを修正し、新しい認証情報が実際のサービスにのみ送信されるようにします。
  4. そのサービスのアクセスログに、心当たりのないアクティビティがないか確認します。

GitHub、AWS、Google Cloud、Stripe などでキーを無効にする場所

ぴったりのガイドを探す

各ガイドは 1 つの作業を扱います。このドメインを見つけた場所に合うグループを選んでください。

サイトの設定を直す

Google のサンプルから写された Analytics、構造化データ、Search Console の設定。

構造化データ

サイトリンク検索ボックスとサイト名

query.example-petstore.com を使った検索ボックスのマークアップの役割、Google がそれを廃止した理由、現在使用すべき WebSite マークアップを説明します。

Search Console

Search Console でのサイトの移転

301 リダイレクトとChange of Address ツールを使い、canonical、サイトマップ、hreflang にサンプルのアドレスを残さずにサイトを完全に移転する方法です。

開発とテスト

見知らぬサーバーに届くことのない API クライアント、モックサーバー、サンプル値。

API · SDK

API クライアントと SDK の設定

ベース URL をコードから切り離して実際のサービスを指すようにし、サンプルのアドレスが本番環境に届かないようチェックを追加します。

API · OpenAPI

Swagger Petstore をお探しですか?

Swagger Petstore サンプル API の本当のベース URL、動作するリクエスト例、テスト用キー、Docker で自分のコピーを動かす方法。

ドキュメント

安全に使えるサンプル値

予約済みのドメイン、IP 範囲、AS 番号、MAC アドレス、電話番号、テスト用カード。コピーされても無害な例のために。

セキュリティ

キー、トークン、パスワードをここに送信した、または Git にコミットした場合。

セキュリティ

漏えいした認証情報: 今すぐ行うべきこと

キー、トークン、パスワードをサンプル ドメインに送信してしまった場合の対処法です。主要なプロバイダーの無効化ページへの直接リンクとともに、無効化と再発行の手順を説明します。

背景

名前の由来、予約済みの名前、このサイトで使う用語。

経緯

example-petstore.com の経緯

Google が example-petstore.com と example-commerce-host.com をいつ、どこで使ったか。2009年から現在まで、アーカイブの出典付き。

リファレンス

サンプル ドメイン

ドキュメント用に予約された名前、このドメインのような類似名に実際のトラフィックが届く理由、代わりに使う名前。

リファレンス

用語集

_setDomainName、linker、_gl、除外する参照元、SearchAction、410 Gone の短い説明。

すべてのガイドを 1 ページで見る

この名前の由来

以下の各サンプルでは、公開当時の古いスニペットと、代わりに使用するコードを示しています。ハイライトされた部分が置き換える箇所です。日付とアーカイブされた出典は経緯の全文にまとめています。

Google Analytics · 2009–2024

従来のアナリティクスによるクロスドメイン トラッキング

従来のアナリティクス(ga.js)で複数のドメインをトラッキングする Google のガイドでは、example-petstore.com のペットショップ、dogs.example-petstore.com などのサブドメイン、example-commerce-host.com のショッピング カートが使われていました。

古いサンプル

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

従来のアナリティクスとユニバーサル アナリティクスは、データを収集しなくなりました。サンプルのリンクも含めてこのコードを削除し、Google Analytics 4 用の Google タグを設置してください。クロスドメイン測定はその後、管理画面で設定します。

代わりに使用するコード

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

ガイド全文: 従来のアナリティクスから Google Analytics 4 へ

Search Console · 2015–2019

サイトの移転

Search Console の Change of Address ツールのヘルプでは、http://fish.example-petstore.com から http://example.com または http://example-petstore.com への移転が例として使われていました。このツールは、同じ Google アカウントで所有するドメイン単位のプロパティ(ドメイン プロパティ、または https://example.com/ のようなルートの URL プレフィックス プロパティ)の間でのみ機能するため、canonical、サイトマップ、hreflang も含め、サンプルのアドレスは自社のものに置き換える必要があります。

ガイド全文: Search Console でのサイトの移転

API · スクリプト

API クライアントとスクリプト

api.example-petstore.com/v2/pet などのアドレスへのリクエストは、このドメインをベース URL として使用しているコードから送られています。これらのリクエストには、JSON による説明とともに 410 Gone が返されます。このドメインは、petstore.swagger.io の Swagger Petstore サンプル API とは関係ありません。

代わりに使用するコード: アドレスを設定から読み込む

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

// PHP 8
$baseUrl = getenv('API_BASE_URL') ?: throw new RuntimeException('API_BASE_URL is not set');

ガイド全文: API クライアントと SDK の設定

クイック チェックリスト

  • コード、テンプレート、テーマ、タグマネージャーで example-petstore と example-commerce-host を検索します。
  • 従来のアナリティクスとユニバーサル アナリティクスのコードを削除し、Google Analytics 4 には自社のドメインだけを登録します。
  • 構造化データには自社のホームページとサイト名を使用し、Schema Markup Validator で確認します。
  • API クライアントとスクリプトが実際のサービスを指すようにし、ここに送信された認証情報はすべて再発行します。
  • すべてが正しい場所を指していれば、サイトやコードからこのドメインに何も届かなくなります。

概要: プラットフォーム別の修正方法

場所表示される内容対処方法
従来のアナリティクス(ga.js)またはユニバーサル アナリティクス(analytics.js)これらの名前を含む _setDomainName、_setAllowLinker、_link、_linkByPost、または ga('linker:autoLink', …)onclick / onsubmit ハンドラやサンプルのリンクも含め、古いスニペットをすべて削除し、Google Analytics 4 用の Google タグを設置してください。標準のユニバーサル アナリティクス プロパティは 2023年7月1日に、360 プロパティは 2024年7月1日にデータの処理を停止しました。 Universal Analytics has been replaced
Google Analytics 4ドメインリストにこれらの名前がある、またはレポートに自己参照が表示されるAdmin › Data collection and modification › Data streams › 対象のウェブ ストリーム › Configure tag settings › Configure your domains で、自社のドメインだけを残してください。不要な参照元は List unwanted referrals に追加します。 Set up cross-domain measurement
コード内の Google タグ(gtag.js)gtag('set', 'linker', {'domains': ['example-petstore.com']}) またはハードコードされた cookie_domainlinker.domains には自社のドメインを指定してください。cookie_domain は省略するか、'auto' に設定します。 Measure activity across multiple domains
Google Tag ManagerGoogle タグのドメインリスト、または古いカスタム HTML タグGoogle tags › 対象のタグ › Show all › Configure your domains / List unwanted referrals を開きます。カスタム HTML タグと変数で古いスニペットを検索し、Preview でテストしてください。 Google tag settings in Tag Manager
手動で追加した構造化データ(JSON-LD、microdata)"url": "https://www.example-petstore.com/"、または query. や host.example-petstore.com を指す targeturl には自社のホームページを、name には自社のサイト名を指定してください。SearchAction は削除してかまいません。Schema Markup Validator で確認してください(リッチリザルト テストはサイト名に対応していません)。 Site names in Google Search
Yoast SEOサイトのスキーマ内の検索アクションYoast は自社のサイトアドレスを使用します。削除するには add_filter( 'disable_wpseo_json_ld_search', '__return_true' ); を追加します。 Yoast: SearchAction
Rank Mathサイトのスキーマ内の検索アクションRank Math は自社のサイトアドレスを使用します。削除するには、フィルター rank_math/json_ld/disable_search を使用します。 Rank Math: sitelinks search box schema
All in One SEOサイトのスキーマ内の検索アクションSearch Appearance › Advanced › 「Enable Sitelinks Search Box」をオフにします。 AIOSEO: sitelinks search box
SEOPress—検索ボックスのマークアップはバージョン 8.4(2024年12月)で削除されました。プラグインを更新してください。 SEOPress changelog
Search Consoleサイト移転、canonical、サイトマップ、hreflang で使用されているサンプルのアドレスChange of Address ツールは、同じ Google アカウントで所有するドメイン単位のプロパティ間でのみ機能します。301 リダイレクトは少なくとも 1 年間、できれば恒久的に維持してください(シグナル自体は 180 日間有効です)。自社サイトの canonical、サイトマップ、hreflang を修正してから、サイトマップを再送信してください。 Change of Address tool
API クライアント、SDK、スクリプトこれらの名前のいずれかを指すベース URL やホスト(多くの場合 Authorization ヘッダー付き)ベース URL を設定(環境変数または設定ファイル)に移し、実際のサービスを指すようにしてください。ここに送信されたキーはすべて無効にしてください。 OWASP Secrets Management

自分のコードで探す

テンプレートやテーマファイルも含め、プロジェクト全体で次の 2 つの名前を検索してください。

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

コードに表示されない箇所も確認してください。ホームページのレンダリング後の HTML(ソースを表示して検索)、Google Tag Manager コンテナのカスタム HTML タグと変数、CMS やテーマの「カスタム head コード」欄、アナリティクス プラグインや SEO プラグインの設定です。

よくある質問

example-petstore.com とは何ですか?

サンプル ドメインです。Google アナリティクス、Search Console、構造化データに関する Google のドキュメントで、読者自身のウェブサイトの代わりとして使われ、そこからチュートリアルにコピーされました。ショップ、API、検索機能はありません。

example-petstore.com は実在するペットショップですか?

いいえ。ここでは何も販売しておらず、商品、アカウント、注文もありません。このドメインのどのアドレスにアクセスしても、このページが表示されます。

サイトやコードからのリクエストが example-petstore.com に届くのはなぜですか?

サンプルのアドレスがコピーされたまま置き換えられていないためです。古いトラッキング スニペットのリンク、構造化データ、Search Console の設定、API クライアントのベース URL などが考えられます。自社のドメインまたは実際のサービスに置き換えてください。

API キー、トークン、パスワードを example-petstore.com に送信してしまいました。どうすればよいですか?

漏えいしたものとして扱ってください。発行したサービスで無効にし、新しいものを発行してコードの外で管理し、アドレスを修正したうえで、そのサービスのアクセスログを確認してください。キーを無効にできるのは、発行したサービスだけです。

query.example-petstore.com は何に使われていましたか?

サイトリンク検索ボックスに関する Google の 2014~2015年のサンプルで、ペットショップの検索結果ページとして作られた架空のアドレスです。Google はサイトの検索結果の下に検索ボックスを表示でき、検索語句が {search_term_string} に入った状態で、そのアドレスにユーザーが送られる仕組みでした。このアドレスは実在したことがなく、Google は 2024年11月に検索ボックスの表示を終了しました。

example-petstore.com が最初に使われたのはいつですか?

2009年3月です。Google が従来のアナリティクスのドキュメントを再編成した際、複数のドメインのトラッキングに関するガイドでペットショップとそのカートが登場しました。それ以前のバージョンのガイドでは使われていません。

Swagger Petstore と関係がありますか?

いいえ。Swagger Petstore は petstore.swagger.io にある OpenAPI のサンプル API です。example-petstore.com は、Google のアナリティクスと SEO のドキュメントに由来します。

example-commerce-host.com とは何ですか?

姉妹サンプル ドメインで、同じクロスドメインのサンプルに登場するサードパーティのショッピング カートです(example-commerce-host.com/example-petstore など)。example-commerce-host.com をご覧ください。

出典