Automatisation WordPress avec n8n : publication de contenu automatisée
- Ce workflow n8n a pour objectif d'automatiser la publication de contenu sur WordPress à partir de données stockées dans Airtable. Il s'adresse aux équipes marketing et aux créateurs de contenu qui souhaitent simplifier leur processus de publication tout en garantissant la qualité et la régularité de leurs articles. Grâce à cette automatisation n8n, vous pouvez facilement gérer vos publications, uploader des médias et définir des images à la une sans intervention manuelle.
- Le workflow commence par un déclencheur programmé qui active le processus à intervalles réguliers. Ensuite, il récupère le contenu à publier depuis Airtable, en filtrant les articles existants pour éviter les doublons. Une fois le contenu sélectionné, il est converti de Markdown en HTML pour garantir une mise en forme adéquate. Les images associées sont téléchargées et uploadées sur WordPress, où elles sont définies comme images à la une. Enfin, le contenu est publié sur le site WordPress, assurant ainsi une diffusion efficace et rapide.
- Les bénéfices de ce workflow incluent un gain de temps considérable, une réduction des erreurs humaines et une amélioration de la cohérence des publications. En intégrant ce type d'automatisation dans votre stratégie de contenu, vous pouvez vous concentrer sur la création de valeur pour votre audience tout en optimisant vos opérations.
Workflow n8n WordPress, Airtable, 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, Airtable, publication : détail des nœuds
Inscris-toi pour voir l'intégralité du workflow
Inscription gratuite
S'inscrire gratuitementBesoin d'aide ?{
"meta": {
"instanceId": "cb484ba7b742928a2048bf8829668bed5b5ad9787579adea888f05980292a4a7"
},
"nodes": [
{
"id": "92ffb384-849f-411b-981f-e324190eaae4",
"name": "Post on Wordpress",
"type": "n8n-nodes-base.wordpress",
"position": [
1340,
700
],
"parameters": {
"title": "={{ $json.Title }}",
"additionalFields": {
"status": "draft",
"content": "={{ $json['Blog Body'] }}"
}
},
"typeVersion": 1
},
{
"id": "b3148c02-8088-4b81-afa8-1d57bef570e5",
"name": "Upload Media",
"type": "n8n-nodes-base.httpRequest",
"position": [
1840,
700
],
"parameters": {
"url": "=https://effibotics.com/wp-json/wp/v2/media",
"method": "POST",
"options": {},
"sendBody": true,
"contentType": "binaryData",
"sendHeaders": true,
"authentication": "predefinedCredentialType",
"headerParameters": {
"parameters": [
{
"name": "content-disposition",
"value": "=attachment; filename={{ $binary.data.fileName }}.{{ $binary.data.fileExtension }}"
},
{
"name": "content-type",
"value": "={{ $binary.data.mimeType }}"
}
]
},
"inputDataFieldName": "data",
"nodeCredentialType": "wordpressApi"
},
"typeVersion": 4.1
},
{
"id": "d81ab003-fb36-4570-ab58-65b9a5db38be",
"name": "Set Featured Image",
"type": "n8n-nodes-base.httpRequest",
"position": [
2000,
700
],
"parameters": {
"url": "={{ $('Settings').item.json.wordpress_url }}wp-json/wp/v2/posts/{{ $('Post on Wordpress').item.json.id }}",
"method": "POST",
"options": {},
"sendBody": true,
"authentication": "predefinedCredentialType",
"bodyParameters": {
"parameters": [
{
"name": "featured_media",
"value": "={{ $json.id }}"
}
]
},
"nodeCredentialType": "wordpressApi"
},
"typeVersion": 4.1
},
{
"id": "176ed2b0-2e27-4c04-a3fb-94842a82d3ab",
"name": "Edit Fields",
"type": "n8n-nodes-base.set",
"position": [
1040,
700
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "66db867d-e056-4713-8877-14c60775738a",
"name": "id",
"type": "string",
"value": "={{ $json.id }}"
},
{
"id": "c2e3724a-1406-48a7-b15c-1cda06dd44e9",
"name": "Title",
"type": "string",
"value": "={{ $json.Title }}"
},
{
"id": "d47d0436-ae61-4c68-a57f-273e77354050",
"name": "Keyword",
"type": "string",
"value": "={{ $json.Keyword }}"
},
{
"id": "34d8bc1f-77f6-496e-a36f-faa06d5cd6dd",
"name": "Blog Body",
"type": "string",
"value": "={{ $json[\"Blog Post\"].replace($json[\"Title\"],'') }}"
}
]
}
},
"typeVersion": 3.3
},
{
"id": "ff8d11c0-a604-4959-8dbd-56a5265a0559",
"name": "Get content to post",
"type": "n8n-nodes-base.airtable",
"position": [
680,
700
],
"parameters": {
"base": {
"__rl": true,
"mode": "list",
"value": "appEanjsKFnMPZZz3",
"cachedResultUrl": "https://airtable.com/appEanjsKFnMPZZz3",
"cachedResultName": "SEO Doctor"
},
"limit": 3,
"table": {
"__rl": true,
"mode": "list",
"value": "tblkWGFcUJ2WVyL9f",
"cachedResultUrl": "https://airtable.com/appEanjsKFnMPZZz3/tblkWGFcUJ2WVyL9f",
"cachedResultName": "AI Generated Blog Posts"
},
"options": {},
"operation": "search",
"returnAll": false,
"filterByFormula": "SEARCH(\"To Post\", {Status})"
},
"typeVersion": 2
},
{
"id": "43f99839-2690-4324-8d26-201fc55f7b02",
"name": "Filter by existing Blogs",
"type": "n8n-nodes-base.filter",
"position": [
860,
700
],
"parameters": {
"options": {},
"conditions": {
"options": {
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "d31b3381-dc99-41ae-b309-40e270ebf714",
"operator": {
"type": "string",
"operation": "exists",
"singleValue": true
},
"leftValue": "={{ $json['Blog Post'] }}",
"rightValue": ""
}
]
}
},
"typeVersion": 2
},
{
"id": "924eeb0a-ee5d-40f1-915c-19e34018c619",
"name": "Markdown to HTML",
"type": "n8n-nodes-base.markdown",
"position": [
1180,
700
],
"parameters": {
"mode": "markdownToHtml",
"options": {},
"markdown": "={{ $json['Blog Body'] }} {{ $json['Blog Body'] }} {{ $json['Blog Body'] }}",
"destinationKey": "Blog Body"
},
"typeVersion": 1
},
{
"id": "3aed566c-04bc-4164-85d7-1f13a7862f5a",
"name": "Get Image",
"type": "n8n-nodes-base.httpRequest",
"position": [
1500,
700
],
"parameters": {
"url": "=https://api.pexels.com/v1/search?query= {{ $('Edit Fields').item.json.Keyword }}&per_page=1&width=1200&height=675&format=webp",
"options": {},
"sendHeaders": true,
"headerParameters": {
"parameters": [
{
"name": "Authorization",
"value": "lFlHMbYfTkSZ2HupBHDggMucIq38GQ5QICPstDPVdaHVxn9afY983qnS"
},
{
"name": "content",
"value": "= {{ $('Edit Fields').item.json.Keyword }}"
}
]
}
},
"typeVersion": 4.1
},
{
"id": "2729c11b-0c94-4e05-9d98-80d70eac1c2d",
"name": "Download the image",
"type": "n8n-nodes-base.httpRequest",
"position": [
1660,
700
],
"parameters": {
"url": "={{ $json.photos[0].src.landscape }}",
"options": {},
"responseFormat": "file"
},
"typeVersion": 2
},
{
"id": "9b31f00c-dad3-403c-953e-21df2cd3af65",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
760,
340
],
"parameters": {
"color": 7,
"width": 662.5970350404314,
"height": 321.75,
"content": "## Automating Posting content to WordPress and setting up the featured Image\nThis workflow aims to simplify the process by which we share content on Wordpress sites with n8n from airtable\n\n### Usage\n1. Get the content from AirTable. SInce we have this as a markdown, we will have to convert it to a html format to make it easier to publish and manage on WordPress\n2. Upload the blog post with the content, title and all other relevant information needed for an optimized blog\n3. Once the post is posted, we need to upload the image and set it as a features image for the blogs"
},
"typeVersion": 1
},
{
"id": "ca838f99-39f7-4641-9293-502a7e0be912",
"name": "Schedule Trigger",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
520,
700
],
"parameters": {
"rule": {
"interval": [
{}
]
}
},
"typeVersion": 1.2
},
{
"id": "7eb92d69-3815-45d3-9da9-63a28b15f661",
"name": "Update POST on Airtable",
"type": "n8n-nodes-base.airtable",
"position": [
2180,
700
],
"parameters": {
"base": {
"__rl": true,
"mode": "list",
"value": "appEanjsKFnMPZZz3",
"cachedResultUrl": "https://airtable.com/appEanjsKFnMPZZz3",
"cachedResultName": "SEO Doctor"
},
"table": {
"__rl": true,
"mode": "list",
"value": "tblkWGFcUJ2WVyL9f",
"cachedResultUrl": "https://airtable.com/appEanjsKFnMPZZz3/tblkWGFcUJ2WVyL9f",
"cachedResultName": "AI Generated Blog Posts"
},
"columns": {
"value": {
"id": "={{ $('Edit Fields').item.json.id }}",
"Status": "Posted"
},
"schema": [
{
"id": "id",
"type": "string",
"display": true,
"removed": false,
"readOnly": true,
"required": false,
"displayName": "id",
"defaultMatch": true
},
{
"id": "Title",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Title",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Blog Post",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Blog Post",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Star",
"type": "number",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Star",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Intent",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Intent",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Status",
"type": "options",
"display": true,
"options": [
{
"name": "Draft",
"value": "Draft"
},
{
"name": "First Copy",
"value": "First Copy"
},
{
"name": "Second Copy",
"value": "Second Copy"
},
{
"name": "To Post",
"value": "To Post"
},
{
"name": "Posted",
"value": "Posted"
},
{
"name": "Review",
"value": "Review"
},
{
"name": "Tracking",
"value": "Tracking"
}
],
"removed": false,
"readOnly": false,
"required": false,
"displayName": "Status",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Keyword",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Keyword",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "count",
"type": "string",
"display": true,
"removed": true,
"readOnly": true,
"required": false,
"displayName": "count",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Word count",
"type": "number",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Word count",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Last Modified",
"type": "string",
"display": true,
"removed": true,
"readOnly": true,
"required": false,
"displayName": "Last Modified",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Image",
"type": "array",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Image",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Images",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Images",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "All keyword Data and Tracking",
"type": "string",
"display": true,
"removed": true,
"readOnly": true,
"required": false,
"displayName": "All keyword Data and Tracking",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Search Volume",
"type": "number",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Search Volume",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Frequency",
"type": "number",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Frequency",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [
"id"
]
},
"options": {},
"operation": "update"
},
"typeVersion": 2
},
{
"id": "536659ab-ca94-420f-8110-e277676b939a",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
500,
340
],
"parameters": {
"height": 323,
"content": "## SETUP\n1. Create a wordpress application and set up the password\n\n2. Have an airtable with the columns \nKeyword | Title | Blog content\n\n3. The blog content in this canse is a markdown format generated by AI"
},
"typeVersion": 1
}
],
"pinData": {},
"connections": {
"Get Image": {
"main": [
[
{
"node": "Download the image",
"type": "main",
"index": 0
}
]
]
},
"Edit Fields": {
"main": [
[
{
"node": "Markdown to HTML",
"type": "main",
"index": 0
}
]
]
},
"Upload Media": {
"main": [
[
{
"node": "Set Featured Image",
"type": "main",
"index": 0
}
]
]
},
"Markdown to HTML": {
"main": [
[
{
"node": "Post on Wordpress",
"type": "main",
"index": 0
}
]
]
},
"Schedule Trigger": {
"main": [
[
{
"node": "Get content to post",
"type": "main",
"index": 0
}
]
]
},
"Post on Wordpress": {
"main": [
[
{
"node": "Get Image",
"type": "main",
"index": 0
}
]
]
},
"Download the image": {
"main": [
[
{
"node": "Upload Media",
"type": "main",
"index": 0
}
]
]
},
"Set Featured Image": {
"main": [
[
{
"node": "Update POST on Airtable",
"type": "main",
"index": 0
}
]
]
},
"Get content to post": {
"main": [
[
{
"node": "Filter by existing Blogs",
"type": "main",
"index": 0
}
]
]
},
"Filter by existing Blogs": {
"main": [
[
{
"node": "Edit Fields",
"type": "main",
"index": 0
}
]
]
}
}
}Workflow n8n WordPress, Airtable, publication : pour qui est ce workflow ?
Ce workflow s'adresse principalement aux équipes marketing, aux rédacteurs de contenu et aux gestionnaires de site web qui utilisent WordPress et Airtable. Il est conçu pour des utilisateurs ayant un niveau technique intermédiaire, souhaitant automatiser leurs processus de publication et améliorer leur efficacité.
Workflow n8n WordPress, Airtable, publication : problème résolu
Ce workflow résout le problème de la gestion manuelle des publications sur WordPress, qui peut être chronophage et sujet à des erreurs. En automatisant la récupération et la publication de contenu, il élimine les frustrations liées à la duplication d'articles et garantit que le contenu est toujours à jour. Les utilisateurs bénéficient d'un processus de publication fluide et d'une meilleure organisation de leur contenu.
Workflow n8n WordPress, Airtable, publication : étapes du workflow
Étape 1 : Le workflow est déclenché selon un calendrier défini.
- Étape 1 : Il récupère le contenu à publier depuis Airtable, en filtrant les articles déjà publiés.
- Étape 2 : Le contenu est converti de Markdown en HTML pour une mise en forme correcte.
- Étape 3 : Les images associées sont téléchargées et uploadées sur WordPress.
- Étape 4 : L'image à la une est définie pour chaque article.
- Étape 5 : Enfin, le contenu est publié sur le site WordPress.
Workflow n8n WordPress, Airtable, publication : guide de personnalisation
Pour personnaliser ce workflow, vous pouvez modifier l'URL de votre base Airtable pour récupérer des contenus spécifiques. Ajustez les paramètres du déclencheur programmé selon vos besoins de publication. Vous pouvez également changer les configurations des noeuds de téléchargement d'images pour utiliser d'autres sources. Assurez-vous de sécuriser vos connexions API et de surveiller les logs pour garantir le bon fonctionnement de l'automatisation.