博客

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

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

JS转换如何工作

大多数货币转换小部件和脚本都按照一种方案工作:页面以原始货币加载价格,然后JS通过API获取汇率并直接在用户的浏览器中重新计算数字。
对于买家来说,这看起来很正常:他们登陆页面,一秒钟后看到了欧元价格。有时加载时会有轻微的闪烁,有时则没有。从视觉上看,它确实有效。
The problem is not that the user doesn't see something. The problem is that the search robot sees the page completely differently.

What Googlebot Sees

Googlebot indexes pages during initial rendering. According to Google Search Central, JavaScript rendering may be delayed: first, the HTML version of the page is indexed, JS may be processed later or not at all.
这意味着搜索结果中可能会出现原始货币(卢布)的价格,如果商店最初是俄罗斯的。德国用户输入查询,在结果中看到“4500 ₽”,点击后,只有在页面加载后价格才会转换为欧元。
这同时带来了两个问题。首先:搜索结果中的摘要显示的是未本地化的价格——这降低了点击率。其次:如果您使用微数据(schema.org/Product,带有 price 字段),它会以原始货币写入 HTML。搜索引擎会看到带有卢布的结构化数据,并以这种方式在富媒体结果中显示它们。
例如,如果您使用 Tilda,页面代码中经常会看到“price”: “4500”和“priceCurrency”: “RUB”这样的元标签或 JSON-LD 标记。即使前端的 JS 脚本将显示替换为“€45”,读取原始 HTML 的搜索引擎机器人仍会记录卢布价格,这将导致搜索结果中价格显示错误。
为了确保搜索引擎看到您期望的货币,我们建议通过 Google 富媒体搜索结果测试检查页面。此工具将实时显示 Google 如何解释您的微数据。
产品结构化数据的格式,包括价格和货币字段,在 Google 官方文档中更详细地描述了 structured data for products

Why This Is Worse Than It Seems

Suppose you are promoting a page for the German market. In Google Merchant Center or in organic search results, the buyer expects to see the price in euros. If your microdata says “4500 RUB”, it's not just unsightly — Google may not show your products in local shopping results.
An SEO strategy for a specific market assumes that the content on that page matches the audience: language, currency, context. JS conversion gives the illusion of localization, but the indexable content remains in its original form.

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

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

Multify 如何解决问题

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

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

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

常见问题

Googlebot 总是忽略 JavaScript 吗?

不,但这比我们希望的要复杂。Google 确实会渲染 JavaScript,但这发生在单独的队列中,可能会延迟。对于新页面或快速变化的价格,索引延迟意味着最新内容会更晚出现在搜索结果中。对于价格等动态数据,这是不可接受的。

Yandex 呢?

Yandex 也会渲染 JavaScript,但有局限性。对于独联体市场(哈萨克斯坦、白俄罗斯、亚美尼亚),这也是一个相关问题:机器人在初始抓取时可能无法获取正确的内容。

如何检查搜索引擎是否看到正确的货币?

Via Google Search Console: “URL Inspection” → “View Crawled Page” → “More Info”. This shows the HTML that Googlebot received. Look for your prices — in what currency they are specified in the priceCurrency tag of the microdata.
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.
提交申请 →
2026-04-07 09:04