---
title: "example-petstore.com：Google 文档中的示例域名"
description: "Google Analytics 和 SEO 文档中的示例域名。本页介绍它的来源、需要替换的内容，以及为什么要轮换曾发送到此处的凭据。"
url: https://example-petstore.com/zh/
language: zh-Hans
---

# example-petstore.com

example-petstore.com 是 Google 在 Google Analytics、Search Console 和结构化数据相关文档中使用的示例域名，用来代指您自己的网站。此域名上没有商店、API 或搜索功能。如果您的代码或设置中出现此名称，请将其替换为您自己的域名。

## 曾将密钥、令牌或密码发送到此处？请立即轮换。

指向 example-petstore.com 的代码所发出的请求会到达此服务器，而不是真实服务，其中携带的 API 密钥、访问令牌、密码或会话 Cookie 也会一并送达。请将这些凭据视为已泄露：

1. 在签发该密钥、令牌或密码的服务中将其撤销。
2. 签发新的凭据，并将其保存在配置或密钥管理工具中，而不是代码中。
3. 更正代码中的地址，确保新凭据只发送到真实服务。
4. 检查该服务的访问日志，查找您无法识别的活动。

[在 GitHub、AWS、Google Cloud、Stripe 等平台撤销密钥的位置](https://example-petstore.com/zh/guides/leaked-credentials)

## 找到合适的指南

每篇指南只处理一项任务。请根据您发现这个域名的位置选择对应的分组。

### 修复网站设置

从 Google 示例中照搬的 Analytics、结构化数据和 Search Console 设置。

#### [从 Classic Analytics 迁移到 Google Analytics 4](https://example-petstore.com/zh/guides/google-analytics-cross-domain)

删除 `_setDomainName`、`_link` 和 `_linkByPost` 代码，安装 Google 代码，并以当前方式设置跨网域衡量和不需要的引荐。

#### [站点链接搜索框与网站名称](https://example-petstore.com/zh/guides/sitelinks-search-box)

包含 `query.example-petstore.com` 的搜索框标记有什么作用、Google 为何停用它，以及现在应使用的 `WebSite` 标记。

#### [在 Search Console 中迁移网站](https://example-petstore.com/zh/guides/change-of-address)

借助 301 重定向和 Change of Address 工具完成整站迁移，并确保规范网址、站点地图和 `hreflang` 中没有示例地址。

### 开发与测试

永远不会把请求发到陌生人服务器上的 API 客户端、模拟服务器和示例值。

#### [配置 API 客户端和 SDK](https://example-petstore.com/zh/guides/api-base-url)

将基础 URL 移出代码，指向真实服务，并添加一项检查，防止示例地址进入生产环境。

#### [用 Mock API 测试，而不是示例地址](https://example-petstore.com/zh/guides/mock-api)

使用 Prism、WireMock、MSW 或 json-server 进行开发和测试，而不是使用属于他人的地址。

#### [在找 Swagger Petstore 吗？](https://example-petstore.com/zh/guides/swagger-petstore)

Swagger Petstore 示例 API 的真实基础 URL、可用的请求示例、测试密钥，以及如何用 Docker 运行自己的副本。

#### [可以放心使用的示例值](https://example-petstore.com/zh/guides/example-values)

保留的域名、IP 地址段、AS 号、MAC 地址、电话号码和测试卡，让示例即使被复制也不会造成危害。

### 安全

当密钥、令牌或密码被发送到这里或提交到 Git 时。

#### [凭据泄露：现在该怎么办](https://example-petstore.com/zh/guides/leaked-credentials)

密钥、令牌或密码被发送到了示例域名。请撤销并替换它们，本指南附有常见服务提供商撤销页面的直接链接。

#### [从 Git 历史记录中删除机密信息](https://example-petstore.com/zh/guides/remove-secrets-from-git)

密钥被提交了？先撤销它，再用 git-filter-repo 从历史记录中删除，清理 GitHub，并阻止下一次泄露。

### 背景

名称的由来、哪些名称是保留的，以及本站使用的术语。

#### [example-petstore.com 的历史](https://example-petstore.com/zh/history)

Google 在何时何处使用了 example-petstore.com 和 example-commerce-host.com，从 2009 年至今，附存档来源。

#### [示例域名](https://example-petstore.com/zh/example-domains)

哪些名称保留给文档使用，为什么像本域名这样的形似名称会收到真实流量，以及应该使用什么。

#### [术语表](https://example-petstore.com/zh/glossary)

简要解释 `_setDomainName`、linker、`_gl`、不需要的引荐、SearchAction 和 410 Gone。

[在一个页面查看全部指南](https://example-petstore.com/zh/guides)

## 此名称的来源

以下每个示例都列出了当初发布的过时代码段，以及应改用的内容。突出显示的部分是您需要替换的内容。[完整历史](https://example-petstore.com/zh/history)中列有日期和存档来源。

### 使用 Classic Analytics 进行跨域名跟踪

Google 关于使用 Classic Analytics（`ga.js`）跟踪多个域名的指南中，使用了位于 example-petstore.com 的宠物商店、dogs.example-petstore.com 等子域名，以及位于 [example-commerce-host.com](https://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>
```

Classic Analytics 和 Universal Analytics 已不再收集数据。请删除这段代码（包括示例链接），然后安装适用于 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>
```

[完整指南：从 Classic Analytics 迁移到 Google Analytics 4](https://example-petstore.com/zh/guides/google-analytics-cross-domain)

### 站点链接搜索框标记

Google 最早的站点链接搜索框示例被复制到了各种主题、论坛软件和 SEO 指南中。query.example-petstore.com 是虚构的宠物商店搜索结果页地址。

过时的示例

```
{
  "@context": "https://schema.org",
  "@type": "WebSite",
  "url": "https://www.example-petstore.com/",
  "potentialAction": {
    "@type": "SearchAction",
    "target": "https://query.example-petstore.com/search?q={search_term_string}",
    "query-input": "required name=search_term_string"
  }
}
```

第一个版本（2014年9月）使用的是 `https://host.example-petstore.com/search?q={search_term}`。Google 已于 2024年11月21日停止显示站点链接搜索框；残留的标记不会导致错误，但 `url` 应当是您自己的地址。一个普通的 `WebSite` 代码块仍有助于在搜索结果中显示您的网站名称。

请改用

```
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "WebSite",
  "name": "Your site name",
  "url": "https://www.example.com/"
}
</script>
```

[完整指南：站点链接搜索框与网站名称](https://example-petstore.com/zh/guides/sitelinks-search-box)

### 迁移网站

Search Console 关于 Change of Address 工具的帮助文档中，以从 `http://fish.example-petstore.com` 迁移到 `http://example.com` 或 `http://example-petstore.com` 为例。该工具只能在两个网域级资源（Domain property 或 `https://example.com/` 这样的根 URL 前缀资源）之间使用，且二者须由同一个 Google 账号拥有，因此必须将示例地址替换为您自己的地址，包括规范网址、站点地图和 `hreflang` 中的地址。

[完整指南：在 Search Console 中迁移网站](https://example-petstore.com/zh/guides/change-of-address)

### API 客户端和脚本

发往 `api.example-petstore.com/v2/pet` 等地址的请求，来自将此域名用作基础 URL 的代码。这些请求会收到 `410 Gone` 以及 JSON 格式的说明。此域名与 [`petstore.swagger.io`](https://example-petstore.com/zh/guides/swagger-petstore) 上的 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](https://example-petstore.com/zh/guides/api-base-url)

## 快速检查清单

- 在您的代码、模板、主题和代码管理工具中搜索 `example-petstore` 和 `example-commerce-host`。
- 删除 Classic Analytics 和 Universal Analytics 代码；在 Google Analytics 4 中只列出您自己的域名。
- 在结构化数据中使用您自己的首页和网站名称，并使用 Schema Markup Validator 进行检查。
- 将 API 客户端和脚本指向真实服务，并轮换所有曾发送到此处的凭据。
- 当所有内容都指向正确的位置后，您的网站或代码将不会再向此域名发送任何内容。

## 概览：各平台的修复方法

| 位置 | 您看到的内容 | 处理方法 |
| --- | --- | --- |
| Classic Analytics（`ga.js`）或 Universal Analytics（`analytics.js`） | `_setDomainName`、`_setAllowLinker`、`_link`、`_linkByPost` 或 `ga('linker:autoLink', …)` 中包含这些名称之一 | 删除整段旧代码（包括 onclick/onsubmit 处理程序和示例链接），然后安装适用于 Google Analytics 4 的 Google 代码。标准 Universal Analytics 媒体资源已于 2023年7月1日停止处理数据（360 媒体资源于 2024年7月1日）。 [Universal Analytics has been replaced](https://support.google.com/analytics/answer/11583528) |
| Google Analytics 4 | 域名列表中出现这些名称，或报告中出现自我引荐 | Admin › Data collection and modification › Data streams › 您的网站数据流 › Configure tag settings › **Configure your domains**：只保留您自己的域名。将多余的引荐来源添加到 **List unwanted referrals** 下。 [Set up cross-domain measurement](https://support.google.com/analytics/answer/10071811) |
| 代码中的 Google 代码（`gtag.js`） | `gtag('set', 'linker', {'domains': ['example-petstore.com']})` 或硬编码的 `cookie_domain` | 在 `linker.domains` 中填写您自己的域名；省略 `cookie_domain`，或将其设为 `'auto'`。 [Measure activity across multiple domains](https://developers.google.com/tag-platform/devguides/cross-domain) |
| Google Tag Manager | Google 代码中的域名列表，或旧的自定义 HTML 代码 | Google tags › 您的代码 › Show all › Configure your domains / List unwanted referrals；在自定义 HTML 代码和变量中搜索旧代码段；使用 Preview 进行测试。 [Google tag settings in Tag Manager](https://support.google.com/tagmanager/answer/12131703) |
| 您自行添加的结构化数据（JSON-LD、微数据） | `"url": "https://www.example-petstore.com/"`，或指向 `query.` 或 `host.example-petstore.com` 的 `target` | 将您自己的首页用作 `url`，将您自己的网站名称用作 `name`。`SearchAction` 可以删除。请使用 Schema Markup Validator 进行检查（富媒体搜索结果测试不涵盖网站名称）。 [Site names in Google Search](https://developers.google.com/search/docs/appearance/site-names) |
| Yoast SEO | 网站架构中的搜索操作 | Yoast 使用您自己的网站地址。如需删除：`add_filter( 'disable_wpseo_json_ld_search', '__return_true' );` [Yoast: SearchAction](https://developer.yoast.com/features/schema/pieces/searchaction/) |
| Rank Math | 网站架构中的搜索操作 | Rank Math 使用您自己的网站地址。如需删除，请使用过滤器 `rank_math/json_ld/disable_search`。 [Rank Math: sitelinks search box schema](https://rankmath.com/kb/sitelinks-searchbox-schema/) |
| All in One SEO | 网站架构中的搜索操作 | Search Appearance › Advanced › 关闭“Enable Sitelinks Search Box”。 [AIOSEO: sitelinks search box](https://aioseo.com/docs/how-to-get-google-to-display-the-sitelinks-search-box/) |
| SEOPress | — | 搜索框标记已在 8.4 版（2024年12月）中移除；请更新该插件。 [SEOPress changelog](https://www.seopress.org/support/changelogs/seopress-free-pro/) |
| Search Console | 网站迁移、规范网址、站点地图或 hreflang 中使用了示例地址 | Change of Address 工具只能在同一 Google 账号拥有的两个网域级资源之间使用。301 重定向请至少保留一年，最好永久保留（该工具的迁移信号本身持续 180 天）。请更正您自己网站上的规范网址、站点地图和 hreflang，然后重新提交站点地图。 [Change of Address tool](https://support.google.com/webmasters/answer/9370220) |
| API 客户端、SDK 和脚本 | 基础 URL 或主机使用了这些名称之一，通常还带有 `Authorization` 标头 | 将基础 URL 移至配置（环境变量或配置文件）中，并将其指向真实服务。**撤销所有曾发送到此处的密钥。** [OWASP Secrets Management](https://cheatsheetseries.owasp.org/cheatsheets/Secrets_Management_Cheat_Sheet.html) |

## 在您自己的代码中查找

在您的项目（包括模板和主题文件）中搜索这两个名称：

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

另请检查代码中看不到的地方：首页渲染后的 HTML（查看源代码并搜索）、Google Tag Manager 容器中的自定义 HTML 代码和变量、CMS 或主题中的“自定义 head 代码”字段，以及分析和 SEO 插件的设置。

## 常见问题解答

### example-petstore.com 是什么？

一个示例域名。Google 在 Google Analytics、Search Console 和结构化数据相关文档中用它代指您自己的网站，各类教程又从中照搬了它。此域名上没有商店、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 重新整理了 Classic Analytics 文档，关于跟踪多个域名的指南首次引入了这家宠物商店及其购物车。该指南的更早版本并未使用它。

### 这与 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](https://example-commerce-host.com/)。

## 来源

- [Measure activity across multiple domains](https://developers.google.com/tag-platform/devguides/cross-domain) Google Tag Platform
- [Tracking Multiple Domains (Classic Analytics, 2013 snapshot)](https://web.archive.org/web/20130115024413/https://developers.google.com/analytics/devguides/collection/gajs/gaTrackingSite) Google Developers via the Wayback Machine
- [Set up cross-domain measurement](https://support.google.com/analytics/answer/10071811) Google Analytics Help
- [Universal Analytics has been replaced by Google Analytics 4](https://support.google.com/analytics/answer/11583528) Google Analytics Help
- [Sitelinks search box (2015 snapshot)](https://web.archive.org/web/20150316142805/https://developers.google.com/structured-data/slsb-overview) Google Developers via the Wayback Machine
- [Farewell, Sitelinks Search Box](https://developers.google.com/search/blog/2024/10/sitelinks-search-box) Google Search Central Blog
- [Site names in Google Search](https://developers.google.com/search/docs/appearance/site-names) Google Search Central
- [Use the change of address tool (2015 snapshot)](https://web.archive.org/web/20150425234635/https://support.google.com/webmasters/answer/83106?hl=en) Search Console Help via the Wayback Machine
- [Change of Address tool](https://support.google.com/webmasters/answer/9370220) Search Console Help
- [Schema Markup Validator](https://validator.schema.org/) Schema.org
- [Swagger Petstore sample API](https://petstore.swagger.io/) Swagger
