example-commerce-host.com

示例域名 · 并非真实服务 · 浏览器访问显示此页面 · API 请求返回 410 Gone

示例域名 · 并非真实服务

example-commerce-host.com

example-commerce-host.com 是 Google 跨网域访问者衡量文档中使用的示例域名,用来代指第三方购物车:位于 example-petstore.com 的商店将访问者引导至 example-commerce-host.com/example-petstore 这样的购物车。此域名上没有购物车、结账页或付款页。如果您的代码或设置中出现此名称,请将其替换为购物车服务提供商提供给您的地址。

曾将密钥、令牌、密码或付款信息发送到此处?请立即处理。

指向 example-commerce-host.com 的代码所发出的请求会到达此服务器,而不是真实的商店或支付服务提供商,其中携带的 API 密钥、访问令牌、密码、会话 Cookie 或银行卡信息也会一并送达。请将这些信息视为已泄露:

  1. 在签发该密钥、令牌或密码的服务中将其撤销,并签发新的凭据。
  2. 将凭据保存在配置或密钥管理工具中,而不是代码中。
  3. 如果发送了真实的银行卡信息,请联系发卡机构。
  4. 更正代码中的地址,确保新凭据只发送到真实服务。

在 GitHub、AWS、Google Cloud、Stripe 等平台撤销密钥的位置

此名称的来源

以下每个示例都列出了当初发布的过时代码段,以及应改用的内容。突出显示的部分是您需要替换的内容。完整历史中列有日期和存档来源。

Google Analytics · 2009–2024

Classic Analytics 中的商店与第三方购物车

Google 关于使用 Classic Analytics(ga.js)跟踪多个网域的指南中,将访问者从位于 www.example-petstore.com 的商店引导至位于 www.example-commerce-host.com/petStoreCart 的购物车。

过时的示例

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

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

Classic Analytics 和 Universal Analytics 已不再收集数据。请删除这段代码,并将表单和链接指向您真实的结账页面。复制来的表单和带完整地址的链接仍会将访问者引导至此处,地址中通常还带有 __utma 之类的参数。

请改用

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

Google Analytics 4 · Tag Manager · 当前

同时衡量您的商店和购物车

Google 当前的跨网域衡量指南仍以位于 example-petstore.com 的网站及位于 example-commerce-host.com/example-petstore 的购物车作为开场示例;其代码示例使用的是 example.com。在 Google Analytics 4 中,网域在管理界面中设置:Admin › Data streams › 您的网站数据流 › Configure tag settings。

  • Configure your domains:您的商店和购物车服务提供商。
  • List unwanted referrals:显示为引荐来源的付款页面。

如果不进行此设置,从商店进入购物车的顾客会被计算两次,而这笔销售也会失去与顾客如何找到您商店之间的关联。在 Google Tag Manager 中,相同的设置位于 Google tags › 您的代码 › Show all 下。

或在代码中设置

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

分步说明:跨网域衡量 · Google Tag Manager

API · 脚本

API 客户端和脚本

带有请求正文或发往 API 式路径的请求,来自将此域名用作地址的代码。这些请求会收到 410 Gone 以及 JSON 格式的说明。

请改用:从配置中读取地址

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

完整指南:配置 API 客户端和 SDK

姊妹域名

商店一方:example-petstore.com

这些示例中的商店,以及它出现过的其他地方(站点链接搜索框标记、Search Console 中的网站迁移),均在 example-petstore.com 上有介绍。

快速检查清单

  • 在您的代码、模板、主题和代码管理工具中搜索 example-commerce-host 和 example-petstore。
  • 将购物车地址替换为购物车服务提供商提供给您的结账地址。
  • 删除 Classic Analytics 和 Universal Analytics 代码;在 Google Analytics 4 中列出您商店的网域和购物车服务提供商的网域。
  • 轮换所有曾发送到此处的密钥、令牌或密码。
  • 当所有内容都指向正确的位置后,您的网站或代码将不会再向此域名发送任何内容。

分步指南

请打开与出现示例域名的平台对应的指南。

