Automatisation WordPress avec n8n : publication via HTTP Request
Ce workflow n8n permet d'automatiser la publication de contenu sur WordPress.com en utilisant une requête HTTP. Idéal pour les blogueurs et les équipes marketing, ce processus simplifie la gestion des publications en ligne. En déclenchant manuellement le workflow, vous pouvez préparer un contenu qui sera ensuite envoyé directement à votre site WordPress. Le workflow commence par un déclencheur manuel qui active les différentes étapes. Ensuite, les paramètres sont configurés via le noeud 'Settings'. Le contenu à publier est préparé dans le noeud 'PrepareXML', où le code JavaScript peut être utilisé pour formater les données selon les besoins. Une fois le contenu prêt, une requête HTTP est effectuée via le noeud 'PostRequest', qui envoie les données à l'API de WordPress. Après l'envoi, le workflow vérifie si la requête a été réussie grâce au noeud 'IsSuccessful'. En cas de succès, le workflow se termine normalement, sinon il gère les erreurs via le noeud 'Error'. Grâce à cette automatisation n8n, les utilisateurs peuvent gagner un temps précieux et réduire les risques d'erreurs manuelles lors de la publication de contenu.
Workflow n8n WordPress, HTTP Request, publication : vue d'ensemble
Schéma des nœuds et connexions de ce workflow n8n, généré à partir du JSON n8n.
Workflow n8n WordPress, HTTP Request, publication : détail des nœuds
Inscris-toi pour voir l'intégralité du workflow
Inscription gratuite
S'inscrire gratuitementBesoin d'aide ?{
"id": "yPIST7l13huQEjY5",
"meta": {
"instanceId": "98bf0d6aef1dd8b7a752798121440fb171bf7686b95727fd617f43452393daa3",
"templateCredsSetupCompleted": true
},
"name": "Use XMLRPC via HttpRequest-node to post on Wordpress.com",
"tags": [
{
"id": "uumvgGHY5e6zEL7V",
"name": "Published Template",
"createdAt": "2025-02-10T11:18:10.923Z",
"updatedAt": "2025-02-10T11:18:10.923Z"
}
],
"nodes": [
{
"id": "8a64ffca-804a-4793-a721-3cb670aec22f",
"name": "Settings",
"type": "n8n-nodes-base.set",
"position": [
-380,
-700
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "1be018c7-51fe-4ea2-967d-ce47a2e8795c",
"name": "wordpressUrl",
"type": "string",
"value": "YOURBLOG.wordpress.com"
},
{
"id": "95377f4f-184b-46a7-94c7-b2313c314cb2",
"name": "wordpressUsername",
"type": "string",
"value": "YourUserName"
},
{
"id": "fdc99dc6-d9b0-4d2f-b770-1d8b6b360cad",
"name": "wordpressApplicationPassword",
"type": "string",
"value": "your 4app pass word"
},
{
"id": "5aee5eef-9ad2-4dfb-a63f-1b5228c47e31",
"name": "contentTitle",
"type": "string",
"value": "This is a demo title"
},
{
"id": "2abf516c-2910-4cd0-89fe-119cd0e616c8",
"name": "contentText",
"type": "string",
"value": "This is the main text."
}
]
}
},
"typeVersion": 3.4
},
{
"id": "157b9656-5d90-44f4-aa3c-1285cda698d8",
"name": "ManualTrigger",
"type": "n8n-nodes-base.manualTrigger",
"position": [
-580,
-700
],
"parameters": {},
"typeVersion": 1
},
{
"id": "1d2f6916-e5bd-497b-9843-8bb5a48e9866",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
-420,
-820
],
"parameters": {
"width": 180,
"height": 360,
"content": "## Settings"
},
"typeVersion": 1
},
{
"id": "1306446a-f628-44ba-9ca5-751b634bd5dd",
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
140,
-820
],
"parameters": {
"color": 5,
"width": 720,
"height": 360,
"content": "## Response Handling"
},
"typeVersion": 1
},
{
"id": "ec3006aa-34c8-4522-8c37-980f68f168b5",
"name": "Sticky Note5",
"type": "n8n-nodes-base.stickyNote",
"position": [
-220,
-820
],
"parameters": {
"color": 3,
"width": 340,
"height": 360,
"content": "## Request Sending"
},
"typeVersion": 1
},
{
"id": "bc918075-bea5-4a27-90d9-874b0917a958",
"name": "Success",
"type": "n8n-nodes-base.noOp",
"position": [
660,
-780
],
"parameters": {},
"typeVersion": 1
},
{
"id": "3ea541b7-080e-4694-b865-d7d04f69ea0c",
"name": "Error",
"type": "n8n-nodes-base.noOp",
"position": [
660,
-620
],
"parameters": {},
"typeVersion": 1
},
{
"id": "457c0687-ac1d-49e2-b434-6e1de9acb3a3",
"name": "PrepareXML",
"type": "n8n-nodes-base.code",
"notes": "(request payload, escaping)",
"position": [
-180,
-700
],
"parameters": {
"mode": "runOnceForEachItem",
"jsCode": "const input = $json; // If other nodes are in between: $('Settings').item.json;\n\nconst username = input.wordpressUsername;\nconst password = input.wordpressApplicationPassword;\nconst title = input.contentTitle;\nconst text = input.contentText;\n\nconst blogId = 0;\nconst published = 1; // 0 = draft, 1 = published\n\n\n// Helper function to escape XML special characters\nfunction escapeXml(unsafe) {\n return unsafe.replace(/[<>&'\"]/g, (c) => {\n switch (c) {\n case '<': return '<';\n case '>': return '>';\n case '&': return '&';\n case '\\'': return ''';\n case '\"': return '"';\n default: return c;\n }\n });\n}\n\n// Your actual post text, which may contain characters needing escaping\nconst titleEscaped = escapeXml(title);\nconst textEscaped = escapeXml(text);\n\n// Build the XML payload\nconst xmlData = `<?xml version=\"1.0\"?>\n<methodCall>\n <methodName>wp.newPost</methodName>\n <params>\n <param>\n <value><string>${blogId}</string></value>\n </param>\n <param>\n <value><string>${username}</string></value>\n </param>\n <param>\n <value><string>${password}</string></value>\n </param>\n <param>\n <value>\n <struct>\n <member>\n <name>post_title</name>\n <value><string>${titleEscaped}</string></value>\n </member>\n <member>\n <name>post_content</name>\n <value><string>${textEscaped}</string></value>\n </member>\n </struct>\n </value>\n </param>\n <param>\n <value><boolean>${published}</boolean></value>\n </param>\n </params>\n</methodCall>`;\n\n\n// Add a new field called 'myNewField' to the JSON of the item\n$input.item.json.xmlRequestBody = xmlData;\n\nreturn $input.item;"
},
"notesInFlow": true,
"typeVersion": 2
},
{
"id": "3f29f3ed-f7ae-475b-bce3-04d3eeeacee9",
"name": "PostRequest",
"type": "n8n-nodes-base.httpRequest",
"position": [
-20,
-700
],
"parameters": {
"url": "=https://{{ $('Settings').item.json.wordpressUrl }}/xmlrpc.php",
"body": "={{ $json.xmlRequestBody }}",
"method": "POST",
"options": {},
"sendBody": true,
"contentType": "raw",
"sendHeaders": true,
"rawContentType": "text/xml",
"headerParameters": {
"parameters": [
{
"name": "Content-Type",
"value": "text/xml"
}
]
}
},
"typeVersion": 4.2
},
{
"id": "5f320d9b-8aa9-4d13-83db-86acaf444e92",
"name": "IsSuccessful",
"type": "n8n-nodes-base.if",
"position": [
420,
-700
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "loose"
},
"combinator": "and",
"conditions": [
{
"id": "815d85a1-8f91-4338-977f-503f02c53ea2",
"operator": {
"type": "string",
"operation": "exists",
"singleValue": true
},
"leftValue": "={{ $json.methodResponse.params.param.value }}",
"rightValue": ""
}
]
},
"looseTypeValidation": true
},
"typeVersion": 2.2
},
{
"id": "3a37d19a-12d3-474b-840f-c09342eecca9",
"name": "HandleResponse",
"type": "n8n-nodes-base.xml",
"position": [
220,
-700
],
"parameters": {
"options": {}
},
"typeVersion": 1
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "78f90dc5-6209-4db0-b6c6-9f2324488605",
"connections": {
"Settings": {
"main": [
[
{
"node": "PrepareXML",
"type": "main",
"index": 0
}
]
]
},
"PrepareXML": {
"main": [
[
{
"node": "PostRequest",
"type": "main",
"index": 0
}
]
]
},
"PostRequest": {
"main": [
[
{
"node": "HandleResponse",
"type": "main",
"index": 0
}
]
]
},
"IsSuccessful": {
"main": [
[
{
"node": "Success",
"type": "main",
"index": 0
}
],
[
{
"node": "Error",
"type": "main",
"index": 0
}
]
]
},
"ManualTrigger": {
"main": [
[
{
"node": "Settings",
"type": "main",
"index": 0
}
]
]
},
"HandleResponse": {
"main": [
[
{
"node": "IsSuccessful",
"type": "main",
"index": 0
}
]
]
}
}
}Workflow n8n WordPress, HTTP Request, publication : pour qui est ce workflow ?
Ce workflow s'adresse aux blogueurs, aux équipes marketing et aux développeurs souhaitant automatiser la publication de contenu sur WordPress. Il est conçu pour des utilisateurs ayant une connaissance intermédiaire des outils d'automatisation et des API.
Workflow n8n WordPress, HTTP Request, publication : problème résolu
Ce workflow résout le problème de la publication manuelle de contenu sur WordPress, qui peut être chronophage et sujet à des erreurs. En automatisant ce processus, les utilisateurs peuvent publier rapidement et efficacement, tout en minimisant les risques d'erreurs humaines. Le résultat est une gestion de contenu plus fluide et une meilleure productivité.
Workflow n8n WordPress, HTTP Request, publication : étapes du workflow
Étape 1 : Le workflow est déclenché manuellement par l'utilisateur.
- Étape 1 : Les paramètres sont configurés dans le noeud 'Settings'.
- Étape 2 : Le contenu à publier est préparé dans le noeud 'PrepareXML', où le code JavaScript est utilisé pour formater les données.
- Étape 3 : Une requête HTTP est envoyée via le noeud 'PostRequest' à l'API de WordPress.
- Étape 4 : Le noeud 'IsSuccessful' vérifie si la requête a abouti.
- Étape 5 : En cas de succès, le workflow se termine normalement, sinon il gère les erreurs avec le noeud 'Error'.
Workflow n8n WordPress, HTTP Request, publication : guide de personnalisation
Pour personnaliser ce workflow, vous pouvez modifier les paramètres dans le noeud 'Settings', tels que l'URL de votre site WordPress et les données à publier. Dans le noeud 'PrepareXML', adaptez le code JavaScript pour ajuster le format du contenu selon vos besoins. Vous pouvez également intégrer d'autres outils ou services en ajoutant des noeuds supplémentaires dans le workflow. Assurez-vous de sécuriser vos informations d'identification API et de surveiller le flux pour détecter d'éventuelles erreurs.