Sélectionner une page
WordPress + Postie : transformer un email en article automatiquement

WordPress + Postie : transformer un email en article automatiquement

Tu gères un site associatif, un blog collaboratif ou un site d’entreprise ? Tu veux que des contributeurs puissent publier sans se connecter à WordPress ?

Avec le plugin Postie, ils envoient un simple email, et l’article se crée automatiquement. Toi, tu reçois une notification et tu publies en un clic.


Comment ça marche ?

Voici le parcours d’un article, de l’email à la mise en ligne :

ÉtapeCe qui se passe
1Le contributeur rédige son article dans sa messagerie habituelle (Gmail, Outlook…)
2Il envoie l’email à une adresse dédiée (ex : articles@ton-site.com)
3Postie relève cette boîte mail (toutes les 30 min par exemple)
4L’email devient un brouillon : sujet → titre, corps → contenu, 1ère photo → image à la une
5Tu reçois une notification « Nouvel article en attente »
6Tu vérifies, tu corriges si besoin, tu cliques sur Publier

Ce qu’il te faut

Les liens vers les extensions sont indiqués en bas de cet article.

  • Une adresse email dédiée (ex : articles@ton-domaine.com) avec ses paramètres IMAP
  • L’extension Postie (gratuite)
  • L’extension Brevo configurée (pour recevoir les notifications) → Envoyer des messages avec Brevo
  • L’extension Clean Image Filenames (recommandée) pour éviter les problèmes d’accents dans les noms de fichiers

Configuration pas à pas

1. Crée une adresse email dédiée

Chez ton hébergeur (OVH, Gandi, o2switch…), crée une adresse comme articles@ton-domaine.com.

Note bien les paramètres IMAP :

  • Serveur : ssl0.ovh.net (exemple pour OVH)
  • Port : 993
  • Protocole : IMAP-SSL

2. Installe et configure Postie

Installe l’extension Postie depuis WordPress, puis configure ces onglets :

Onglet Mailserver (connexion à la boîte mail)

ParamètreValeur
ProtocoleIMAP-SSL (pas IMAP seul !)
Port993
Serveurssl0.ovh.net (ou celui de ton hébergeur)
Nom d’utilisateurL’adresse complète : articles@ton-domaine.com
Mot de passeLe mot de passe de cette adresse
Check for mail every30 minutes
Supprimer l’e-mail après publicationYes (IMPORTANT, sinon les articles s’accumulent)

Onglet User (sécurité)

ParamètreValeur
Authorized AddressesYes – seuls les utilisateurs autorisés peuvent publier
Allow Anyone To PostNon – très important pour éviter le spam !

💡 Ajoute les adresses email autorisées dans les réglages de Postie. Si quelqu’un d’autre envoie un mail, tu recevras une alerte et pourras l’autoriser ou non.

Onglet Message (contenu)

ParamètreValeur
État par défautPending (En attente de relecture)
FormatHTML (pour conserver gras et italique)

Onglet Image

ParamètreValeur
Use First Image as Featured ImageYes

3. Installe Clean Image Filenames (recommandé)

Cette extension transforme automatiquement Hélène à la mer.jpg en helene-a-la-mer.jpg.

Sans elle, les accents et espaces dans les noms de fichiers peuvent causer des bugs d’affichage.

💡 Dans les réglages, active la correction pour tous les types de fichiers (pas seulement les images).


4. Configure un modèle Divi (si tu utilises Divi)

Pour éviter d’activer manuellement le constructeur sur chaque article reçu :

  1. Va dans Divi → Theme Builder
  2. Crée un modèle appliqué à Tous les articles
  3. Dans le corps personnalisé, ajoute :
    • Un module Titre du poste (avec l’image à la une)
    • Un module Contenu de la publication (obligatoire : c’est là que s’affiche le texte)

Ainsi, chaque article reçu par email s’affiche automatiquement avec ta mise en page.


5. Teste le système

  1. Dans les réglages Postie, clique sur Traiter les emails
  2. Envoie un email de test depuis une adresse autorisée
  3. Vérifie qu’un brouillon apparaît dans Articles → En attente
Avec Postie, un mail à WordPress et on a un article !

Guide pour tes contributeurs

Envoie ce mode d’emploi à ceux qui vont écrire :


