Багатомовний сайт на WordPress будується на плагіні, який зберігає переклад кожного запису як окремий пост і пов'язує версії між собою. Два основні варіанти — Polylang і WPML. Розберемо різницю між ними і порядок налаштування на прикладі сайту з російською, українською та англійською версією.
Чим відрізняються Polylang і WPML
Polylang безкоштовний у базовій версії і покриває переклад записів, сторінок, рубрик і меню. Платна версія Polylang Pro додає переклад довільних типів записів і слагів URL. WPML — повністю платний плагін із ширшим охопленням «з коробки»: переклад рядків теми без правки коду, вбудований сервіс машинного перекладу і сумісність майже з усіма великими білдерами сторінок.
На практиці для блогу чи корпоративного сайту з 2–3 мовами досить Polylang. WPML виправданий, якщо потрібен переклад складного функціоналу WooCommerce або у редакторів немає доступу до файлів теми для правки рядків.
Як налаштувати мови в Polylang
Після активації плагіна майстер налаштування запитає список мов сайту. Додайте потрібні локалі в розділі «Мови → Мови» з кодом за стандартом ISO 639-1: ru, uk, en. Кожній мові призначається свій прапор і порядок у перемикачі.
wp pll lang create ru "Русский" ru_RU
wp pll lang create uk "Українська" uk
wp pll lang create en "English" en_US
Команди WP-CLI працюють, якщо на сайт встановлено пакет polylang-cli; без нього мови додаються лише через інтерфейс.
Як перекласти записи, меню і віджети
У кожного запису в редакторі з'являється блок «Мови» з прапорами: клік по плюсу біля потрібної мови створює пов'язану копію запису для перекладу. Слаг, заголовок і вміст перекладаються незалежно, а зв'язок між версіями зберігається за внутрішнім ID перекладу.
Меню перекладаються окремо в розділі «Зовнішній вигляд → Меню» — під кожну мову потрібно зібрати свою версію меню і призначити її в налаштуваннях теми. Віджети, якщо тема їх підтримує, розміщуються через вбудований віджет Polylang «Перемикач мов», який сам підставляє посилання на перекладені версії.
Як налаштувати SEO для багатомовного сайту
Polylang сам додає атрибут hreflang на кожну сторінку, позначаючи пов'язані переклади для пошукових систем. Мета-теги (заголовок, опис) перекладаються через плагін Yoast SEO окремо для кожної мовної версії запису — докладне налаштування описано в статті про Yoast SEO. Структуру URL варто обрати заздалегідь: із префіксом мови (/en/page/) або на окремих піддоменах — зміна схеми після запуску вимагає налаштування редиректів.
Polylang і WPML: порівняння можливостей
| Можливість | Polylang (безкоштовний) | WPML |
|---|---|---|
| Переклад записів і сторінок | так | так |
| Переклад рядків теми без коду | ні (лише Pro) | так |
| Машинний переклад | ні | так, платний сервіс |
| Підтримка WooCommerce | частково, потрібні дод. плагіни | так, окремий модуль |
Часті проблеми після встановлення
Дублі сторінок у пошуковій видачі майже завжди означають, що hreflang налаштований невірно або відсутній зв'язок між перекладами — перевірте це в блоці «Мови» кожного запису. Падіння швидкості сайту після встановлення WPML — відома особливість плагіна за великої кількості записів: увімкніть кеш перекладів у налаштуваннях модуля String Translation. Якщо сайт до цього переносився на нову адресу, порядок дій описано в статті про зміну домену WordPress.
Чек-лист запуску багатомовного сайту
- Обрано плагін: Polylang для типового сайту, WPML — для складного функціоналу і перекладу рядків теми.
- Налаштовано всі мовні версії з коректними кодами ISO 639-1.
- Перекладено меню, віджети і мета-теги через Yoast SEO для кожної мови.
- Перевірено атрибут
hreflangна пов'язаних сторінках. - Структуру URL обрано заздалегідь, і вона не вимагатиме зміни схеми після запуску.