Google Analytics 4:跨网域衡量
  1. 在 Google Analytics 中,打开 Admin,然后转到 Data streams。选择您的网站数据流。
  2. 打开 Configure tag settings › Configure your domains。删除 example-petstore.com 和 example-commerce-host.com,然后添加您实际拥有或使用的网域,例如您的商店和结账服务提供商。
  3. 返回 Configure tag settings,打开 List unwanted referrals,添加不应开始新会话的引荐来源,例如您的支付服务提供商。最多可添加 50 个。
  4. 保存。更改将应用于使用此数据流的所有网页上的 Google 代码。

更喜欢用代码而不是管理界面?

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

检查: 点击从您的一个网域指向另一个网域的链接。目标网页的地址中应包含 _gl=。在 Admin › DebugView 中(开启 Tag Assistant 或调试模式),该访问应作为同一个会话继续。

文档: Set up cross-domain measurement · 阅读完整指南

Google Tag Manager
  1. 在 Tag Manager 中,打开 Google tags,选择您的 Google 代码,然后选择 Show all。
  2. 在 Configure your domains 下,只保留您自己的网域。对于应忽略的引荐来源,请使用 List unwanted referrals。
  3. 在 Tags 和 Variables 中搜索 example-petstore、example-commerce-host、_gaq 和 pageTracker。删除包含 Classic 或 Universal Analytics 代码的旧自定义 HTML 代码。
  4. 使用 Preview 进行测试,然后点击 Submit 发布新的容器版本。

检查: 在 Preview 中,Google 代码在每个网页上都会触发,且没有任何代码引用示例域名。您的网域之间的链接带有 _gl=。

文档: Google tag settings in Tag Manager · 阅读完整指南

旧版 Classic 或 Universal Analytics 代码
  1. 在您的模板中搜索 _gaq、pageTracker、ga.js、analytics.js、ga('create' 和 urchin。
  2. 删除整个代码块,包括带有 _link 或 _linkByPost 的 onclick 和 onsubmit 处理程序。将“See my pet store”或“Continue Shopping”等示例链接指向您自己的网页,或将其删除。
  3. 安装适用于 Google Analytics 4 的 Google 代码(见下方代码段),或通过 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>

检查: 查看网页源代码:其中不再包含 ga.js、analytics.js 或示例域名。在 Google Analytics 4 中,Reports › Realtime 会显示您自己的访问。

文档: Universal Analytics has been replaced · 阅读完整指南

WordPress 和 SEO 插件
  1. Yoast SEO、Rank Math 和 All in One SEO 根据您自己的地址生成网站架构,不会使用示例域名。如仍需删除搜索操作: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。
  2. SEOPress 已在 8.1 版(2024年9月)中移除搜索框标记。请更新该插件。
  3. 示例域名通常来自手动粘贴的代码块:请检查主题的 header.php、“自定义 head 代码”或“header 脚本”字段,以及向网页 head 中插入代码的插件。
  4. 将该代码块替换为正确的 WebSite 标记(见下方代码段);如果您的 SEO 插件已输出该标记,则直接删除。
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "WebSite",
  "name": "Your site name",
  "url": "https://www.example.com/"
}
</script>

检查: 查看首页源代码:只有一个 WebSite 代码块,其中包含您自己的名称和地址。请使用 Schema Markup Validator 进行检查。

文档: Yoast: SearchAction · 阅读完整指南

手动添加的结构化数据
  1. 找到包含 example-petstore.com 的 <script type="application/ld+json"> 代码块(或微数据)。
  2. 将 url 替换为您自己的首页,并将 name 设为您的网站名称。potentialAction / SearchAction 部分可以删除:Google 已不再显示站点链接搜索框。
  3. 只在首页保留 WebSite 代码块。
  4. 在 Search Console 中,对您的首页使用 URL Inspection › Request indexing。
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "WebSite",
  "name": "Your site name",
  "url": "https://www.example.com/"
}
</script>

检查: Schema Markup Validator 显示一个 WebSite 项,其中包含您自己的 name 和 url。富媒体搜索结果测试不涵盖网站名称。

文档: Site names in Google Search · 阅读完整指南

Search Console:迁移网站
  1. 在同一个 Search Console 账号中,将旧网域和新网域都验证为 Domain properties(网域资源)。
  2. 使用 301 重定向将每个旧地址重定向到对应的新地址,并将重定向保留至少 180 天。
  3. 在旧资源中,打开 Settings › Change of address,然后选择新资源。
  4. 检查新网站上的规范网址、站点地图和 hreflang 中是否有示例地址,然后重新提交站点地图。

