В современном веб-пространстве многоязычность сайта — обязательное условие для расширения аудитории и повышения удобства пользователей. WordPress предлагает множество решений для создания многоязычных сайтов, и одним из самых популярных и легких в использовании является плагин Polylang. В этой статье мы подробно рассмотрим, как создать многоязычный сайт на WordPress с помощью Polylang, включая примеры настройки, перевода контента и оптимизации SEO.
Почему Polylang — хороший выбор для многоязычности WordPress
Polylang — это бесплатный плагин с возможностью расширения в Pro-версии, который позволяет добавлять языки, создавать переводы записей, страниц, таксономий и даже переводить интерфейс сайта. Среди его преимуществ:
- Интуитивно понятный интерфейс.
- Гибкая настройка языков и URL.
- Поддержка перевода пользовательских типов записей и таксономий.
- Совместимость с большинством популярных тем и плагинов.
- SEO-дружелюбие (правильная индексация языковых версий).
В отличие от некоторых комплексных решений, Polylang не дублирует контент — каждая языковая версия создаётся отдельно, что облегчает управление и поддержку.
Установка и базовая настройка плагина Polylang
Для начала установим плагин через админку WordPress: Плагины > Добавить новый > Поиск по слову Polylang > Установить > Активировать.
После активации перейдите в Языки в меню админки. Здесь можно добавить нужные языки, например, русский и английский. Для каждого языка можно задать код, направление текста, флаг и прочие параметры.
Обязательно настройте, как будут выглядеть URL языковых версий. Polylang предлагает три варианта:
- Разные каталоги:
site.com/ru/,site.com/en/ - Поддомены:
ru.site.com,en.site.com - Параметры URL:
site.com?lang=ru
Рекомендуется использовать каталоги — это удобно для SEO и пользователей.
Создание и перевод контента с Polylang
После настройки языков создайте новую страницу или запись. В редакторе WordPress появится блок переключения языков. Для каждой языковой версии создаётся отдельный объект записи, связанный между собой.
Пример: создали статью на русском, затем нажали «+» возле английского языка, чтобы добавить перевод. Это гарантирует, что каждая версия будет отдельной, но связанной.
При переводе меню также необходимо создавать отдельные меню для каждого языка и связывать их в настройках Polylang. Это позволит выводить навигацию на нужном языке.
Перевод виджетов и пользовательских таксономий
Polylang поддерживает перевод таксономий (категорий, тегов). В админке категорий появится возможность создавать переводы для каждой категории.
Для виджетов с текстом рекомендуется использовать плагин Clearfy Pro — он помогает оптимизировать и управлять виджетами, включая их показ на разных языках.
Работа с SEO для многоязычных сайтов на Polylang
Правильная SEO-оптимизация многоязычного сайта — ключ к успешной индексации и высокому ранжированию в поисковых системах. Polylang автоматически добавляет теги hreflang в заголовки страниц, что помогает поисковикам определить языковые версии.
Рекомендуется дополнительно использовать SEO-плагины, совместимые с Polylang, например, Clearfy Pro или Yoast SEO, которые позволяют задавать мета-теги для каждой языковой версии.
Примеры кода для расширения функционала Polylang на вашем сайте
Получение текущего языка и вывод контента в зависимости от языка
function wptour_get_current_language() {
return function_exists('pll_current_language') ? pll_current_language() : 'ru';
}
function wptour_show_content_by_language() {
$lang = wptour_get_current_language();
if ($lang === 'en') {
echo '<p>Hello! This is English content.</p>';
} else {
echo '<p>Привет! Это контент на русском.</p>';
}
}
Этот код можно добавить в файл functions.php вашей темы или в отдельный плагин. Он позволяет выводить контент в зависимости от текущего языка.
Автоматическое перенаправление на язык пользователя
Если вы хотите автоматически перенаправлять посетителей на версию сайта на их языке, можно использовать следующий пример:
function wptour_redirect_to_browser_language() {
if (is_admin() || isset($_COOKIE['wptour_lang_redirect'])) {
return;
}
$browser_lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);
$available_langs = pll_languages_list();
if (in_array($browser_lang, $available_langs)) {
$current_lang = pll_current_language();
if ($current_lang !== $browser_lang) {
setcookie('wptour_lang_redirect', 1, time() + 3600, COOKIEPATH, COOKIE_DOMAIN);
wp_redirect(pll_home_url($browser_lang));
exit;
}
}
}
add_action('template_redirect', 'wptour_redirect_to_browser_language');
Этот код определяет язык браузера пользователя и если он отличается от языка текущей версии сайта, выполняет редирект на соответствующую страницу. Чтобы избежать бесконечных циклов, редирект делается один раз в час через cookie.
Советы по управлению многоязычным сайтом и бэкапам
При работе с многоязычными сайтами важно регулярно создавать резервные копии, так как количество контента и связей возрастает. Для автоматизации бэкапов можно использовать плагин Expert Review или другие решения.
Также рекомендуем тестировать обновления Polylang и других плагинов в отдельной тестовой среде, чтобы избежать конфликтов и сбоев.
Полезные плагины для улучшения многоязычности сайта
- Polylang Pro — расширенные функции перевода, например, синхронизация переводов и поддержка WooCommerce.
- Clearfy Pro — оптимизация сайта и управление контентом, в том числе для мультиязычных проектов.
- Expert Review — автоматизация резервных копий и мониторинг состояния сайта.
Использование этих инструментов вместе с Polylang позволит создать мощный и удобный многоязычный сайт на WordPress с минимальными усилиями.