Comment importer du contenu multilingue dans WordPress – WooCommerce, CSV et XML
Découvrez comment importer en masse du contenu multilingue dans WordPress. WPML attribue la bonne langue à chaque ligne et relie les traductions entre les langues. Ce guide couvre les catalogues de produits WooCommerce, les annonces immobilières, les flux d’événements et toute importation de contenu basée sur une feuille de calcul.
Exportation et importation WPML fonctionne avec l’extension d’importation WordPress que vous utilisez déjà. L’extension d’importation déplace vos données. Exportation et importation WPML ajoute les informations de langue à la fin afin que chaque ligne atterrisse dans la bonne langue et que chaque traduction soit reliée à sa source.
Avant de commencer
Installez et activez ces extensions sur le site dans lequel vous effectuez l’importation :
- Une extension d’importation : WP All Import Pro, WP All Export Pro, l’importateur CSV natif de WooCommerce ou l’importateur standard de WordPress.
- WPML et WPML Traduction de chaînes.
- Exportation et importation WPML (le module complémentaire couvert par cette page).
- WPML Multilingual & Multicurrency for WooCommerce si vous importez des produits WooCommerce.
Sur le site d’importation, configurez WPML avec chaque langue que vous prévoyez d’importer. Les langues cibles doivent déjà exister dans WPML → Paramètres → Langues avant d’exécuter l’importation.
Deux chemins – choisissez celui qui correspond à votre source
Il existe deux chemins d’importation, selon la provenance des données multilingues :
- Extension d’importation prise en charge. Si vous déplacez du contenu depuis un site WordPress existant avec WP All Export Pro (ou un autre outil d’exportation pris en charge), Exportation et importation WPML est déjà dans le fichier d’exportation – les informations de langue sont incluses automatiquement. Passez à l’étape Exécuter l’importation WPML ci-dessous.
- CSV ou XML personnalisé. Si vous gérez des données multilingues dans une feuille de calcul ou si votre source est un système non WordPress (PIM, MLS, ERP, plateforme de réservation), vous ajouterez manuellement trois colonnes de langue à votre fichier. Passez à Préparez votre CSV ou XML ci-dessous.
Préparez votre CSV ou XML avec trois colonnes de langue
Pour les importations personnalisées, ajoutez trois colonnes à chaque ligne de votre feuille de calcul. C’est ainsi que WPML associe les traductions et balise chaque ligne avec la bonne langue :
_wpml_import_translation_group. Une valeur unique partagée par toutes les versions linguistiques d’un même contenu. Pour les produits, utilisez le SKU. Pour tout le reste, générez votre propre ID et réutilisez-le pour la ligne source et chacune de ses traductions._wpml_import_language_code. Le code de langue ISO pour la ligne (enpour l’anglais,espour l’espagnol,frpour le français,pt-ptpour le portugais européen, etc.)._wpml_import_source_language_code. Uniquement sur les lignes de traduction ; le code de langue de l’original. Laissez-le vide pour les lignes de la langue source.
Pour WP All Import Pro et les outils similaires, préparez deux feuilles de calcul : une pour les taxonomies (catégories, étiquettes, catégories de produits), une pour les articles et les produits. L’importateur CSV natif de WooCommerce prend une seule feuille de calcul, car les catégories de produits se trouvent dans les lignes de produits.
Attributs WooCommerce personnalisés pour les produits variables
Si vous avez des produits variables avec des attributs personnalisés, ajoutez une quatrième colonne aux lignes de produits traduits : _wpml_import_wc_local_attribute_labels. La valeur est un objet JSON de paires slug:translation. Pour un produit variable français avec les attributs Size et Color :
{"size":"Taille","color":"Couleur"}
Le slug est le nom de l’attribut en minuscules avec les espaces remplacés par des tirets.
Ordre d’importation
Importez toujours les taxonomies en premier lorsque vous avez un fichier séparé pour elles. Les catégories, les étiquettes et toutes les autres taxonomies doivent exister avant que les articles et les produits puissent y faire référence. Importez ensuite les articles, les pages, les produits et les autres types de publication.
Si vous divisez vos données en un fichier par langue, importez chaque fichier de langue avant d’exécuter l’étape de liaison de WPML.
Mappez les colonnes de langue dans votre extension d’importation
Chaque extension d’importation gère les colonnes personnalisées à sa manière. L’étape critique consiste à mapper les trois colonnes WPML aux champs personnalisés (ou métadonnées de terme, pour les taxonomies). Dans WP All Import Pro, cela se passe à l’Étape 3 de l’assistant d’importation :
- Pour les articles et les produits. Ouvrez Champs personnalisés, ajoutez trois champs, faites glisser les colonnes de langue vers les cases Value, et utilisez les noms de colonnes sans crochets dans les cases Name.
- Pour les taxonomies. Ouvrez Métadonnée de terme, ajoutez trois champs de métadonnée de terme, et mappez les colonnes de langue de la même manière.
Si les colonnes ne sont pas mappées, WPML n’a rien à lire lorsque vous exécutez l’étape de liaison.
Ce que vous verrez entre l’importation et l’étape de liaison
Tant que vous n’exécutez pas Exportation et importation WPML, tout le contenu importé se trouve sous votre langue par défaut, et WPML conserve automatiquement les articles et les produits avec le statut Brouillon pour éviter que du contenu en plusieurs langues ne s’affiche sur l’interface publique. Il s’agit de l’état intermédiaire attendu, et non du signe d’un échec de l’importation.
Pour les extensions d’importation non prises en charge, vous devrez publier les articles manuellement une fois l’étape de liaison terminée.
Exécutez l’importation WPML
Une fois que l’extension d’importation a terminé :
- Ouvrez WPML → Exportation et importation dans l’interface d’administration de WordPress.
- Cliquez sur Exécuter l’importation WPML.
WPML lit les colonnes de langue de chaque ligne, attribue la langue à cette ligne et relie les traductions à leur source. Sur les grands catalogues, cela peut prendre plusieurs minutes. Une fois terminé, votre contenu importé est publié dans la bonne langue avec chaque traduction connectée à sa source.
Faites une vérification ponctuelle sur le back-end et l’interface publique :
- Ouvrez la liste des types de publication ou des produits – confirmez que chaque ligne s’affiche sous le bon drapeau de langue.
- Visitez l’interface publique et changez de langue – chaque page traduite doit charger sa version traduite, et non revenir à la source.
Si la traduction d’une taxonomie ne s’est pas reliée, ouvrez le terme dans l’interface d’administration de WordPress et utilisez la boîte Langues du terme pour le connecter au terme de la langue par défaut.
Automatisez le processus – exécutez l’importation WPML après chaque importation planifiée
Pour les synchronisations nocturnes, les flux de fournisseurs ou toute importation planifiée, l’étape de liaison de WPML peut s’exécuter automatiquement juste après la fin de l’extension d’importation. Il existe trois façons de configurer cela :
Option 1 – Point de terminaison POST (pour les importations basées sur Cron comme WP All Import Scheduled Actions)
C’est la méthode recommandée. Ajoutez une clé secrète forte à wp-config.php :
define( 'WPML_IMPORT_KEY', 'your-strong-secret-key-here' );
Ajoutez ensuite une deuxième commande à votre configuration d’importation planifiée. Elle envoie une requête POST à votre site et transmet la clé dans le corps de la requête :
curl -X POST https://yoursite.com/ \
-d 'wpml_import_trigger=your-strong-secret-key-here'
Le même appel avec wget :
wget -q -O - \
--post-data='wpml_import_trigger=your-strong-secret-key-here' \
https://yoursite.com/
Pour la planification manuelle de WP All Import Pro, ajoutez l’une ou l’autre commande juste après la commande d’importation.
Lorsque l’étape de liaison s’exécute, votre site répond avec le statut 200 et ce message :
Import process completed
Deux autres réponses vous indiquent ce qui s’est passé : 401 signifie que la clé ne correspond pas, et 204 signifie qu’il ne restait plus rien à traiter.
Option 2 – Point de terminaison d’URL (obsolète)
Avant Exportation et importation WPML 1.2.0, vous transmettiez la clé dans l’URL :
https://yoursite.com/?wpml_import_trigger=your-strong-secret-key-here
Cette URL fonctionne toujours, vos tâches cron actuelles continuent donc de s’exécuter. Elle est obsolète et WPML la supprimera dans la prochaine version majeure.
La raison est la clé. Une URL voyage à travers les journaux du serveur, l’historique du navigateur et les outils d’analyse, et votre clé voyage avec elle. Une requête POST conserve la clé dans le corps de la requête. Déplacez vos importations planifiées vers l’appel POST de l’Option 1.
Option 3 – Hook d’action (pour les importations planifiées en PHP)
Si vous planifiez des importations depuis PHP avec Action Scheduler ou wp_schedule_single_event, déclenchez l’étape WPML avec un appel d’action :
do_action( 'wpml_import_process' );
Pour l’exécuter comme une tâche en arrière-plan ponctuelle juste après votre action d’importation :
wp_schedule_single_event( time(), 'wpml_import_process' );
Si quelque chose échoue dans l’un de ces chemins, activez WP_DEBUG_LOG dans wp-config.php pour capturer l’erreur dans le journal des erreurs PHP.
Exécutez l’importation WPML depuis la ligne de commande
Pour les scripts de déploiement, les builds de conteneurs ou tout pipeline où l’interface d’administration n’est pas disponible, exécutez l’étape de liaison depuis WP-CLI :
wp wpml import process
La commande signale combien de traductions ont été connectées. C’est un remplacement direct du bouton Exécuter l’importation WPML.
Pièges courants
- Il manque les trois colonnes de langue au fichier d’importation. Le contenu est importé mais atterrit sous forme de lignes de langue source non balisées ; Exécuter l’importation WPML n’a rien à relier. Solution : ajoutez les colonnes à vos données sources, réexportez et réimportez.
- Le mappage Champs personnalisés / Métadonnée de terme de WP All Import a été ignoré. Même problème que les colonnes manquantes. Les données sont dans le fichier mais l’extension d’importation ne les a pas stockées sur l’article. Réexécutez l’importation avec les champs mappés.
- Les langues cibles ne sont pas configurées sur le site d’importation. Les lignes importées pour une langue non configurée atterrissent dans la langue par défaut. Ajoutez d’abord les langues manquantes dans WPML → Paramètres → Langues, puis réexécutez.
- Extension d’importation non prise en charge. Les articles importés restent en Brouillon après l’étape de liaison. Publiez-les manuellement, ou passez à une extension prise en charge.
- Scripts d’importation personnalisés qui ne transmettent pas les données de langue. Le correctif se situe au niveau du script. Les trois colonnes de langue (et la colonne d’attribut WooCommerce le cas échéant) doivent atteindre la ligne.
Si les importations continuent de buter sur le même problème, l’équipe d’assistance de WPML répond aux questions d’importation 24 h/24 et 7 j/7.
Si vous cherchiez l’extension WPML All Import
WPML All Import est l’ancienne extension qui précède Exportation et importation WPML. Elle n’est plus prise en charge ni recommandée. La procédure ci-dessus est la méthode actualisée pour importer du contenu multilingue dans un site WordPress – utilisez-la au lieu de tout flux de travail décrit dans la documentation de l’ancienne extension.
Rédigé par Amir · Dernière mise à jour le 2 juillet 2026
Écrit par Amir · Dernière mise à jour 2 juillet 2026