Comment envoyer un article sur le site ?

  1. Ouvre ton application email habituelle
  2. Destinataire : articles@ton-site.com
  3. Sujet : écris le titre de ton article
  4. Corps du mail : rédige ton texte (tu peux utiliser gras et italique)
  5. Photos : ajoute-les en pièces jointes
    • ⚠️ La première photo sera l’image de couverture
    • Les suivantes apparaîtront dans l’article
  6. À la fin de ton texte, ajoute cette ligne : -- ou ---
    • Tout ce qui suit (signature, logo…) sera supprimé
  7. Envoie ! L’équipe validera et publiera ton article.

Guide pour les administrateurs

Procédure de validation

  1. Tu reçois un email « New Post created by Postie… »
  2. Connecte-toi à l’admin WordPress
  3. Va dans Articles → En attente
  4. Ouvre l’article et vérifie :
    • Les fautes éventuelles
    • L’image à la une (colonne de droite)
  5. Clique sur Publier
  6. C’est en ligne !

En résumé

Ce que tu configuresPourquoi
Adresse email dédiéeRecevoir les articles des contributeurs
PostieTransformer les emails en brouillons WordPress
BrevoRecevoir les notifications « nouvel article »
Clean Image FilenamesÉviter les bugs avec les accents
Modèle DiviMise en page automatique des articles

Dépannage

Je ne reçois pas la notification « nouvel article » → Vérifie que Brevo est bien configuré pour les emails transactionnels

L’article se crée mais les images ne s’affichent pas → Installe Clean Image Filenames et vérifie les noms de fichiers

Un inconnu a envoyé un email à l’adresse Postie → Tu reçois une alerte. L’article est créé en brouillon mais tu peux le supprimer et ne pas autoriser l’expéditeur.


Le lien vers les extensions WordPress

Configurer l’envoi d’emails WordPress avec Brevo (guide complet)

Configurer l’envoi d’emails WordPress avec Brevo (guide complet)

Tes notifications WordPress n’arrivent jamais ? Tes formulaires de contact finissent en spam ? C’est normal : WordPress utilise une méthode d’envoi (PHP mail) que Gmail, Outlook et Yahoo bloquent systématiquement.

La solution : passer par Brevo, un service d’emailing gratuit qui sert de relais SMTP fiable.


Pourquoi ça ne marche pas sans Brevo ?

Par défaut, WordPress envoie ses emails « en direct » depuis ton hébergeur. Problème : sans authentification, ces messages ressemblent à du spam pour les grandes messageries.

Avec Brevo, tes emails passent par des serveurs reconnus et authentifiés. Résultat : ils arrivent dans la boîte de réception, pas dans les indésirables.


Étape 1 – Crée ton compte Brevo et génère une clé API

  1. Va sur Brevo.com et crée un compte gratuit
  2. Clique sur ton profil (en haut à droite) → SMTP et API
  3. Dans l’onglet « Clés API », clique sur + Générer une nouvelle clé API
  4. Donne-lui un nom (ex : « Site WordPress »)
  5. Copie immédiatement la clé – elle ne sera plus visible ensuite !

Étape 2 – Connecte l’extension WordPress

  1. Dans WordPress, installe et active l’extension Brevo
  2. Va dans Réglages → Brevo (tout en bas du menu)
  3. Colle ta clé API dans le champ prévu
  4. Clique sur Login ou Connect

Ton compte est maintenant lié.


Étape 3 – Active l’envoi d’emails transactionnels

C’est le réglage crucial qui fait tout fonctionner.

  1. Dans les réglages Brevo, trouve la section Transactional Email
  2. Coche « Yes, use Brevo to send WordPress emails »
  3. Choisis un expéditeur par défaut (ex : contact@ton-domaine.com)
  4. Sauvegarde

À partir de maintenant, tous les emails de WordPress (notifications, formulaires, réinitialisations de mot de passe…) passent par Brevo.


Étape 4 – Authentifie ton domaine (SPF, DKIM, DMARC)

Pour que tes emails soient vraiment fiables, tu dois prouver aux messageries que Brevo a le droit d’envoyer des emails en ton nom. si tu n’as jamais fait, je t’ai mis le lien vers deux articles que j’ai créé sur ce sujet tout en bas de cet article.

Ce que tu dois faire :

  1. Dans Brevo, va dans Expéditeurs & Domaines
  2. Ajoute ton domaine et suis les instructions
  3. Brevo te donne des enregistrements DNS à ajouter chez ton hébergeur (OVH, Gandi, etc.)

Points importants :

⚠️ Un seul champ SPF et un seul champ DMARC par domaine ! Si tu en as déjà, il faut les fusionner, pas en créer de nouveaux.

Exemple de champ DMARC complet :

