WordPress-Beitragdaten in Google Sheets exportieren (basierend auf WP Rest API)
Fortgeschritten
Dies ist ein Market Research-Bereich Automatisierungsworkflow mit 15 Nodes. Hauptsächlich werden Set, Code, Form, Merge, FormTrigger und andere Nodes verwendet. WordPress-Beiträge mit Kategorien und Tags für eine SEO-Prüfung in Google Sheets exportieren
Voraussetzungen
- •Möglicherweise sind Ziel-API-Anmeldedaten erforderlich
- •Google Sheets API-Anmeldedaten
Verwendete Nodes (15)
Kategorie
Workflow-Vorschau
Visualisierung der Node-Verbindungen, mit Zoom und Pan
Workflow exportieren
Kopieren Sie die folgende JSON-Konfiguration und importieren Sie sie in n8n
{
"id": "XnO085uXrhMERPvb",
"meta": {
"instanceId": "2295c029f4cb86c8f849f9c87dade323734dc279619eb9e2704f8473c381e4d1",
"templateCredsSetupCompleted": true
},
"name": "WordPress post data export to Google Sheets (based on WP Rest API)",
"tags": [],
"nodes": [
{
"id": "bfc25242-766f-4b7d-ab23-a0829de1fe83",
"name": "Bei Formularübermittlung",
"type": "n8n-nodes-base.formTrigger",
"position": [
-1120,
-320
],
"webhookId": "57b1b81e-feae-464e-9459-04b0e3efcaa1",
"parameters": {
"options": {},
"formTitle": "WP SEO Audit",
"formFields": {
"values": [
{
"fieldLabel": "URL",
"placeholder": "http://yourdomain.com",
"requiredField": true
},
{
"fieldType": "number",
"fieldLabel": "Post limit",
"placeholder": "Default =10"
}
]
}
},
"typeVersion": 2.3
},
{
"id": "3a5f6f97-c79a-4fed-b32a-fe7695e569f1",
"name": "Beiträge abrufen",
"type": "n8n-nodes-base.httpRequest",
"onError": "continueErrorOutput",
"position": [
-400,
-128
],
"parameters": {
"url": "={{ $json.URL }}/wp-json/wp/v2/posts?per_page={{ $json['Post limit'] }}",
"options": {}
},
"typeVersion": 4.2
},
{
"id": "2201ba9e-40b8-4bcc-988c-e8dce2578dda",
"name": "Kategorien abrufen",
"type": "n8n-nodes-base.httpRequest",
"onError": "continueErrorOutput",
"position": [
-400,
-320
],
"parameters": {
"url": "={{ $('On form submission').item.json.URL }}/wp-json/wp/v2/categories?per_page={{ $json.per_page }}",
"options": {},
"sendBody": true,
"bodyParameters": {
"parameters": [
{}
]
}
},
"typeVersion": 4.2
},
{
"id": "f6c0f099-2c27-45df-91b3-0fd1ea15d165",
"name": "Tags abrufen",
"type": "n8n-nodes-base.httpRequest",
"onError": "continueErrorOutput",
"position": [
-400,
-512
],
"parameters": {
"url": "={{ $('On form submission').item.json.URL }}/wp-json/wp/v2/tags?per_page={{ $json.per_page }}",
"options": {}
},
"typeVersion": 4.2
},
{
"id": "6a924b56-3613-4b7f-a7c8-819bbe38387b",
"name": "Zusammenführen",
"type": "n8n-nodes-base.merge",
"position": [
16,
-352
],
"parameters": {
"numberInputs": 3
},
"notesInFlow": false,
"typeVersion": 3.2
},
{
"id": "bc6731ac-f1aa-4594-a1a6-98275d976ea3",
"name": "WP API Fehler",
"type": "n8n-nodes-base.form",
"position": [
-48,
-928
],
"webhookId": "ee9fe2bd-db09-469a-b3b1-cd335e4e6daf",
"parameters": {
"options": {},
"operation": "completion",
"completionTitle": "WordPress API Error",
"completionMessage": "Please check if your WP-Api is enabled"
},
"typeVersion": 2.3
},
{
"id": "46d785e4-fc5f-49ba-8aa6-ee6436621131",
"name": "Tags- und Kategoriennamen Beiträgen zuweisen",
"type": "n8n-nodes-base.code",
"position": [
224,
-336
],
"parameters": {
"jsCode": "const tagItems = $items('Get Tags'); // [{ json: { id, name, ... }}, ...]\nconst categoryItems = $items('Get Categories'); // [{ json: { id, name, ... }}, ...]\nconst postItems = $items('Get Posts'); // [{ json: { categories: [ids], tags: [ids], ... }}, ...]\n\n// Build lookup maps\nconst tagsById = Object.fromEntries(\n tagItems\n .filter(i => i?.json?.id != null && i?.json?.name != null)\n .map(i => [String(i.json.id), i.json.name])\n);\n\nconst categoriesById = Object.fromEntries(\n categoryItems\n .filter(i => i?.json?.id != null && i?.json?.name != null)\n .map(i => [String(i.json.id), i.json.name])\n);\n\n// Helper: normalize a field that might be number | string | array into an array of strings\nconst toIdArray = (val) => {\n if (val == null) return [];\n if (Array.isArray(val)) return val.map(v => String(v));\n return [String(val)];\n};\n\n// Enrich posts with names instead of IDs\nconst out = postItems.map(item => {\n const post = item.json;\n\n const categoryIds = toIdArray(post.categories);\n const tagIds = toIdArray(post.tags);\n\n const categoryNames = categoryIds\n .map(id => categoriesById[id])\n .filter(Boolean);\n\n const tagNames = tagIds\n .map(id => tagsById[id])\n .filter(Boolean);\n\n return {\n json: {\n ...post,\n categoryNames,\n tagNames,\n },\n // keep binary if present\n binary: item.binary,\n };\n});\n\nreturn out;"
},
"typeVersion": 2
},
{
"id": "989f3e60-1a1b-454c-b5f8-cdd27bf5c379",
"name": "Beiträge mit Tags, Kategorien zu Google Sheet hinzufügen",
"type": "n8n-nodes-base.googleSheets",
"position": [
480,
-336
],
"parameters": {
"columns": {
"value": {
"URL": "={{ $json.link }}",
"Tags": "={{ $json.tagNames }}",
"Title": "={{ $json.title.rendered }}",
"Categories": "={{ $json.categoryNames }}"
},
"schema": [
{
"id": "URL",
"type": "string",
"display": true,
"required": false,
"displayName": "URL",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Title",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Title",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Categories",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Categories",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Tags",
"type": "string",
"display": true,
"required": false,
"displayName": "Tags",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "append",
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1nZ3WHn_QedbuNYlFVfPildBZETNYYJFT0yYFIgJy2Mg/edit#gid=0",
"cachedResultName": "Sheet1"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1nZ3WHn_QedbuNYlFVfPildBZETNYYJFT0yYFIgJy2Mg",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1nZ3WHn_QedbuNYlFVfPildBZETNYYJFT0yYFIgJy2Mg/edit?usp=drivesdk",
"cachedResultName": "[WP]"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "sgj6aGeryqEVmS3h",
"name": "GSheets - Piotr.Sikora.Ck@gmail.com"
}
},
"typeVersion": 4.7
},
{
"id": "88750e8c-ad3c-4f40-b3f5-83618faa5de4",
"name": "Haftnotiz",
"type": "n8n-nodes-base.stickyNote",
"position": [
400,
-640
],
"parameters": {
"color": 4,
"height": 496,
"content": "## Add posts, with tags, categories to Google Sheet\n\nRemember o create **Googe Sheet** with filds:\n- **URL**\n- **Title**\n- **Categories**\n- **Tags**"
},
"typeVersion": 1
},
{
"id": "ed1593aa-3c25-42d4-a8cc-020843039197",
"name": "Haftnotiz1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-112,
-1072
],
"parameters": {
"color": 3,
"height": 304,
"content": "## WP API Errror\n\nAPI is not avalable"
},
"typeVersion": 1
},
{
"id": "f23af13c-7b4d-46b4-af31-f33726fd8356",
"name": "Haftnotiz2",
"type": "n8n-nodes-base.stickyNote",
"position": [
-480,
-928
],
"parameters": {
"color": 5,
"width": 256,
"height": 960,
"content": "## Fetch API data\n\nFetch the following resources:\n- **Posts**\n- **Categories**\n- **Tags**\n\n\nPlease note that the `per_page` parameter is statically assigned for the posts and categories endpoints, with its value set to 100.\n\nIf you require a different number of results, adjust the parameter in the appropriate nodes accordingly."
},
"typeVersion": 1
},
{
"id": "06d3d9a1-40bc-43e3-82a4-8bf08e640a9a",
"name": "Haftnotiz3",
"type": "n8n-nodes-base.stickyNote",
"position": [
144,
-640
],
"parameters": {
"color": 6,
"height": 496,
"content": "## Append categories and tags names\n\nWhat this does:\n- Reads Get Tags, Get Categories, and Get Posts.\n- Builds fast lookup maps.\n- Appends `categoryNames` and `tagNames` directly into each post.\n- Returns the modified posts ready for next steps."
},
"typeVersion": 1
},
{
"id": "c51ef4bd-2234-486b-b0f1-2d40f0d00e00",
"name": "Formular",
"type": "n8n-nodes-base.form",
"position": [
688,
-336
],
"webhookId": "32930177-d74b-4ab5-98b6-7726b70811f5",
"parameters": {
"options": {},
"operation": "completion",
"completionTitle": "List created",
"completionMessage": "Please check linked document to see details"
},
"typeVersion": 2.3
},
{
"id": "b5e7141e-b922-496f-afd7-1c75a29dc408",
"name": "Haftnotiz4",
"type": "n8n-nodes-base.stickyNote",
"position": [
-848,
-656
],
"parameters": {
"color": 7,
"height": 368,
"content": "## Config per_page\n\nConfigure `per_page` parametter."
},
"typeVersion": 1
},
{
"id": "7a062203-6a2e-4521-a98d-f1435f52ad17",
"name": "Konfiguration",
"type": "n8n-nodes-base.set",
"position": [
-784,
-448
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "39de8718-83b1-4060-9dc9-23b1a0a20857",
"name": "per_page",
"type": "number",
"value": 100
}
]
}
},
"typeVersion": 3.4
}
],
"active": false,
"pinData": {
"On form submission": [
{
"json": {
"URL": "http://juttle.app",
"formMode": "test",
"Post limit": 1,
"submittedAt": "2025-10-22T10:15:02.313+02:00"
}
}
]
},
"settings": {
"executionOrder": "v1"
},
"versionId": "91e580eb-4b6f-45ea-a1fc-68998aa694db",
"connections": {
"6a924b56-3613-4b7f-a7c8-819bbe38387b": {
"main": [
[
{
"node": "46d785e4-fc5f-49ba-8aa6-ee6436621131",
"type": "main",
"index": 0
}
]
]
},
"7a062203-6a2e-4521-a98d-f1435f52ad17": {
"main": [
[
{
"node": "f6c0f099-2c27-45df-91b3-0fd1ea15d165",
"type": "main",
"index": 0
},
{
"node": "2201ba9e-40b8-4bcc-988c-e8dce2578dda",
"type": "main",
"index": 0
}
]
]
},
"f6c0f099-2c27-45df-91b3-0fd1ea15d165": {
"main": [
[
{
"node": "6a924b56-3613-4b7f-a7c8-819bbe38387b",
"type": "main",
"index": 0
}
],
[
{
"node": "bc6731ac-f1aa-4594-a1a6-98275d976ea3",
"type": "main",
"index": 0
}
]
]
},
"3a5f6f97-c79a-4fed-b32a-fe7695e569f1": {
"main": [
[
{
"node": "6a924b56-3613-4b7f-a7c8-819bbe38387b",
"type": "main",
"index": 2
}
],
[
{
"node": "bc6731ac-f1aa-4594-a1a6-98275d976ea3",
"type": "main",
"index": 0
}
]
]
},
"2201ba9e-40b8-4bcc-988c-e8dce2578dda": {
"main": [
[
{
"node": "6a924b56-3613-4b7f-a7c8-819bbe38387b",
"type": "main",
"index": 1
}
],
[
{
"node": "bc6731ac-f1aa-4594-a1a6-98275d976ea3",
"type": "main",
"index": 0
}
]
]
},
"bfc25242-766f-4b7d-ab23-a0829de1fe83": {
"main": [
[
{
"node": "3a5f6f97-c79a-4fed-b32a-fe7695e569f1",
"type": "main",
"index": 0
},
{
"node": "7a062203-6a2e-4521-a98d-f1435f52ad17",
"type": "main",
"index": 0
}
]
]
},
"46d785e4-fc5f-49ba-8aa6-ee6436621131": {
"main": [
[
{
"node": "989f3e60-1a1b-454c-b5f8-cdd27bf5c379",
"type": "main",
"index": 0
}
]
]
},
"989f3e60-1a1b-454c-b5f8-cdd27bf5c379": {
"main": [
[
{
"node": "c51ef4bd-2234-486b-b0f1-2d40f0d00e00",
"type": "main",
"index": 0
}
]
]
}
}
}Häufig gestellte Fragen
Wie verwende ich diesen Workflow?
Kopieren Sie den obigen JSON-Code, erstellen Sie einen neuen Workflow in Ihrer n8n-Instanz und wählen Sie "Aus JSON importieren". Fügen Sie die Konfiguration ein und passen Sie die Anmeldedaten nach Bedarf an.
Für welche Szenarien ist dieser Workflow geeignet?
Fortgeschritten - Marktforschung
Ist es kostenpflichtig?
Dieser Workflow ist völlig kostenlos. Beachten Sie jedoch, dass Drittanbieterdienste (wie OpenAI API), die im Workflow verwendet werden, möglicherweise kostenpflichtig sind.
Verwandte Workflows
Virusartige Inhalte in YouTube-Videos mit Engagement-Score und Google Sheets analysieren
Verwendung der Engagement-Score und Google Sheets zur Analyse von viralen Inhalten von YouTube-Videos
Set
Code
Wait
+
Set
Code
Wait
22 NodesAkash Kankariya
Marktforschung
[astro/nextjs] Zuweisen von Kategorien/Beschriftungen für Artikel/Posts
OpenAI GPT-4, GitHub und Google Sheets verwenden, um Blogbeiträge für Astro/Next.js automatisch zu kategorisieren
Code
Form
Merge
+
Code
Form
Merge
29 NodesPiotr Sikora
Content-Erstellung
[LI] - Profile durchsuchen
Sammeln von LinkedIn-Profilen mit SerpAPI Google-Suche und Tabellen
Set
Code
Form
+
Set
Code
Form
14 NodesPiotr Sikora
Lead-Generierung
Ideenfang-Vorlage
Verwendung von Gemini zur Analyse von Reddit, YouTube und X zur Generierung eines Inhaltstrategieberichts
If
Set
Code
+
If
Set
Code
34 NodesSheryl
Marktforschung
CSV-zu-HubSpot-Uploader (dynamische Feldzuordnung und Google-Sheets-Integration)
CSV-zu-HubSpot-Uploader mit dynamischen Feldzuordnungen und Google Sheets-Integration
If
Set
Code
+
If
Set
Code
36 NodesPollupAI
Künstliche Intelligenz
01 Nutze den AI-Media-Buyer zur Analyse der Facebook-Werbeanzeigenleistung und sende Erkenntnisse an Google Sheets
Facebook-Werbung mit Gemini AI analysieren und Erkenntnisse in Google Sheets senden
If
Set
Code
+
If
Set
Code
34 NodesJJ Tham
Marktforschung
Workflow-Informationen
Schwierigkeitsgrad
Fortgeschritten
Anzahl der Nodes15
Kategorie1
Node-Typen8
Autor
Piotr Sikora
@argoneExterne Links
Auf n8n.io ansehen →
Diesen Workflow teilen