多币种在线商店:为什么JS解决方案会破坏SEO

在本文中:JS货币转换的工作原理及其对SEO的影响,Googlebot在索引您的商店时看到什么,服务器端转换有何不同,以及如何在不损失自然流量的情况下设置多币种商店。
案例:Tilda上的商店,受众遍布多个国家。看起来,您连接了JS货币转换小部件,价格在用户浏览器中重新计算——问题解决了。但是当您查看Search Console时,您会发现外国查询的自然流量没有增长。原因是搜索引擎看到的内容与购物者看到的内容不同。
根据一项跨境购物研究,92%的购物者更喜欢看到当地货币的价格,如果价格只显示外币,三分之一的购物者会放弃购物车。这听起来很明显——但有趣的是大多数商店如何解决这个问题,以及为什么这个解决方案会变成一个SEO问题。

JS转换如何工作

大多数货币转换小部件和脚本都按照一种方案工作:页面以原始货币加载价格,然后JS通过API获取汇率并直接在用户的浏览器中重新计算数字。
对于买家来说,这看起来很正常:他们登陆页面,一秒钟后看到了欧元价格。有时加载时会有轻微的闪烁,有时则没有。从视觉上看,它确实有效。
问题不在于用户看不到什么。问题在于搜索机器人看到的页面完全不同。

Googlebot 看到的内容

Googlebot 在初次渲染时会索引页面。根据 Google Search Central 的数据,JavaScript 的渲染可能会延迟:首先,页面的 HTML 版本会被索引,JS 可能会稍后处理,或者根本不处理。
这意味着原始货币(卢布,如果商店最初是俄罗斯的)的价格可能会出现在搜索结果中。德国用户输入查询,在结果中看到“4500 ₽”,点击后,只有在页面加载后价格才会重新计算为欧元。
这同时带来了两个问题。第一个:搜索结果中的摘要显示的是未本地化的价格——这降低了点击率。第二个:如果您使用微数据(schema.org/Product 带有 price 字段),它会以原始货币写入 HTML。搜索引擎会看到带有卢布的结构化数据,并以这种方式在富媒体结果中显示它们。
例如,如果您使用 Tilda,在页面代码中经常会看到元标签或 JSON-LD 标记,如 "price": "4500" 和 "priceCurrency": "RUB"。即使前端的 JS 脚本将显示替换为“€45”,读取原始 HTML 的搜索机器人仍会记录卢布价格,这将导致搜索结果中价格显示错误。
为确保搜索引擎看到您期望的货币,建议通过 Google 富媒体搜索结果测试检查页面。此工具将实时显示 Google 如何解释您的微数据。
有关商品结构化数据(包括价格和货币字段)的更多详细信息,请参阅 Google 关于商品结构化数据的官方文档。

为什么这比看起来更糟

假设您正在为德国市场推广一个页面。在 Google Merchant Center 或自然搜索结果中,买家期望看到欧元价格。如果您的微数据显示“4500 RUB”,这不仅不美观,Google 可能也不会在本地购物结果中显示您的产品。
针对特定市场的 SEO 策略意味着该页面上的内容与受众相符:语言、货币、上下文。JS 转换给人一种本地化的错觉,但可索引内容仍保持原始形式。

服务器端转换:它应该如何工作

当在服务器上进行货币转换时,用户的浏览器会收到一个已经准备好的页面,其中包含所需货币的价格。所有内容都已预先计算,浏览器会收到带有正确数字的现成 HTML。
Googlebot 看到买家看到的内容:欧元价格、正确的微数据、正确的摘要。本地化是完整的——同时适用于用户和搜索引擎。
在这种方法中,汇率取自可靠来源(例如,ECB 或其他 API),并在代理服务器端交付页面时应用。缓存按计划更新。用户在加载时永远不会看到“闪烁”。

您的商店在多个国家/地区销售吗?

Multify 在服务器端转换价格——搜索引擎看到正确的数据,而买家则以其货币获得价格,而不会出现闪烁。

Multify 如何解决问题

Multify 作为网站和用户之间的代理层工作。当来自德国用户的请求到达时,服务器会返回已将价格转换为欧元的页面。汇率会自动更新。
这不仅对 SEO 很重要,对 URL 结构也很重要。网站的语言版本位于 /de/ 或 de.yourdomain.com,Googlebot 在此地址看到正确的德语内容和欧元价格。hreflang 会自动生成——无需单独设置。
与 JS 方法的区别是根本性的:使用 JS,您假装网站已本地化;在服务器上进行转换时,网站确实已本地化——无论是对用户还是对搜索引擎。

如果您已经有 JS 转换,该怎么办

如果您目前正在使用货币转换小部件,请查看 Google Search Console:Googlebot 在索引您的产品页面时看到了什么?“URL 检查”工具会显示机器人收到的 HTML——检查其中是否有您所需货币的价格以及微数据是否正确。
如果您看到原始货币,这并非灾难,但这确实意味着来自其他国家的自然流量未能充分发挥作用。

Do you want Googlebot to see the correct prices?

We will show you how it works on your store — we will set up a demo and check it together.

常见问题

Googlebot 总是忽略 JavaScript 吗?
不是,但比想象的要复杂。Google 在单独的队列中渲染 JavaScript,这可能会导致延迟。对于价格等快速变化的数据,延迟意味着搜索结果中会出现过时的价格。
Yandex 呢?
Yandex 也渲染 JavaScript,但有限制。对于独联体市场,例如哈萨克斯坦、白俄罗斯和亚美尼亚,机器人在初次抓取时可能无法获得正确的内容。
如何检查搜索引擎以何种货币查看我的价格?
在 Google Search Console 中:“网址检查”,然后“查看已抓取页面”。您可以看到 Googlebot 获取的 HTML。查看商品微数据中的 priceCurrency 值。
如何在不损失 SEO 的情况下显示当地货币价格?
在服务器上重新计算价格,以便浏览器和搜索引擎机器人收到正确的价格和正确的微数据。完整的启动顺序已在Tilda 多语言商店清单中汇总。

我们将 Multify 连接到您的网站

您问题的答案将帮助我们了解如何更好地连接您的网站

网站类型
页面数量
每月网站访问量
首选联系方式 *