v=DMARC1;p=none;pct=100;rua=mailto:ton-email@ton-domaine.com,rua@dmarc.brevo.com;sp=none;aspf=r;

L’authentification est généralement immédiate, mais peut prendre jusqu’à 24 heures.


Étape 5 – Teste que tout fonctionne

de WordPress à son destinataire sans passer par la case SPAM !
  1. Dans l’extension Brevo sur WordPress, cherche le bouton « Send a test email »
  2. Envoie un test à ta propre adresse
  3. Tu le reçois ? 🎉 C’est gagné !

Si le test n’arrive pas, vérifie :

  • Que l’authentification du domaine est bien validée dans Brevo
  • Que tu as bien coché « Use Brevo to send WordPress emails »
  • Ton dossier spam (au cas où)

En résumé

ÉtapeCe que tu fais
1Crée un compte Brevo et génère une clé API
2Installe l’extension Brevo et connecte-la
3Active « Use Brevo to send WordPress emails »
4Authentifie ton domaine (DNS : SPF, DKIM, DMARC)
5Envoie un email de test

Pour aller plus loin

Créer une campagne RSS avec Brevo

Créer une campagne RSS avec Brevo

Vous publiez régulièrement sur votre site WordPress et aimeriez que vos abonnés reçoivent automatiquement vos nouveaux articles ? Ce guide vous accompagne étape par étape pour connecter votre flux RSS à Brevo et mettre votre newsletter en pilote automatique.

Étape 1 : Récupérer votre flux RSS

Puisque vous êtes sur WordPress, votre flux est natif. Votre URL de flux est : https://parcours-performance.com/feed/ (Copiez cette adresse, vous en aurez besoin tout de suite).


Étape 2 : Créer l’intégration RSS dans Brevo

  1. Connectez-vous à Brevo.
  2. Cliquez sur votre nom en haut à droite > Intégrations (ou « Plugins et Intégrations »).
  3. Dans la barre de recherche, tapez « RSS ».
  4. Cliquez sur « Campagne RSS » et choisir l’intégration « RSS campaign » :
  1. Donnez un nom à l’intégration (ex:  » Newsletter PP hebdo »).
  2. Cliquez sur Créer une intégration.

Étape 3 : Configurer le flux

  1. URL du flux RSS : Collez https://parcours-performance.com/feed/
  2. Cliquez sur Charger le flux RSS.
  3. Si tout va bien, vos derniers articles s’affichent en prévisualisation. Cliquez sur Continuer.

Étape 4 : Le Design (Appliquer vos couleurs)

C’est ici qu’on va personnaliser le modèle pour qu’il ressemble à votre image jointe et utilise votre charte graphique.

  1. Choix du template : Choisissez le modèle  » Template par défaut » (c’est le plus simple à modifier).

Voir le document d’aide de Brevo, avec des explications sur le template par défaut https://help.brevo.com/hc/fr/articles/360016993299-Comprendre-le-format-du-template-RSS-par-d%C3%A9faut 

  1. Dans l’éditeur, vous allez voir des blocs avec du code bizarre ({feed.ITEMS…}). Ne touchez pas à ce code, c’est ce qui fait venir les articles.
  2. Modifier le contenu et le design.
  3. Une fois le design à votre goût, cliquez sur Continuer.

Étape 5 : Les destinataires

Retourner dans l’intégration

Brevo va vous demander à qui envoyer. Sélectionnez une liste.

Vous ne pouvez sélectionner qu’une seule liste de contacts par intégration de campagne RSS créée. Si vous souhaitez envoyer vos campagnes RSS à plusieurs listes de contact, vous devrez créer plusieurs intégrations de campagnes RSS.

Cliquez sur Continuer.


Étape 6 : La Fréquence (L’astuce pour le « toutes les 2 semaines »)

Brevo propose « Tous les jours », « Toutes les semaines » ou « Tous les mois ». Il n’y a pas de bouton « Toutes les 2 semaines ».

La stratégie à adopter : Choisissez « Toutes les semaines » (Weekly).

  • Sélectionnez le jour (ex: Mardi) et l’heure (ex: 09:00).
  • La newsletter ne sera envoyée que s’il y a du nouveau contenu depuis la dernière date d’envoi (le mardi précédent dans notre exemple).

Étape 7 : Valider et Activer

  1. Vérifiez le résumé.
  2. Cliquez sur Enregistrer et Activer.

C’est fini ! Votre newsletter est maintenant en pilote automatique. Dès que vous publierez sur votre site, Brevo s’occupera du reste la semaine suivante.

