Как создать автоматический мультиязычный сайт на WordPress без использования полиглотов

Большинство сайтов на WordPress нуждаются в поддержке нескольких языков, особенно если аудитория международная. Традиционно для этого используют плагины-полиглоты, такие как WPML или Polylang. Но они требуют много ручной работы и настройки. В этой статье мы рассмотрим, как создать автоматический мультиязычный сайт на WordPress, используя плагины с функцией автоматического перевода и собственные решения для интеграции с API машинного перевода.

Почему автоматический мультиязычный сайт — это удобно

Автоматический перевод контента позволяет значительно сэкономить время и бюджет на локализацию сайта. Вместо создания копий постов на разных языках и ручного редактирования можно настроить динамический перевод. Такой подход идеален для блогов с большим количеством статей или новостных ресурсов.

Однако у автоматического перевода есть свои нюансы: качество перевода может быть ниже, чем у профессионального локализатора, а также возникают вопросы SEO и правильной индексации.

Далее мы разберём, как решить эти задачи на практике с помощью WordPress.

Выбор плагина для автоматического перевода: обзор и рекомендации

Плагин TranslatePress с интеграцией Google Translate API

TranslatePress — удобный плагин для перевода WordPress-сайтов, который поддерживает как ручной перевод, так и автоматический с помощью Google Translate API. Для автоматического перевода нужно подключить API ключ и включить соответствующую опцию.

Преимущества TranslatePress:

  • Простая настройка и визуальный редактор перевода.
  • Поддержка SEO для мультиязычных сайтов.
  • Автоматический перевод с возможностью редактирования.

Недостатки:

  • Связь с внешним API, возможны задержки при загрузке страниц.
  • Платные функции для более продвинутых опций.

Плагин GTranslate — готовое решение для автоматического перевода

GTranslate — один из самых популярных плагинов, который использует Google Translate для автоматического перевода контента и переключения языков.

Особенности GTranslate:

  • Автоматический перевод всего сайта без дополнительной настройки.
  • Возможность SEO-оптимизации (в платной версии).
  • Поддержка более 100 языков.

Минусы — в бесплатной версии перевод может быть некачественным, а SEO-оптимизация ограничена.

Как интегрировать автоматический перевод с помощью собственного кода и API Google Translate

Если вы хотите более гибко управлять процессом и не зависеть от готовых решений, можно написать собственный код для перевода динамического контента с помощью Google Cloud Translation API.

Пример функции для перевода текста через Google API:

function wpstuff_translate_text($text, $target_language = 'en') {
    $apiKey = 'ВАШ_GOOGLE_CLOUD_API_KEY';
    $url = 'https://translation.googleapis.com/language/translate/v2?key=' . $apiKey;

    $fields = array(
        'q' => $text,
        'target' => $target_language,
    );

    $fields_string = http_build_query($fields);

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $fields_string);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

    $response = curl_exec($ch);
    curl_close($ch);

    $responseDecoded = json_decode($response, true);

    if (isset($responseDecoded['data']['translations'][0]['translatedText'])) {
        return $responseDecoded['data']['translations'][0]['translatedText'];
    }
    return $text;
}

Эту функцию можно использовать для перевода заголовков, описаний и контента динамически при загрузке страницы. Для оптимизации стоит кэшировать переводы, чтобы не перегружать API и ускорить загрузку.

Реализация динамической подгрузки перевода на фронтенде

Для лучшего UX можно подгружать переводы через AJAX без перезагрузки страницы. Пример использования AJAX для перевода текста:

add_action('wp_ajax_wpstuff_translate_ajax', 'wpstuff_translate_ajax_callback');
add_action('wp_ajax_nopriv_wpstuff_translate_ajax', 'wpstuff_translate_ajax_callback');

function wpstuff_translate_ajax_callback() {
    $text = isset($_POST['text']) ? sanitize_text_field($_POST['text']) : '';
    $lang = isset($_POST['lang']) ? sanitize_text_field($_POST['lang']) : 'en';

    $translated = wpstuff_translate_text($text, $lang);
    wp_send_json_success(array('translated' => $translated));
}

На стороне JavaScript можно отправлять запросы для перевода нужных элементов, что позволит быстро менять язык без перезагрузки.

SEO и индексация мультиязычного сайта с автоматическим переводом

Очень важно правильно организовать SEO для мультиязычного сайта, чтобы поисковые системы корректно индексировали все версии страниц. Рекомендуется:

  • Использовать hreflang-теги для указания языковых версий.
  • Разделять языки по поддоменам или подкаталогам, например, site.ru/en/ и site.ru/ru/.
  • Генерировать отдельные URL для каждого языка, даже если перевод автоматический.

Плагин TranslatePress и GTranslate в платных версиях поддерживают эти функции из коробки. При самостоятельной реализации нужно добавить эти теги вручную или через хуки WordPress.

Кэширование переводов для повышения производительности

Автоматический перевод при каждом запросе значительно увеличит время загрузки. Чтобы избежать этого, нужно кэшировать результаты перевода. Пример простой реализации кэширования с использованием Transients API:

function wpstuff_translate_text_cached($text, $target_language = 'en') {
    $cache_key = 'wpstuff_translate_' . md5($text . $target_language);
    $cached = get_transient($cache_key);
    if ($cached !== false) {
        return $cached;
    }
    $translated = wpstuff_translate_text($text, $target_language);
    set_transient($cache_key, $translated, DAY_IN_SECONDS * 7); // кэш на 7 дней
    return $translated;
}

Это значительно снизит количество запросов к API и ускорит работу сайта.

Альтернативные плагины и сервисы для автоматического перевода WordPress

Помимо TranslatePress и GTranslate, существуют и другие варианты:

  • Weglot — мощный сервис с удобным интерфейсом, но платный.
  • DeepL — API для перевода с отличным качеством, можно интегрировать самостоятельно.
  • MultilingualPress — мультисайт решение с возможностью расширения для автоматического перевода.

Выбор зависит от бюджета, требований к качеству перевода и технических возможностей.

Как избежать проблем с отключением AJAX в WooCommerce
21.02.2026
Исправление дублирующихся SKU в WooCommerce: поиск и устранение ошибок
28.04.2026
Как автоматически удалять старые черновики в WordPress
30.03.2026
Как автоматизировать создание и удаление черновиков в WordPress
10.04.2026
Как избежать ошибок PHP в WordPress при использовании плагинов
28.01.2026