检查: 在 Search Console 中,地址更改请求显示为正在进行中,新资源开始获得展示次数。

文档: Change of Address tool · 阅读完整指南

API 客户端、SDK 和脚本
  1. 找到设置该地址的位置:代码中的基础网址或主机、配置文件、环境变量、Postman 环境或 SDK 构造函数。
  2. 将地址移至配置中(见下方代码段),并将其指向真实服务。
  3. 撤销所有曾发送到此域名的密钥、令牌或密码,并在创建它们的服务中重新签发。
  4. 添加一项检查:当配置的地址包含 example- 时即报错,以免再次发生。
# 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;

检查: 请求到达真实服务并成功完成。您的代码不再向此处发送任何内容:此域名会以 410 Gone 响应此类请求。

文档: OWASP Secrets Management · 阅读完整指南

概览:各平台的修复方法

位置您看到的内容处理方法
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日停止处理数据。 Universal Analytics has been replaced
Google Analytics 4网域列表中出现这些名称,或报告中出现自我引荐Admin › 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_domain在 linker.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、微数据)"url": "https://www.example-petstore.com/",或指向 query. 或 host.example-petstore.com 的 target将您自己的首页用作 url,将您自己的网站名称用作 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.1 版(2024年9月)中移除;请更新该插件。 SEOPress changelog
Search Console网站迁移、规范网址、站点地图或 hreflang 中使用了示例地址“地址更改”工具只能在您拥有的网域资源之间使用,且 301 重定向须保留至少 180 天。请更正您自己网站上的规范网址、站点地图和 hreflang,然后重新提交站点地图。 Change of Address tool
API 客户端、SDK 和脚本基础网址或主机使用了这些名称之一,通常还带有 Authorization 标头将基础网址移至配置(环境变量或配置文件)中,并将其指向真实服务。撤销所有曾发送到此处的密钥。 OWASP Secrets Management

在您自己的代码中查找

在您的项目(包括模板和主题文件)中搜索这两个名称:

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

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

常见问题解答

example-commerce-host.com 是什么?

一个示例域名。在 Google 跨网域访问者衡量文档中,它代指第三方购物车:位于 example-petstore.com 的商店将访问者引导至 example-commerce-host.com/example-petstore 这类地址上的购物车。

example-commerce-host.com 是真实的购物车或支付服务吗?

不是。这里没有购物车、结账页或付款页,无法购买或支付任何东西。此域名上的每个地址都显示本页面。

为什么我商店的访问者或请求会跑到 example-commerce-host.com?

示例中的购物车地址被复制后一直没有替换,可能位于链接、表单、跟踪代码段或脚本中。请将其替换为购物车服务提供商提供给您的结账地址。

我曾将银行卡信息、密钥或密码发送到 example-commerce-host.com,该怎么办?

请将其视为已泄露。在签发服务中撤销密钥、令牌和密码并签发新的凭据;如果发送了真实的银行卡信息,请联系发卡机构。只有签发密钥的服务才能撤销它。

如何在 Google Analytics 4 中衡量访问者在我的商店与购物车服务提供商之间的访问?

在管理界面中依次进入:Admin、Data streams、您的网站数据流、Configure tag settings、Configure your domains。输入您商店的网域和购物车服务提供商的网域。

为什么一位顾客被计为两位用户,或者我自己的商店显示为引荐来源?

跨网域衡量未设置,或列出的网域有误。请在 Configure your domains 下列出您的商店和购物车服务提供商,并将付款页面等多余的引荐来源添加到 List unwanted referrals 下。

/petStoreCart、/myStore/ 和 /myCart/ 是什么?

同一组示例中的虚构路径:宠物商店的购物车,以及同一网域下分别位于不同文件夹的商店和购物车。这些路径都不存在,访问任何一个都会进入本页面。

example-zoohandlung.de 是同一个示例吗?

是的。德国的考试备考资料将宠物商店译为 www.example-zoohandlung.de,但购物车仍保留为 www.example-commerce-host.com/example-zoohandlung/。

example-petstore.com 是什么?

姊妹示例域名:同一组示例中的商店一方。请参阅 example-petstore.com。

来源