Comment importer du contenu multilingue dans WordPress – WooCommerce, CSV et XML
Découvrez comment importer en masse du contenu multilingue dans WordPress à l’aide de l’extension Exportation et importation WPML. WPML attribue la bonne langue à chaque ligne (articles, pages, types de publication personnalisés, taxonomies, produits WooCommerce et leurs variations) et relie les traductions entre les langues. Cela fonctionne avec n’importe quelle source : un autre site WordPress, une feuille de calcul ou un système externe comme un PIM ou une plateforme de réservation.
Introduction
Pourquoi cette extension
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.
Intégrations
Exportation et importation WPML fonctionne avec ces outils d’exportation et d’importation :
- WP All Export Pro et WP All Import Pro : exportez depuis un site WordPress avec les informations de langue incluses automatiquement, et importez des articles, des produits et des taxonomies à partir de fichiers CSV ou XML.
- L’outil d’exportation/importation intégré de WooCommerce (ProduitsExporter et ProduitsImporter) : déplace les produits via un seul fichier CSV, avec les informations de langue incluses dans l’exportation.
- L’outil d’exportation/importation intégré de WordPress : déplace les articles, les pages et les types de publication personnalisés via des fichiers WXR.
- L’extension WP Import Export.
- Pipelines CSV ou XML personnalisés : tout outil capable d’ajouter les colonnes de langue à ses lignes.
Héritage : 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 décrite sur cette page est la méthode la plus récente pour importer du contenu multilingue dans un site WordPress. Utilisez-la à la place de tout flux de travail décrit dans la documentation de l’ancienne extension.
Exportation : obtenez votre fichier d’importation
Tout ce que vous importez commence sous la forme d’un fichier. Il existe deux façons d’en obtenir un :
- L’exporter depuis un site WordPress. Utilisez un outil d’exportation pris en charge et les informations de langue l’accompagnent automatiquement.
- Le préparer vous-même. Vos données se trouvent dans une feuille de calcul ou un système externe (PIM, MLS, ERP, plateforme de réservation), et vous ajoutez manuellement les colonnes de langue au fichier. Consultez Préparer votre propre fichier dans la section Importation.
Configuration
Lorsque vous exportez depuis un site WordPress, installez et activez sur celui-ci :
- WP All Export Pro (ou un autre outil d’exportation pris en charge).
- Exportation et importation WPML : elle ajoute les informations de langue à chaque ligne exportée.
Lorsque vous préparez le fichier vous-même, il n’y a rien à installer ; le travail se fait dans le fichier lui-même.
Exécuter l’exportation
Exportez votre contenu WordPress avec l’outil d’exportation de votre choix. Avec Exportation et importation WPML activée, le fichier d’exportation contient déjà les colonnes de langue pour chaque ligne. Il n’y a rien à ajouter manuellement. Continuez avec la section Importation.
Importation : intégrez vos données
Configuration
Installez et activez ces extensions sur le site vers lequel vous importez :
- Une extension d’importation : WP All Import Pro, l’outil d’importation intégré de WooCommerce, l’outil d’importation intégré de WordPress ou WP Import Export.
- 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.
Configurez WPML avec chaque langue que vous prévoyez d’importer. Les langues cibles doivent déjà exister dans WPMLParamètresLangues avant d’exécuter l’importation.
L’assistant de première importation
La première fois que vous ouvrez WPMLExportation et importation, un court assistant vous demande si vous exportez le contenu depuis ce site ou depuis un autre site web ou système.

Lorsque vous exportez depuis ce site, l’assistant vous demande également quel outil vous utilisez : les outils d’exportation/importation intégrés de WordPress ou de WooCommerce, WP All Export et WP All Import, WP Import Export ou une autre méthode.

En fonction de vos réponses, la page affiche un guide en trois étapes adapté à votre configuration : comment votre contenu obtient ses colonnes de langue (automatiquement pour les outils pris en charge, manuellement sinon), l’importation elle-même, et le rappel de revenir et d’exécuter l’importation WPML. Une fois qu’elle détecte du contenu importé avec des informations de langue, la page indique combien d’articles et de termes sont en attente et affiche le bouton Exécuter l’importation WPML.

