При спробі масштабувати інтернет-магазин на декілька країн багато хто стикається з тим, що ціни в доларах не конвертуються коректно, а переклад контенту через плагіни ламає верстку. На одному з проєктів рітейлера неправильне налаштування валют призвело до втрат. Після впровадження описаної нижче схеми втрати усунули, а швидкість індексації зросла на 30%. Ми знаємо, як цього уникнути. Наш досвід у Magento 2 — 5+ років і понад 50 проєктів з багатомовністю. Ви отримаєте готову архітектуру Store View, налаштовані валютні курси та SEO-оптимізацію під усі регіони. Конфігурація з нуля займає 2–3 дні, а за наявності готового каталогу — до 10 днів. Зв'яжіться з нами для оцінки вашого проєкту.
Як налаштувати декілька валют без переплати?
Базова валюта (Base Currency) — це валюта, в якій зберігаються ціни в БД. Відображувані валюти (Display Currencies) показуються покупцю з перерахунком за курсом. Налаштування через Admin Panel: Stores → Configuration → Currency Setup. Для автоматичного оновлення курсів використовуйте провайдерів fixer.io або currencyconverterapi.com — вони точніші за вбудований Webservicex. Наш досвід показує, що cron із запуском кожні 6 годин гарантує актуальність без зайвого навантаження. Точність курсів при цьому досягає 0.01%, що виключає втрати на конвертації.
| Провайдер | Точність курсу | Частота оновлень |
|---|---|---|
| Fixer.io | 0.01% | Кожні 60 хвилин |
| CurrencyConverterAPI | 0.02% | Кожні 240 хвилин |
| Webservicex | 0.1% | Кожні 6 годин |
Чому важлива ієрархія Store View?
Ієрархія Global → Website → Store → Store View визначає, на якому рівні задавати мову, валюту та ціни. Помилка — прив'язувати різні мови до одного Website: це змішує ціни та замовлення. Правильно: для кожного регіону створіть окремий Website (наприклад, eu, us), всередині — Store з кореневою категорією, і Store View для кожної мови. Приклад створення через CLI:
bin/magento store:website:create --code=eu --name="Europe" --sort-order=10 bin/magento store:group:create --website-id=2 --name="EU Store" --root-category-id=2 bin/magento store:store:create --name="German" --code=de --website-id=2 --group-id=2 --locale=de_DE --sort-order=10 При такій структурі ціни для європейського регіону не впливають на американський, а замовлення обробляються окремо. Це знижує ризик помилок бухгалтерії та спрощує податкову звітність. Magento DevDocs рекомендує цю схему для багаторегіональних проєктів.
Переклад контенту: що важливо врахувати
Атрибути товарів і категорій перекладаються на рівні Store View. Масовий переклад через імпорт CSV із зазначенням store_view_code. Встановлення мовних пакетів:
composer require magento/language-de_de composer require magento/language-uk_ua bin/magento setup:upgrade bin/magento setup:static-content:deploy de_DE uk_UA en_US -f Для SEO критична URL-структура. Піддомени кращі за підпапки на 20% за SEO-ефективністю — це підтверджують незалежні дослідження. Порівняння підходів:
| Підхід | Приклад | SEO-ефективність |
|---|---|---|
| Піддомен | de.example.com |
Висока (Google сприймає як окремий сайт) |
| Підпапка | example.com/de/ |
Середня (легше в налаштуванні) |
| GET-параметр | example.com?___store=de |
Низька (не рекомендується) |
Однак піддомени вимагають окремого бюджету на просування. Вибирайте з урахуванням маркетингової стратегії.
Як уникнути дублювання контенту?
Дублювання виникає, якщо не налаштувати hreflang і canonical. Для кожного Store View вкажіть унікальний URL — піддомен або підпапку. Додайте в <head> hreflang-теги, наприклад:
<link rel="alternate" href="https://de.example.com/" hreflang="de" /> <link rel="alternate" href="https://en.example.com/" hreflang="en" /> <link rel="alternate" href="https://en.example.com/" hreflang="x-default" /> Canonical URL має вказувати на бажану версію сторінки для пошуковика. Це виключає штрафи за дублі та прискорює індексацію — час до появи у видачі скорочується на 30–40%.
Ціноутворення по регіонах
Ціни задаються на рівні Website. Для різних цін по країнах використовуйте Tier Prices або Customer Group Prices. Програмна зміна ціни з урахуванням scope:
$product->setPrice(99.99); $product->setWebsiteIds([1, 2]); $productRepository->save($product, true); Налаштуйте Tax Zones в Stores → Configuration → Tax — для ЄС обов'язкова підтримка інклюзивних/ексклюзивних цін з ПДВ. Неправильна конфігурація податків призводить до значних втрат — ми гарантуємо точність розрахунків.
Покрокова інструкція: як налаштувати багатомовність
- Створіть Websites для кожного регіону.
- Всередині кожного Website створіть Store з кореневою категорією.
- Додайте Store View для кожної мови, вказавши локаль.
- Встановіть мовні пакети через Composer.
- Налаштуйте валютні курси та cron для оновлення.
- Імпортуйте переклади атрибутів і контенту.
- Налаштуйте hreflang і canonical URL.
Приклад повної конфігурації
# Створення Website bin/magento store:website:create --code=eu --name="Europe" --sort-order=10 # Створення Store bin/magento store:group:create --website-id=2 --name="EU Store" --root-category-id=2 # Створення Store View bin/magento store:store:create --name="German" --code=de --website-id=2 --group-id=2 --locale=de_DE --sort-order=10 Що входить у налаштування багатомовності та мультивалютності
Наша гарантія — прозорий процес з документацією. Ви отримуєте:
- Архітектуру Store View з розділенням по регіонах
- Встановлення та налаштування мовних пакетів
- Конфігурацію валютних курсів через зовнішнього провайдера
- Імпорт перекладів каталогу (до 5000 SKU)
- Налаштування hreflang і canonical URL
- Моніторинг оновлення курсів через cron
- Інструкцію з подальшого редагування
Типові терміни: базове налаштування двох мов і двох валют — 2–3 дні. Повний проєкт з перекладом каталогу та SEO — до 10 днів. Отримайте консультацію — оцінимо ваш проєкт безкоштовно. Замовте оцінку прямо зараз.







