wplang.ru wordpress WP Lang

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

Введение в работу WooCommerce на многоязычных сайтах

WooCommerce — ведущий плагин для создания интернет-магазинов на WordPress, позволяющий быстро запустить полноценный eCommerce-проект. Однако при работе с многоязычными сайтами возникают особенности, связанные с переводом товаров, описаний, атрибутов и других элементов.

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

Выбор плагина для мультиязычности WooCommerce

WPML — стандарт для WooCommerce

WPML — один из самых распространённых плагинов для мультиязычности, который отлично интегрируется с WooCommerce. Он позволяет переводить все элементы магазина, включая товары, категории, атрибуты и даже электронные письма.

Для начала работы:

  • Установите и активируйте WPML и WooCommerce Multilingual.
  • Настройте языки и переводы товаров через WPML -> WooCommerce Multilingual.

WPML автоматически создаёт версии товаров для каждого языка и синхронизирует запасы и цены.

Polylang + Polylang for WooCommerce

Другой популярный вариант — Polylang. Для работы с WooCommerce понадобится расширение Polylang for WooCommerce, которое обеспечивает перевод товаров и атрибутов.

Однако у Polylang меньше функционала по сравнению с WPML в части сложных сценариев синхронизации.

Практические советы по переводу товаров и атрибутов

Перевод пользовательских полей и атрибутов

Чтобы корректно переводить дополнительные поля, например, созданные с помощью ACF, используйте следующие хуки:

function wplang_translate_woocommerce_custom_fields( $product_id, $language ) {
    // Получаем значение поля на основном языке
    $value = get_post_meta( $product_id, '_custom_field', true );
    // Сохраняем для перевода
    update_post_meta( $product_id, '_custom_field_' . $language, $value );
}
add_action( 'woocommerce_update_product', 'wplang_translate_woocommerce_custom_fields', 10, 2 );

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

Автоматический перевод описаний товаров

Для автоматического перевода можно использовать сервисы на базе API, например, Google Translate или Yandex. Ниже пример функции, которая интегрирует перевод с помощью API Google Translate при сохранении товара:

function wplang_auto_translate_product_description( $post_id ) {
    if ( get_post_type( $post_id ) !== 'product' ) return;

    $description = get_post_field( 'post_content', $post_id );
    // Здесь должен быть вызов API перевода (псевдокод)
    $translated = wplang_google_translate_api( $description, 'en', 'ru' );

    // Сохраняем переведённое описание для языка ru
    update_post_meta( $post_id, '_translated_description_ru', $translated );
}
add_action( 'save_post', 'wplang_auto_translate_product_description' );

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

Оптимизация URL и SEO для многоязычного WooCommerce

ЧПУ и перевод слагов товаров

Очень важно перевести URL (слаги) товаров и категорий, чтобы улучшить SEO и удобство пользователей. WPML и Polylang поддерживают перевод слагов, но иногда это требует ручной доработки.

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

function wplang_set_translated_product_slug( $post_id ) {
    if ( get_post_type( $post_id ) !== 'product' ) return;

    $lang = apply_filters( 'wpml_current_language', NULL );
    $title = get_the_title( $post_id );
    $slug = sanitize_title( $title );

    // Обновляем слаг
    wp_update_post( array(
        'ID' => $post_id,
        'post_name' => $slug . '-' . $lang
    ) );
}
add_action( 'save_post', 'wplang_set_translated_product_slug' );

Таким образом можно добавлять языковой суффикс для уникальности и понятности URL.

Настройка hreflang для правильной индексации

Для многоязычных сайтов важно корректно указать теги hreflang, чтобы поисковики понимали, на каком языке доступна страница. Многие SEO-плагины и WPML делают это автоматически, но при кастомных решениях можно добавить вручную:

function wplang_add_hreflang_tags() {
    if ( !is_product() ) return;

    $languages = apply_filters( 'wpml_active_languages', NULL );
    foreach ( $languages as $lang ) {
        echo '<link rel="alternate" hreflang="' . esc_attr( $lang['code'] ) . '" href="' . esc_url( $lang['url'] ) . '" />';
    }
}
add_action( 'wp_head', 'wplang_add_hreflang_tags' );

Решение типовых проблем при работе WooCommerce с мультиязычностью

Проблема: несоответствие цен и наличия на разных языках

Часто встречается ситуация, когда цены или наличие товара не синхронизированы между языковыми версиями. Чтобы этого избежать, используйте функции синхронизации в WPML WooCommerce Multilingual, или добавьте собственный код:

function wplang_sync_product_stock_price( $product_id ) {
    $translations = apply_filters( 'wpml_get_element_translations', NULL, $product_id, 'post_product' );
    $stock = get_post_meta( $product_id, '_stock', true );
    $price = get_post_meta( $product_id, '_price', true );

    foreach ( $translations as $translation ) {
        if ( $translation->element_id != $product_id ) {
            update_post_meta( $translation->element_id, '_stock', $stock );
            update_post_meta( $translation->element_id, '_price', $price );
        }
    }
}
add_action( 'woocommerce_update_product', 'wplang_sync_product_stock_price' );

Проблема: дублирование страниц и индексация

При неправильной настройке переводы товаров могут восприниматься поисковиками как дублированный контент. Используйте canonical URL и hreflang, а также настройте SEO-плагины для поддержки мультиязычности.

Рекомендуется использовать Clearfy Pro для оптимизации SEO и устранения дублирующегося контента на WooCommerce.

Дополнительные плагины для улучшения мультиязычного WooCommerce

  • WPGPT — для автоматического перевода описаний товаров с помощью искусственного интеллекта, интегрируется с WooCommerce.
  • My Popup — позволяет создавать всплывающие окна на разных языках для акции и уведомлений.
  • Expert Review — сбор отзывов клиентов на разных языках с возможностью автоматического перевода.

Заключение

WooCommerce отлично подходит для многоязычных интернет-магазинов при правильной настройке и использовании специализированных плагинов. Ключ к успеху — грамотный перевод товаров, атрибутов, удобные URL и оптимизация SEO. Используйте WPML или Polylang с расширениями, автоматизируйте перевод с помощью WPGPT и следите за синхронизацией данных.

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

×
WordPress
дай сайту суперсилу!

Скидки на топовые темы и плагины

Активировать суперсилу ⋙