Автоматический перевод контента в WordPress с помощью ChatGPT

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

Почему использовать ChatGPT для автоматического перевода в WordPress

ChatGPT — это продвинутый ИИ-модель, которая умеет не только генерировать текст, но и качественно переводить его между языками. Преимущества использования ChatGPT для перевода:

  • Динамическое создание перевода без необходимости хранить отдельные версии постов.
  • Поддержка множества языков и адаптация перевода под контекст.
  • Возможность интеграции по API, что обеспечивает гибкость и автоматизацию.
  • Экономия времени и ресурсов по сравнению с ручным переводом и классическими плагинами.

Такой подход особенно актуален для сайтов с большим объемом контента и частыми обновлениями.

Подготовка к интеграции ChatGPT в WordPress

Для реализации нам потребуется:

  1. API-ключ OpenAI — необходимо зарегистрироваться на платформе OpenAI и получить ключ.
  2. Создать плагин или добавить функционал в functions.php вашей темы для обращения к API.
  3. Обработать перевод с помощью AJAX-запросов, чтобы не блокировать загрузку страницы.

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

Пример базового запроса к ChatGPT для перевода текста

function wpgpt_translate_text($text, $target_language) {
    $api_key = 'ВАШ_API_КЛЮЧ_OPENAI';
    $endpoint = 'https://api.openai.com/v1/chat/completions';

    $messages = [
        [
            'role' => 'system',
            'content' => 'Ты ассистент, который переводит текст на ' . $target_language . '.'
        ],
        [
            'role' => 'user',
            'content' => 'Переведи на ' . $target_language . ': ' . $text
        ]
    ];

    $data = [
        'model' => 'gpt-4',
        'messages' => $messages,
        'temperature' => 0.3
    ];

    $response = wp_remote_post($endpoint, [
        'headers' => [
            'Content-Type' => 'application/json',
            'Authorization' => 'Bearer ' . $api_key
        ],
        'body' => json_encode($data),
        'timeout' => 15
    ]);

    if (is_wp_error($response)) {
        return false;
    }

    $body = json_decode(wp_remote_retrieve_body($response), true);

    if (isset($body['choices'][0]['message']['content'])) {
        return trim($body['choices'][0]['message']['content']);
    }

    return false;
}

В этом коде реализована функция wpgpt_translate_text, которая принимает исходный текст и язык перевода, отправляет запрос к API OpenAI и возвращает переведенный текст.

Добавление автоматического перевода на фронтенде с AJAX

Чтобы пользователь мог переключать язык без перезагрузки страницы, реализуем AJAX-запрос и кнопку переключения.

Шаг 1. Добавляем обработчик AJAX в WordPress

add_action('wp_ajax_wpgpt_translate', 'wpgpt_ajax_translate_handler');
add_action('wp_ajax_nopriv_wpgpt_translate', 'wpgpt_ajax_translate_handler');

function wpgpt_ajax_translate_handler() {
    if (!isset($_POST['text']) || !isset($_POST['lang'])) {
        wp_send_json_error('Отсутствуют параметры');
    }

    $text = sanitize_text_field(wp_unslash($_POST['text']));
    $lang = sanitize_text_field(wp_unslash($_POST['lang']));

    $translated = wpgpt_translate_text($text, $lang);

    if ($translated === false) {
        wp_send_json_error('Ошибка перевода');
    } else {
        wp_send_json_success(['translated' => $translated]);
    }
}

Шаг 2. Добавляем кнопку и скрипт на страницу

function wpgpt_enqueue_scripts() {
    wp_enqueue_script('wpgpt-translate', plugin_dir_url(__FILE__) . 'js/wpgpt-translate.js', ['jquery'], null, true);
    wp_localize_script('wpgpt-translate', 'wpgptAjax', [
        'ajaxurl' => admin_url('admin-ajax.php'),
        'nonce' => wp_create_nonce('wpgpt_nonce')
    ]);
}
add_action('wp_enqueue_scripts', 'wpgpt_enqueue_scripts');

В файле wpgpt-translate.js:

jQuery(document).ready(function($) {
    $('#wpgpt-translate-button').click(function() {
        var originalText = $('#wpgpt-original-text').text();
        var targetLang = $('#wpgpt-language-select').val();

        $.post(wpgptAjax.ajaxurl, {
            action: 'wpgpt_translate',
            text: originalText,
            lang: targetLang,
            _ajax_nonce: wpgptAjax.nonce
        }, function(response) {
            if (response.success) {
                $('#wpgpt-translated-text').text(response.data.translated);
            } else {
                alert('Ошибка: ' + response.data);
            }
        });
    });
});

HTML-разметка для вывода текста и управления:

<div>
    <div id="wpgpt-original-text">Пример текста для перевода</div>
    <select id="wpgpt-language-select">
        <option value="en">Английский</option>
        <option value="de">Немецкий</option>
        <option value="fr">Французский</option>
    </select>
    <button id="wpgpt-translate-button">Перевести</button>
    <div id="wpgpt-translated-text"></div>
</div>

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

Чтобы не перегружать API и не тратить лишние средства, рекомендуется сохранять результаты перевода в мета-поля постов или transient-кэш. Пример сохранения результата перевода в мета-поле:

function wpgpt_get_cached_translation($post_id, $lang) {
    return get_post_meta($post_id, '_wpgpt_translation_' . $lang, true);
}

function wpgpt_set_cached_translation($post_id, $lang, $text) {
    update_post_meta($post_id, '_wpgpt_translation_' . $lang, $text);
}

Перед вызовом API сначала проверяйте, есть ли уже сохранённый перевод. Если есть — используйте его.

Использование плагина Clearfy Pro для оптимизации и безопасности API-запросов

Для защиты API-ключа и ускорения сайта можно использовать плагин Clearfy Pro. Он позволяет настроить правила кеширования, защитить wp-admin и ограничить доступ к REST API, что повысит безопасность интеграции.

Выводы и рекомендации по использованию ChatGPT для перевода

Интеграция ChatGPT в WordPress для автоматического перевода — мощное решение, позволяющее быстро и качественно расширять аудиторию сайта. Главное — грамотно реализовать функционал с учетом производительности и безопасности, использовать кэширование и контролировать расходы на API.

Дальнейшие шаги могут включать:

  • Создание виджета переключения языков с динамической подгрузкой перевода.
  • Автоматический перевод новых постов при публикации.
  • Интеграцию с другими сервисами и плагинами, например, WP Community или Expert Review, для адаптации интерфейса под разные языки.

Такой подход сделает ваш сайт по-настоящему многоязычным с минимальными затратами времени и ресурсов.

Автоматическое создание контактной формы с помощью WordPress хуков
22.11.2025
Автоматический перевод постов в WordPress с помощью ChatGPT
02.01.2026
WooCommerce: автоматическое изменение заказов при изменении стоимости доставки
30.04.2026
Как создать автоматический генератор категорий в WordPress с поддержкой GPT
26.02.2026
Как добавить обсуждения в REST API WordPress с поддержкой GPT
25.01.2026