Il n’y a rien d’autre à configurer : cette page constitue l’intégralité de l’interface de l’extension.
Préparer votre propre fichier : feuilles de calcul et systèmes externes
Ajoutez trois colonnes à chaque ligne de votre fichier. C’est ainsi que WPML associe les traductions entre elles 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.
Utilisez chaque valeur de groupe de traduction pour un seul contenu. WPML conserve le groupe de chaque élément qu’il connecte, même après l’importation. Une ligne que vous importez plus tard avec la même valeur de groupe rejoint les traductions de cet élément.
Deux autres colonnes sont facultatives sur les lignes d’articles et de produits :
_wpml_import_after_process_post_status. Le statut que l’article obtient après avoir cliqué sur Exécuter l’importation WPML. Utilisez un nom de statut WordPress :publish,draft,pendingouprivate. Écrivezpublish, et nonpublished._wpml_import_tea. Définissez-le sur1sur une ligne source pour envoyer cet élément à la traduction automatique. Cette colonne n’agit que lorsque le mode Tout traduire automatiquement de WPML est activé. Consultez Traduire automatiquement le contenu importé.
Laisser un assistant IA préparer le fichier
Vous n’êtes pas obligé d’ajouter ces colonnes manuellement. Fournissez votre fichier CSV ou d’exportation à un assistant IA avec une instruction telle que : « Ajoutez les colonnes d’importation WPML _wpml_import_translation_group, _wpml_import_language_code et _wpml_import_source_language_code à ce fichier. Les lignes en anglais sont les originaux ; associez chaque traduction à son original par SKU. » L’assistant remplit les trois colonnes en quelques secondes. Révisez quelques lignes avant l’importation.
Voici un exemple pratique pour des articles de blog. Le fichier possède une colonne language, et une colonne original avec le titre de l’article en anglais qu’une ligne traduit :
title,content,language,original
Summer Sale,Our summer sale starts on June 1.,English,
Soldes d'été,Nos soldes commencent le 1er juin.,French,Summer Sale
L’instruction pour ce fichier :
Ajoutez les colonnes _wpml_import_translation_group, _wpml_import_language_code et _wpml_import_source_language_code à ce fichier CSV. Les lignes en anglais sont les originaux. Pour chaque ligne en anglais, créez un identifiant court à partir de son titre et utilisez-le comme groupe de traduction. Donnez à chaque traduction le groupe de la ligne en anglais que sa colonne d’origine nomme. Utilisez les codes de langue en et fr. Laissez la langue source vide sur les lignes en anglais, et définissez-la sur en pour les traductions.
Le résultat, avec le contenu raccourci :
title,content,language,original,_wpml_import_translation_group,_wpml_import_language_code,_wpml_import_source_language_code
Summer Sale,...,English,,summer-sale,en,
Soldes d'été,...,French,Summer Sale,summer-sale,fr,en
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’outil d’importation intégré 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 colonne supplémentaire aux lignes de produits traduites : _wpml_import_wc_local_attribute_labels. La valeur est un objet JSON de paires slug:translation. Pour un produit variable en français avec les attributs Taille et Couleur :
{"size":"Taille","color":"Couleur"}
Le slug est le nom de l’attribut en minuscules, avec les espaces remplacés par des tirets.
Importer d’abord les taxonomies, puis les articles
Lorsque vous avez un fichier séparé pour les taxonomies, importez-le toujours en premier. 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 contenu.
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.
Vous n’exécutez l’importation WPML qu’une seule fois, après que tout a été importé. L’étape de liaison traite les taxonomies avant les articles, puis reconnecte chaque article aux termes dans sa propre langue. Ainsi, les articles qui ont été importés alors que les termes n’étaient pas encore liés ressortent attachés aux termes de la bonne langue.
Mettre en correspondance 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 à faire correspondre les trois colonnes WPML aux champs personnalisés (ou aux 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 Custom Fields, ajoutez trois champs, faites glisser les colonnes de langue dans les cases Value, et utilisez les noms de colonnes sans crochets dans les cases Name.
- Pour les taxonomies. Ouvrez Term Meta, ajoutez trois champs de métadonnées de terme, et faites correspondre les colonnes de langue de la même manière.

Si les colonnes ne sont pas mises en correspondance, 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
Jusqu’à ce que vous exécutiez Exportation et importation WPML, tout le contenu importé se trouve sous votre langue par défaut, et WPML maintient automatiquement les articles et les produits au statut Brouillon pour éviter que du contenu multilingue n’apparaisse sur le front-end. Il s’agit de l’état intermédiaire attendu, et non du signe d’un échec de l’importation. Après l’étape de liaison, le contenu est publié (ou défini sur le statut que vous avez indiqué dans la colonne _wpml_import_after_process_post_status).

Pour les extensions d’importation non prises en charge, vous devrez publier les articles manuellement une fois l’étape de liaison terminée.
Exécuter l’importation WPML
Une fois que l’extension d’importation a terminé :
- Ouvrez WPMLExportation 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 le front-end :
- Ouvrez la liste des types de publication ou des produits : confirmez que chaque ligne s’affiche sous le drapeau de la bonne langue.
- Visitez le front-end et changez de langue : chaque page traduite doit charger sa version traduite, et non se rabattre sur la source.

Si la traduction d’une taxonomie ne s’est pas lié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.
Ce que l’importation WPML ne couvre pas
L’importation WPML définit la langue de chaque élément et connecte ses traductions. Elle ne modifie pas les autres contenus. Vérifiez les points suivants après l’importation :
- Pages parentes, menus et articles mis en avant. WPML n’ajuste pas le parent d’une page traduite, n’ajoute pas les éléments importés aux menus et ne copie pas le paramètre de mise en avant entre les langues.
- Liens et ID d’images dans le contenu. WPML ne modifie pas les liens, les ID d’images ni les champs d’images dans le contenu importé. Modifiez-les dans la traduction.
- Champs copiés. L’importation WPML connecte les traductions, mais elle ne copie pas les champs tels que le prix ou le stock de l’original vers les traductions. Pour les copier après une importation de mise à jour, ouvrez l’original et enregistrez-le à nouveau.
- WooCommerce Bookings. Les produits réservables sont importés sans leurs types de personnes (enfant, adulte, etc.) et leurs ressources. Ajoutez les types de personnes et les ressources aux produits traduits après l’importation.
Automatisation : exécuter l’importation WPML sans cliquer
Pour les synchronisations nocturnes, les flux de fournisseurs, les pipelines de déploiement ou toute importation planifiée, l’étape de liaison de WPML peut s’exécuter sans l’interface d’administration. Il existe trois façons de configurer cela :
Point de terminaison POST (pour les importations gérées par Cron comme les actions planifiées de WP All Import)
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 de ces commandes 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 n’y avait plus rien à traiter.
L’ancien point de terminaison d’URL (supprimé dans la version 5.0.0)
Avant la version 1.2.0 d’Exportation et importation WPML, vous passiez la clé dans l’URL :
https://yoursite.com/?wpml_import_trigger=your-strong-secret-key-here
Depuis la version 5.0.0 d’Exportation et importation WPML, cette URL n’exécute plus l’importation. Une requête qui transporte la clé dans l’URL obtient le statut 405. Déplacez vos importations planifiées vers l’appel POST ci-dessus.
La raison en est la clé. Une URL voyage à travers les journaux du serveur, l’historique du navigateur et les analyses, et votre clé voyage avec elle. Une requête POST conserve la clé dans le corps de la requête.
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 seul appel d’action :
do_action( 'wpml_import_process' );
Pour l’exécuter en tant que tâche d’arrière-plan ponctuelle juste après votre action d’importation :
wp_schedule_single_event( time(), 'wpml_import_process' );
Si une importation ne se termine pas, consultez le Débogage de WPML.
WP-CLI
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 indique combien de traductions ont été connectées. Il s’agit d’un remplacement direct du bouton Exécuter l’importation WPML.
Traduire automatiquement le contenu importé
Vous pouvez demander à WPML de traduire automatiquement le contenu importé. Sans cela, vous importeriez le contenu dans une langue puis, avec le mode Tout traduire automatiquement activé, vous sélectionneriez tous les éléments importés et les enverriez vous-même en traduction, ce qui prend beaucoup de temps pour les lots importants et les importations répétées. Ajoutez plutôt une colonne supplémentaire à votre fichier :
_wpml_import_tea. Définissez sur1sur les lignes de la langue source que vous souhaitez traduire automatiquement.
Lorsque vous exécutez l’importation WPML, WPML crée des tâches de traduction automatique pour chaque article signalé, vers chacune des langues de votre site qui n’a pas encore de traduction. Les lignes pour lesquelles vous avez importé des traductions sont laissées telles quelles.
Cela nécessite que le mode Tout traduire automatiquement de WPML soit activé ; sans lui, l’indicateur est ignoré.
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 à lier. Solution : ajoutez les colonnes à vos données sources, exportez à nouveau et réimportez.
- La mise en correspondance des champs Custom Fields / Term Meta de WP All Import a été ignorée. Même résultat que pour 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 mis en correspondance.
- 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 WPMLParamètresLangues, 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. La solution se trouve au niveau du script. Les trois colonnes de langue (et la colonne d’attribut WooCommerce le cas échéant) doivent atteindre la ligne.
- Le contenu que votre propre code ajoute n’est pas conservé en Brouillon. WPML conserve le contenu en Brouillon uniquement pour les extensions d’importation prises en charge. Le contenu que votre code ajoute avec
wp_insert_post, ou une importation WooCommerce qui s’exécute depuis PHP ou WP-CLI, conserve le statut que le code lui donne. Créez vous-même le nouveau contenu en tant que brouillons, et définissez_wpml_import_after_process_post_statussurpublish. wp exportsupprime les colonnes de langue des termes. WP-CLI 2.12.0 intègre export-command 2.1.14, qui n’écrit aucune métadonnée de terme. Aprèswp import, chaque catégorie et étiquette perd ses colonnes de langue. Mettez à jour export-command vers la version 2.1.15 ou ultérieure, ou exportez depuis OutilsExporter dans l’interface d’administration de WordPress.
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 heures sur 24, 7 jours sur 7.
Cas d’utilisation
Déplacer du contenu multilingue vers un nouveau site
Le scénario le plus courant : exporter le contenu d’un site WPML et l’intégrer (en tout ou en partie) dans un autre.
- Sur le site source, installez Exportation et importation WPML à côté de votre outil d’exportation et exportez le contenu que vous souhaitez déplacer (consultez Exportation). Les colonnes de langue l’accompagnent automatiquement.
- Sur le nouveau site, terminez la Configuration de l’importation : extensions installées, chaque langue du site source configurée.
- Importez les taxonomies, puis le contenu, avec votre outil d’importation.
- Exécutez l’importation WPML. Votre contenu ressort dans les bonnes langues avec chaque traduction connectée, tout comme sur le site source.
Réinitialiser WPML et réimporter les traductions dans le même site
Considérez l’exportation comme une copie de sécurité de la liaison linguistique de votre site : la langue de chaque ligne, et quelles lignes appartiennent ensemble à un même groupe de traduction. Vous pouvez conserver cette copie à jour automatiquement (par exemple, une exportation nocturne planifiée dans votre outil d’exportation, enregistrée dans son propre fichier). Si les données de langue de WPML se retrouvent un jour dans un mauvais état, vous réinitialisez WPML et réimportez l’exportation la plus récente effectuée alors que les données étaient encore bonnes, en suivant les étapes ci-dessous. Une chose que cela ne peut pas faire : réparer une exportation effectuée après le problème. Le fichier préserve l’état dans lequel se trouvaient les données au moment où elles ont été exportées.
- Exportez pendant que les données de langue sont intactes (ou récupérez votre dernière exportation planifiée). Exportez chaque type de contenu qui vous intéresse avec ses traductions (consultez Exportation). Les trois colonnes de langue capturent ce que vous devrez restaurer : la langue de chaque ligne et quelles lignes appartiennent ensemble en tant que traductions l’une de l’autre.
- Réinitialisez WPML. Suivez Réinitialiser WPML. La réinitialisation supprime toutes les données de WPML (les langues, la langue de chaque élément, les liens entre les traductions, les traductions de chaînes et les tâches de traduction) et désactive WPML. Vos articles, pages, produits et taxonomies sont conservés. Activez à nouveau WPML.
- Configurez à nouveau les langues : la même langue par défaut et les mêmes langues secondaires que le site avait avant la réinitialisation.
- Réimportez le même fichier, en mettant à jour le contenu existant. C’est l’étape qui diffère d’une migration vers un nouveau site : les articles existent déjà, l’importation doit donc les mettre à jour au lieu d’en créer de nouveaux. Utilisez WP All Import avec la correspondance d’enregistrements (correspondance sur l’ID), ou l’option de l’importateur WooCommerce pour mettre à jour les produits existants. L’importateur WordPress standard ne peut pas faire cela : il crée uniquement du nouveau contenu, ce qui dupliquerait chaque ligne.
- Exécutez l’importation WPML. Les attributions de langue et les groupes de traduction du fichier sont de nouveau liés au contenu existant.
Seules la langue de chaque élément et les liens entre les traductions reviennent. Les traductions de chaînes, les tâches de traduction et les paramètres de WPML ne figurent pas dans le fichier d’exportation. Configurez-les à nouveau après l’importation.
Ajouter une langue ultérieurement
Vous avez importé votre catalogue en anglais et en espagnol, et vous ajoutez maintenant le français. Préparez un fichier avec uniquement les lignes en français. Donnez à chaque ligne le groupe de traduction de son original, le code de langue fr et la langue source en. Importez le fichier et cliquez sur Exécuter l’importation WPML. WPML conserve le groupe de chaque élément qu’il a connecté, de sorte que chaque ligne en français rejoint les traductions de son original.
Synchroniser un flux de fournisseur chaque nuit
Votre fournisseur envoie un flux de produits chaque nuit. Les produits originaux sont en anglais et le flux comporte les trois colonnes de langue. Planifiez l’importation dans WP All Import Pro et ajoutez l’appel POST juste après. Définissez _wpml_import_tea sur 1 sur les lignes des nouveaux produits. Chaque nuit, les nouveaux produits obtiennent leurs langues, et WPML les envoie à la traduction automatique vers vos autres langues.