Багатомовний сайт на WordPress: адреси, hreflang і переклад
Багатомовний сайт на WordPress працює правильно, коли кожна мовна версія має власну адресу, версії пов’язані між собою тегами hreflang, а перекладено не лише тексти сторінок, а й меню, форми, SEO-теги та листи клієнтам. Автоматичний переклад «на льоту» чи перемикання мови за IP цього не замінюють: пошуковик бачить одну сторінку, а відвідувач — напівперекладений інтерфейс.
Нижче — як ми підходимо до мов на клієнтських сайтах і що варто вирішити до того, як замовляти другу чи третю мовну версію.
Де живуть мовні версії: підпапки, піддомени чи окремі домени
Перше рішення — структура адрес. Від неї залежить, як сайт просуватиметься і скільки зусиль піде на підтримку.
| Варіант | Приклад | Коли підходить | На що зважати |
|---|---|---|---|
| Підпапки | site.ua/en/ |
Один бізнес, спільні послуги й ціни для всіх мов | Одна адмінка, посилання й історія домену працюють на всі мови. Найпростіше в підтримці |
| Піддомени | en.site.ua |
Версії технічно розділені або ведуться різними командами | Налаштування, аналітику й просування доводиться вести майже як для окремих сайтів |
| Окремі домени | site.pl |
Інша країна з власними цінами, валютою, доставкою чи юридичною особою | Окрема установка й окреме просування, зате повна свобода в асортименті та умовах |
Для більшості сайтів послуг вистачає підпапок. Окремий домен виправданий, коли ринок справді інший: свої ціни, своя валюта, інші умови доставки, інша команда підтримки.
Ще одна дрібниця, яку краще вирішити одразу: чи матиме основна мова префікс в адресі. Обидва варіанти робочі, але змінювати їх після запуску означає переписувати адреси всіх сторінок і ставити редиректи.
hreflang: як пояснити пошуковику, що це одна сторінка різними мовами
hreflang — службовий тег у коді сторінки. Він повідомляє: «ця сторінка має версії такими мовами, ось їхні адреси». Без нього Google може показати англомовному користувачеві українську версію або сприйняти переклади як схожі між собою сторінки, що змагаються за одні запити.
Помилки, які ми бачимо найчастіше:
- посилання не взаємні: українська сторінка вказує на англійську, а англійська на українську — ні;
- сторінка не вказує сама на себе у власному наборі тегів;
- у hreflang стоїть адреса, яка перенаправляє на іншу або закрита від індексації;
- canonical усіх мовних версій веде на основну мову — тоді переклади випадають із пошуку;
- теги на внутрішніх сторінках ведуть на головну іншої мови, а не на відповідну сторінку.
Плагіни багатомовності ставлять hreflang самі, але тільки для сторінок, які ви позначили як переклади одна одної. Якщо англійську сторінку створили окремо й не прив’язали до української, зв’язку між ними не буде. Після запуску варто відкрити код кількох сторінок різних типів і перевірити теги вручну — або замовити технічну SEO-перевірку мовних версій.
Що перекладати, крім текстів сторінок
Типова картина після «швидкого» перекладу: тексти англійською, а довкола них — суміш мов. Ось що легко пропустити:
- Меню, підвал, кнопки, хлібні крихти. Кожна мова має власне меню з посиланнями на свої сторінки.
- Адреси сторінок.
/en/services/, а не/en/poslugy/. - Title і description. Це не дослівний переклад, а текст під запити, якими шукають саме цією мовою.
- Форми. Підписи полів, повідомлення про помилки, текст після відправки.
- Листи клієнту. Підтвердження заявки чи замовлення мають приходити мовою, якою людина користувалася на сайті.
- Рядки теми й плагінів. «Читати далі», «Пошук», сторінка 404, банер про cookie.
- Мікророзмітка й підписи зображень. Їх не видно на сторінці, але читає пошуковик.
Окремо стоять глобальні налаштування: телефон, адреса, графік роботи, тексти кнопок у шапці. Якщо тема не розрахована на кілька мов, перекласти їх без програміста не вийде. Тому підтримку мов закладають у тему ще на етапі розробки, а не додають наприкінці. Якщо ви лише знайомитеся з адмінкою, почніть із нашого матеріалу про те, наскільки WordPress зручний для новачка.
Чого не варто перекладати й робити
- Назву бренду, юридичну назву, артикули. Вони лишаються однаковими в усіх версіях, інакше клієнт не знайде вас за назвою.
- Сторінки, яким нема що сказати цією мовою. Акція лише для одного міста чи вакансія для локального ринку не потребують трьох версій.
- Автоматичний редирект за IP чи мовою браузера. Людина у відрядженні потрапляє не на ту версію, а пошуковий робот може не дістатися решти мов. Краще ненав’язлива підказка з пропозицією перемкнутися.
- Прапорці замість назв мов. Мова й країна — різні речі. Напишіть «Українська», «English» — так зрозуміло всім.
- Машинний переклад без вичитки на сторінках послуг, цін і умов. Помилка в назві процедури чи в умовах гарантії коштує довіри.
З блогом можна діяти вибірково. Не обов’язково перекладати кожну статтю: достатньо тих, що відповідають на запити аудиторії іншої мови.
Магазин: мови, валюти й кошик
В інтернет-магазині до мов додаються валюти. Якщо українська версія продає в гривні, а англійська — в євро, треба вирішити, що відбувається з кошиком, коли покупець перемикає мову посеред вибору. Товари, додані за різними цінами, дають плутанину в сумі замовлення.
Надійне рішення просте: одна мовна версія — одна валюта, а при зміні мови кошик очищується. Це менш зручно для покупця, ніж перерахунок, зате в замовленні не буде двох валют.
Варто продумати й решту ланцюжка: способи оплати та доставки для кожного ринку, мову листів про замовлення, мову сповіщень менеджеру.
З нашої практики: клініка трьома мовами й магазин на двох доменах
Старий сайт стоматології Dent Aura працював на Elementor і WPML. Новий ми зробили як дочірню тему на GeneratePress із мовами через Polylang. Сайт працює українською, російською та англійською: у кожної версії окремі адреси, власні SEO-тексти й перекладений інтерфейс теми. Послуги, прайс і лікарі зберігаються як окремі типи записів. Коли контент лежить у полях, а не у верстці сторінки, переклад прив’язується до конкретної послуги чи лікаря, і його простіше підтримувати. Про те, що ще вміє цей сайт, ми розповіли в статті про онлайн-оплату й сертифікати на сайті клініки.
У магазині картин на полотні Omnia Holst поєднано два підходи. Сайт для України працює українською та англійською через Polylang: українська версія показує ціни в гривні, англійська — в євро. При зміні мови кошик очищується, щоб валюти не змішувались. Польська версія розгорнута на окремому домені: це інший ринок.
Обидва сайти зроблені на темі з полями, а не в конструкторі сторінок. Чому для мовних версій це зручніше, ми пояснюємо в порівнянні власної теми та конструктора сторінок.
Висновок: що перевірити перед запуском
- Кожна мова має власні адреси, і структура адрес не зміниться після запуску.
- Сторінки пов’язані як переклади, hreflang взаємний, canonical веде на саму сторінку.
- Перекладено меню, форми, листи, SEO-теги та рядки теми.
- Немає автоматичних редиректів за IP.
- У магазині визначено правила для валют і кошика.
Якщо плануєте нову мовну версію або хочете навести лад в наявній, подивіться, як ми робимо сайти на WordPress із кількома мовами, або напишіть нам — розберемо вашу структуру адрес і скажемо, з чого почати.
Питання й відповіді
Який плагін обрати для багатомовного сайту на WordPress?
Найчастіше обирають Polylang або WPML. Обидва дають окремі адреси для мов і ставлять hreflang; важливіше, щоб тема була підготовлена до перекладу меню, рядків інтерфейсу та налаштувань.
Чи потрібен окремий домен для кожної мови?
Здебільшого ні: для одного бізнесу з однаковими послугами вистачає підпапок на кшталт /en/. Окремий домен має сенс для іншої країни з власними цінами, валютою та доставкою.
Чи можна просто поставити автоматичний перекладач на сайт?
Для загального розуміння тексту — так, але пошуковики не отримують окремих сторінок іншою мовою, а якість перекладу ніхто не контролює. Сторінки послуг, цін та умов варто перекладати й вичитувати вручну.
Чи обов’язково перекладати весь блог?
Ні. Достатньо перекласти статті, які відповідають на запити аудиторії іншої мови, а решту залишити лише в основній версії.