Tout savoir sur WordPress

WP All Import : Importez n’importe quel type de données dans votre site WordPress

L’import de données peut parfois être un calvaire avec WordPress. Vos clients ont souvent des données provenant d’autres plateformes ou logiciels et souhaitent les voir apparaitre sur leur site. WP All Import va grandement vous faciliter la tâche.

Comment surement beaucoup d’entre vous, j’ai du faire face à un client qui avait de nombreuses données toutes droit sorties d’un logiciel méconnu. Ce dernier ne possédait bien entendu pas d’API pour créer un pont de communication de données.

Comme beaucoup de logiciels de ce genre, il propose des exports en format CSV (le truc inbuvable) ou Excel (pratique sur Excel seulement). D’autres privilégieront le XML.

Coder une solution maison ou trouver une extension assez flexible ?

Dans ce cas on se pose souvent la question de savoir si on va faire un code maison, ou si l’on peut trouver quelque chose qui corresponde à notre besoin, ou au moins assez flexible pour répondre à une grande gamme de besoins. bien souvent on a besoin de pouvoir :

  • Choisir où vont les données, en choisissant par exemple le Post Type de destination
  • Choisir comment organiser les données : quelle donnée sera le titre, quelles données seront dans le contenu et dans quel ordre…
  • Mettre à jour l’import ultérieurement sans créer de duplicat
  • Et en plus, si l’outil comprend différents formats comme le CSV, XML, XLS c’est encore mieux !

Lors de mes recherches j’ai trouvé WP All Import. Et j’ai pu résoudre tous mes problèmes grâce à lui. Par contre c’est un plugin premium, c’est-à-dire payant. Et il faudra débourser 99$ pour l’acquérir. Vous aurez ensuite le droit de l’utiliser sur tous vos sites à volonté. Une version à 139$ vous permet d’avoir l’add-on spécial pour WooCommerce et une version Elite vous permet d’accéder à tous les add-ons.

Site officiel de WP All Import

Tutoriel : importer avec WP All Import

1. Installation

Téléchargez et décompressez l’extension dans le dossier wp-content/plugins/ . Rendez-vous ensuite dans votre interface d’administration, rubrique Extensions et activez WP All Import.

2. Configurer un premier import

Rendez-vous ensuite dans le menu All Import : Vous allez avoir le choix entre 3 méthodes : importer un fichier de données dans la bibliothèque WordPress, importer depuis une URL, importer depuis un fichier déjà présent dans la bibliothèque.

wp-all-import-file

Pour ce tuto je vais utiliser un fichier .csv qui contient des données d’un annuaire d’entreprises locales.

J’ai préalablement crée un type de publication appelé Annuaire des entreprises, car je ne veux pas que me données finissent dans Articles, ou Pages.

J’ai donc ajouté le code nécessaire dans le fichier functions.php de mon thème, généré à l’aide de GenerateWP.

Une fois importé, l’extension me demande si ce sont de nouvelles données, ou des données existantes qu’il va falloir mettre à jour. Je vais choisir New Items.

new-datas

Enfin, il me demande dans quel type de publication je vais insérer ces données, je choisis alors Entreprises, le type de publication que j’ai crée préalablement.

Passons ensuite à l’étape suivante en cliquant sur continue to step 2.

En local sur mac : configurer le port :8888

Il y a un petit bug en local sur Mac : le port :8888 est supprimé de l’URL ce qui cause une page introuvable :

bug

Pour éviter ça, rendez-vous dans les options du plugin pour ajouter le numéro de port 8888 afin que tout rentre dans l’ordre.

3. Vérifier les données et filtrer

Cette étape va vous permettre de vérifier si l’extension a bien compris l’organisation des données. Elle va vous indiquer le nombre de résultats trouvés et les différentes colonnes détectées :

datas vizualisation all import

Mon fichier est volontairement bien pourri : colonnes vides, sans nom. Bref un vrai fichier envoyé par un vrai client depuis un vrai logiciel bien pourrave.

Mais pas d’inquiétude, ça marchera quand même !

En option, vous allez pouvoir ajouter des filtres. Admettons que vous ne souhaitiez importer que les entreprises ayant un chiffre d’affaire supérieur à 50 000€, vous pouvez le faire facilement :

filtrer les donness all import

Dans mon cas la colonne 11 correspond au Chiffre d’affaire des entreprises.

On passe ensuite à l’étape 3.

4. Etablir le modèle de données

C’est maintenant que l’on va choisir ou va quelle donnée :

template donnees wp all import

A droite vous avez les données brutes. A gauche une interface qui ressemble à l’interface de rédaction d’article de WordPress.

Le but est de faire glisser vos données de droite à gauche où vous le souhaitez :

Dans le titre j’ai mis en dur « entreprise » suivi de la colonne 2, qui correspond au nom commercial de la société.

Dans le contenu j’ai mis son adresse et son numéro de téléphone (en ajoutant les libellés correspondants avant)

