Введение в работу 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 и следите за синхронизацией данных.
При необходимости кастомной логики используйте приведённые примеры кода для решения типовых задач.