Pas possible d’utiliser des emojis 💊!

Pas possible d’utiliser des emojis 💊!

J’ai écrit un article contenant des émojis récemment et il était impossible de l’enregistrer. Il y avait un message disant « impossible de mettre à jour la publication dans la base de données ». A force de supprimer des éléments de l’article pour déterminer ce qui bloquait, j’ai compris que mon site, et celui-ci, ne supportaient pas les émojis. J’y ai perdu beaucoup de temps 😠. Alors je documente la solution pour me permettre de la retrouver si nécessaire, et pour aider d’autres internautes si nécessaire.

Pour déterminer la solution, je me suis appuyée sur cet excellent article, dont j’ai validé le processus par un bref echange avec Gemini 2.5 Flash.

Un InterClassement trop ancien !

Comme on le voit dans cette copie d’écran, certaines de mes tables utilisent utf8mb3_general_ci et d’autres utf8mb4_unicode_520_ci. Selon Gemini, « L’interclassement, ou « collation » en anglais, est un ensemble de règles qui définit comment les chaînes de caractères sont triées et comparées dans une base de données. Il détermine l’ordre alphabétique des caractères, la sensibilité à la casse (majuscules/minuscules) et aux accents, ce qui est crucial pour le tri des résultats de recherche ou le filtrage de données. »

Tous les interclassements que j’utilise sont basés sur UTF-8, encodage bien adapté. Mais utf8mb3 n’utilise que 3 octets par caractères et ne convient pas pour certains caractères spéciaux comme les emojis. Et il traite aussi les caractères accentués comme s’ils ne l’étaient pas, ce qui le rend moins précis.

utf8mb4_unicode_ci semble être le standard recommandé actuellement. Il convient à une gamme très large de caractères, y compris les emojis et caractères asiatiques.  Il respecte les règles de tri d’Unicode, ce qui le rend bien adapté à la plupart des langues. utf8mb4_unicode_520_ci est encore plus récent.

Quelles solutions ?

Après analyse de l’article et consultation de Gemini, j’ai décidé de procéder en trois étapes :

Etape 1 : sauvegarder la base de données

Ca se fait dans l’interface de l’hébergeur (Infomaniak par exemple) ou avec l’interface phpMyAdmin.

Etape 2 : Modifier wp-config.php

Il vaut mieux en télécharger la version actuelle au cas où avant de le modifier. Dans ce fichier je vois :

define('DB_CHARSET', 'utf8');

Je me modifie en :

define('DB_CHARSET', 'utf8mb4');

Et je vois qu’il n’y a pas besoin de changer la ligne

define('DB_COLLATE', '');

Et je sauvegarde le fichier wp-config.php ainsi modifié.

Etape 3 : migrer la base de données

Je vais migrer l’ensemble de la base de données vers utf8mb4_unicode_ci.

  1. Dans phpMyAdmin, sélectionnez votre base de données.
  2. Cliquez sur l’onglet « Opérations » en haut.
  3. Dans la section « Interclassement », sélectionnez utf8mb4_unicode_ci dans la liste déroulante.
  4. Cochez la case « Changer l’interclassement de toutes les tables » puis la case « Changer les interclassements de toutes les colonnes de toutes les tables »
  5. cliquer sur « Exécuter » :

Une fois l’opération terminée, vous verrez un message de succès.

Notez Que  si on clique sur « information schema » ça reste toujours le vieil interclassement ; mais ce schéma ne sert à rien (pour le site lui-même). Donc pas de problème !

Et maintenant ?

Je peux mettre autant d’emojis que je veux dans mes articles. Est-ce que c’est mieux ou pas, je ne sais pas !

🤪🚀💊

Site Kit, les services de Google sur WordPress

Site Kit, les services de Google sur WordPress

Site Kit est l’extension officielle de Google pour WordPress. Elle centralise Search Console, Google Analytics et PageSpeed Insights directement dans ton tableau de bord. Si tu utilises une extension de cache, elle peut aussi provoquer une déconnexion récurrente de Site Kit, voici comment éviter ce problème.

Ce que fait Site Kit

Site Kit connecte plusieurs services Google à ton site WordPress et affiche leurs données directement dans ton tableau de bord d’administration, sans que tu aies besoin de jongler entre plusieurs interfaces. Les services les plus utiles sont :

  • Search Console : le référencement de ton site, les requêtes qui t’amènent du trafic, les erreurs d’indexation
  • Google Analytics : la fréquentation du site, le comportement des visiteurs
  • PageSpeed Insights : la vitesse de chargement de tes pages