et pour l’excerpt j’ai pris la colonne 19 qui correspond à la description courte de l’entreprise.

Tirer parti des Custom Fields et des champs d’ACF

Vous pouvez également créer des champs additionnels à volonté (les custom fields) pour y insérer vos données. Et même plus, avec l’addon Advanced Custom Fields de WP All Import, vous allez pouvoir insérer vos données dans les champs ACF (bon en vrai, même sans l’addon il suffit d’utiliser le même nom que les champs ACF, et ça marche).

Bref, c’est vous qui choisissez comment vous souhaitez traiter vos données !

Enregistrer le template ou en charger un existant

La force de WP All Import réside dans le fait que vous allez pouvoir enregistrer ce modèle de données pour le réutiliser facilement plus tard. Pour cela, en bas de cette étape, cochez save settings as a template et indiquez un nom.

wp all import sauvegarder template

Ultérieurement, vous pourrez charger d’ici un template précédemment créé.

5. Définir un champ unique

Si vous souhaitez à l’avenir pouvoir mettre à jour ces données sans devoir effacer les existantes et se retaper un import complet, vous allez devoir définir un champ qui aura pour rôle d’identifier une ressource de manière unique.

identifiant unique

Dans mon cas l’export avait une première colonne avec un identifiant unique, la colonne 1. Si vous n’en avez pas, vous pouvez utiliser le nom de l’entreprise. Théoriquement il devrait être unique.

A l’avenir quand je mettrais à jour l’import, l’extension contrôlera l’existence de cet identifiant unique afin de déterminer automatiquement s’il doit mettre à jour une entrée existante ou en créer une nouvelle.

Et ça, c’est top !

Le bouton auto-detect permet d’essayer de trouver le champ le plus approprié automatiquement, mais restez attentif si vous décidez de l’utiliser.

6. L’import, c’est parti !

On y est, l’import peut enfin commencer ! Enfin… Par sécurité je vous conseille de faire une sauvegarde de votre site avant toute chose. Juste pour être sûr. Pour cela je vous conseille Updraft Plus ou SecuPress. On n’est jamais trop prudents !

L’étape comment par nous afficher un petit résumé pour vérifier que tout est OK :

resume avant import

Si tout est bon, on peut enfin se lancer. Cliquez sur Confirm & Run import. On croise les doigts…

import en cours all import

Dans mon cas j’ai 363 articles à créer. Du coup la procédure peut durer quelques minutes avant de se terminer. Il faut être patient.

Le tour est joué !

Et voilà ! Si tout s’est bien passé, vous avez un message de réussite :

import réussi

Si maintenant on se rend dans Entreprises on a bien le listing des entreprises importées.

donnees importees

On voit bien que WordPress affiche 363 éléments. C’est bon signe !

En cliquant sur une entreprise, on a bien les données comme on les avait prédéfinies :

entreprise importee

On voit bien l’adresse et le téléphone dans l’éditeur, le nom de l’entreprise en titre, et le chiffre d’affaires en champ additionnel !

Mettre à jour un import

Vous pourrez ensuite mettre à jour un import facilement en refaisant la même opération, mais en choisissant cette fois Existing items.

mise a jour donnees

Dans l’étape 4 choisissez le template précédemment établi !

template

Cet import ira donc mettre à jour les données déjà existantes, et ajoutera les nouvelles en contrôlant les identifiants uniques.

Fonctions avancées : Programmer un import régulier

Il est possible de programmer une tâche CRON pour lancer de manière périodique un import. Le mieux du coup est donc d’avoir un fichier accessible via une URL. Pour cela rendez-vous dans All Import > Manage Imports

cron import

conclusion

Et voilà, j’espère que ce tutoriel vous a plu et qu’il vous aidera autant qu’il vous a aidé ! Il m’a bien aidé pour plusieurs clients et le fait de pouvoir mettre à jour automatiquement les articles existant sans créer de doublon a vraiment été utile.

 

Cet article a été mis à jour il y a 512 jours - Il n'est peut être plus à jour !

Article écrit par Maxime BJ

Développeur, bloggeur et formateur Web spécialisé WordPress. 31 ans. Grenoblois. Co-fondateur de WPChef, l’organisme de formation WordPress.

Organisateur de WPInAlps, le meetup WordPress Grenoblois. Vous pouvez me rencontrer lors d’événements tels que WordCamp Paris et Europe. Traducteur Français de l’extension Advanced Custom Fields. Également développeur d’applications web avec MeteorJs. Je m’occupe un site pour apprendre l’informatique aux débutants gratuitement.

J’aime les jeux vidéo, la rando, la bouffe bien grasse et les voyages.

14 Commentaires

