Блог

Мультивалютный интернет-магазин: почему 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 с исходной валютой. Поисковик видит структурированные данные с рублями и показывает их именно так в rich results.
Например, если вы используете Tilda, в коде страницы часто можно встретить мета-теги или JSON-LD разметку вида "price": "4500" и "priceCurrency": "RUB". Даже если JS-скрипт на фронтенде подменяет отображение на «€45», поисковый робот, считывающий исходный HTML, зафиксирует именно рублевую стоимость, что приведет к ошибкам в отображении цены в поисковой выдаче.
Чтобы убедиться, что поисковик видит именно ту валюту, которую вы ожидаете, рекомендуем проверить страницу через Google Rich Results Test. Этот инструмент покажет, как именно 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, который получил робот — посмотрите, есть ли там цены в нужной валюте и правильная ли микроразметка.
Если видите исходную валюту — это не катастрофа, но это значит, что органический трафик из других стран работает не в полную силу.

FAQ

Googlebot всегда игнорирует JavaScript?

Нет, но это работает сложнее, чем хотелось бы. Google действительно рендерит JavaScript, но это происходит в отдельной очереди и может задерживаться. Для свежих страниц или быстро меняющихся цен — задержка индексации означает, что актуальный контент попадёт в выдачу позже. Для динамических данных вроде цен это неприемлемо.

А что с Яндексом?

Яндекс также рендерит JavaScript, но с ограничениями. Для СНГ-рынков (Казахстан, Беларусь, Армения) это тоже актуальная проблема: роботу может не достаться корректный контент при первичном обходе.

Как проверить что поисковик видит правильную валюту?

Через Google Search Console: «Проверка URL» → «Посмотреть проиндексированную страницу» → «Дополнительная информация». Там отображается HTML, который получил Googlebot. Ищите ваши цены — в какой валюте они прописаны в теге priceCurrency микроразметки.
Хотите чтобы Googlebot видел правильные цены?
Покажем как это работает на вашем магазине — настроим демо и проверим вместе.
Оставить заявку →
2026-04-07 09:04