Une fois connecté, Site Kit sert aussi de passerelle pour d’autres extensions. Yoast SEO en est un bon exemple : au lieu de te redemander de connecter individuellement Google Analytics ou Search Console, Yoast s’appuie sur la connexion déjà établie par Site Kit pour valider ses propres accès. Tu gagnes ainsi du temps de paramétrage, en particulier si tu gères plusieurs sites.

Avantages et limites

Installer Site Kit sur tous ses sites WordPress présente de vrais atouts d’ergonomie, mais ce n’est pas forcément la meilleure solution pour tous les projets.

Avantages

  • Centralisation dans le tableau de bord : accès direct aux données clés de Search Console, Google Analytics et PageSpeed Insights, sans quitter l’administration WordPress
  • Installation simplifiée : déploiement automatique des balises de suivi, sans toucher au code du thème ni éditer de fichier
  • Validation de propriété rapide : Site Kit associe et vérifie la propriété du site auprès de Google en quelques clics
  • Gain de temps en gestion multi-sites : le même processus de configuration se répète à l’identique sur tous tes sites

Limites

  • Impact sur la vitesse de l’administration : Site Kit effectue de nombreux appels API en arrière-plan pour afficher ses graphiques, ce qui peut ralentir le chargement de l’admin WordPress
  • Rapports très synthétiques : les données affichées restent des résumés. Pour une analyse approfondie (comportement utilisateur avancé, tunnels de conversion personnalisés), il faut quand même se rendre sur les interfaces dédiées de Google Analytics ou Search Console
  • Consommation de ressources serveur : sur un petit hébergement mutualisé, le rafraîchissement régulier des jetons d’accès et des statistiques génère une charge processeur et mémoire inutile si tu ne consultes tes données qu’occasionnellement
  • Risque de double marquage : si un script Analytics est déjà injecté par ton thème, un constructeur de page (Divi, Elementor) ou une extension SEO, Site Kit peut créer des doublons de comptage s’il est mal configuré

Site Kit convient bien à des sites vitrines, des blogs, ou des sites de clients qui veulent un aperçu rapide de leur audience. Pour des sites à très fort trafic ou soumis à des contraintes d’optimisation serveur poussées, il est souvent préférable d’installer directement la balise Google Tag Manager ou Analytics, et de consulter les statistiques à la source.

Le problème de déconnexion avec une extension de cache

Si tu utilises une extension de cache comme WP Super Cache, tu as peut-être déjà rencontré ce symptôme : Site Kit se déconnecte régulièrement, parfois tous les jours, et tu dois le reconnecter manuellement à chaque fois, même si tu n’as touché à aucun réglage.

Pourquoi ça arrive

Pour rester connecté, Site Kit a besoin de renouveler régulièrement son jeton d’accès (le fameux refresh token) auprès de Google, via des requêtes vers des routes de l’API WordPress qui commencent par /wp-json/google-site-kit/. Cette requête doit s’exécuter en temps réel à chaque renouvellement.

Le problème, c’est que par défaut une extension de cache ne fait pas de distinction entre une page classique de ton site et ces requêtes d’API. Si elle met en cache la réponse de la requête /wp-json/google-site-kit/, elle va ensuite renvoyer cette réponse enregistrée, potentiellement périmée, au lieu de laisser la requête s’exécuter réellement vers Google. Google ne reçoit alors pas la confirmation attendue dans les temps, considère la session comme expirée ou corrompue, et coupe la connexion.

La solution avec WP Super Cache

Il suffit d’exclure les routes de Site Kit du cache :

  1. Dans le tableau de bord WordPress, va sur Réglages > WP Super Cache
  2. Ouvre l’onglet Avancé
  3. Descends jusqu’à la section Chaînes d’URL rejetées (Rejected URL Strings)
  4. Ajoute la ligne suivante dans le champ texte :
/wp-json/google-site-kit/
  1. Clique sur le bouton Enregistrer les chaînes

À partir de là, WP Super Cache laisse passer ces requêtes en temps réel sans les mettre en cache, et Site Kit peut renouveler son jeton normalement.

Ce principe ne se limite pas à WP Super Cache. Si tu utilises une autre extension de cache (WP Rocket, W3 Total Cache, ou autre), le mécanisme est le même : cherche une option d’exclusion d’URL ou de chemin, et exclus /wp-json/google-site-kit/. Plus largement, tout plugin qui dépend d’un échange régulier avec une API externe peut être sujet au même type de problème s’il n’est pas exclu du cache.