Répondre à bernard Annuler la réponse.

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

  1. Hello. Merci Maxime. J’avais vu passé des news sur l’outil.
    Quelque chose d’assez similaire existe avec Pods mais tu es obligé de passer par cette extension dont je suis moins fan.
    Ici, l’outil est beaucoup plus souple.

  2. Ce plugin est le « must have » si on veut gérer des lots de données à mettre en ligne sur un site WordPress, surtout que il prend en charge les champs personnalisés crées avec des plugins comme ACF/ACF Pro dans sa version pro. J’ai utilisé et j’ai adopté.

    • Euh pas sûr, comme ce sont des utilisateurs et pas des publications. Mais il doit exister des équivalents !

  3. Bonjour Maxime,
    j’utilise actuellement ce plugin en version gratuite sur le template WordPress Jupiter (avec visual composer) et avec un base de données produits woocommerce. Pas de soucis pour l’import d’un fichier csv, par contre pour l’export en csv c’est « en vrac ».
    Toutes les colonnes passent en 1 seule première colonne et j’ai le code source des éléments (par exemple : Famille : Amaranthaceae).
    Ce problème est il du à ma version d’excel (version 14.5.2, de 2011) ou bien il faut passer en prenium ? ou autre…?

    Merci par avance de tes lumières.

    • Aucune idée, hélas je ne pourrais pas t’aider sur le coup.
      Je sais que si tu n’ouvres pas le CSV avec les bons paramètres sur Excel il l’ouvre mal !
      Mais alors ça fait très longtemps que je ne l’ai pas fait et du coup je ne saurais pas te dire :(

  4. Bonjour,

    Je suis pascal ferreira , je suis actuellement votre formation WPCHEF.
    Je travail majoritairement avec les études notariales.
    J’ai besoin d’importer sur le site( dans une page ex: annonces immobilières) des fichiers XML et photos qui arrivent en zip via leurs logiciel de négociation sur mon ftp, et a effectuer automatiquement tous les jours.
    Es ce possible avec WP all import( avant de l’acheter) et es ce compliquer?
    Sinon existe t’il d’autre extensions? pas trop compliqué?
    Je sais que ce poste n’est pas récent mais j’espere que vous aller pouvoir lire ce message.
    Par avance merci.
    Pascal Ferreira
    Acm Informatique.

    • Salut, c’est Max !

      Alors oui WP All Import permet de récupérer à intervale régulier un fichier depuis une URL ou sur un FTP et d’importer (et mettre à jour) des données.
      J’ai pas testé personnellement mais j’ai lu que ça marchait plutôt bien.

      En cas de doute demande leur sur leur site avant d’acheter. Au pire tu peux être remboursé si ça répond pas entièrement à ton besoin

    • Salut,

      Je serais aussi intéressé par le faite de faire des imports automatiques via un FTP, j’ai cherché pendant quelques jours mais impossible de trouver une doc qui fonctionne pour faire des imports journaliers via FTP avec wp all import.
      Maxime j’ai vue que tu as dit avoir vue des articles sur ça, si tu as les liens je suis assez preneur :)
      Désolé de déterrer un peu la réponse mais la je galère un peu..

      Merci

    • A mon avis ici c’est plus le rôle de l’API.
      Mais si tu veux lancer une action à chaque fois qu’un fichier a été importé via FTP ce sera forcément avec une tâche cron. Là j’ai l’impression que ton besoin devient très spécifique du coup tu risques de ne pas trouver de plugin adéquat.

  5. Bonjour Merci pour cet article intéressant, mais j’ai juste une question concernant les imports réguliers peut-on supprimer les post du dernier import pour mettre a jours les articles par exemple dans le cas de vente d’objets neuf ou d’occasions, ou d’annonces vacances de vente de bateau d’occasion, ou que sais-je d’autre encore, les post encore present sur le site mais qui ne le sont plus dans le fichier XLM ou CSV dans l’import, comment les supprimer, All Import ont-il prévu cette chose.
    Merci de votre retour si toute fois vous pouvez répondre a ma question.

    • Je ne suis pas certain, il faudrait peut être supprimer les articles avant l’import. Il faudrait voir sur leur documentation si c’est possible ou non. Mais à l’époque je ne me souviens plus avoir vu cette option. cela a peut être changé depuis

  6. Bonjour Maxime et merci pour votre article très instructif.

    Petites questions … complémentaires :

    Est-il possible de publier des post plutôt que des articles et d’y insérer une date de publication spécifique pour chaque post ? Evidemment de façon automatisée ;-)

    En vous remerciant

    Richard

    • Les articles sont des posts !
      Mais si tu parlais de Custom Post Type alors oui il les prend très bien en compte si tant est qu’ils sont déjà existants dans WordPress au moment de l’import.
      Concernant les dates tu vas pouvoir récupérer une date de publication définie dans ton fichier d’import oui !

      Sinon si le besoin est trop spécifique tu peux utiliser mon script manuel : http://www.geekpress.fr/import-prismic-wordpress/

3be820cb3f507db4fba2752dd74493aaSSSSSSSSSSSSSSSS