Generierung automatisierter SEO-Berichte mit RapidAPI SEO Analyzer und Google Docs
Dies ist ein AI Summarization, Multimodal AI-Bereich Automatisierungsworkflow mit 9 Nodes. Hauptsächlich werden Code, GoogleDocs, FormTrigger, HttpRequest und andere Nodes verwendet. Automatisierte SEO-Berichte mit RapidAPI SEO Analyzer und Google Docs generieren
- •Möglicherweise sind Ziel-API-Anmeldedaten erforderlich
Verwendete Nodes (9)
Kategorie
{
"meta": {
"instanceId": "60c025075753afcab9f803964b4caaca9402f435deb4efafbb8e3b93b54d8752"
},
"nodes": [
{
"id": "0cd19fc6-3a7e-4398-b180-eeb96eb7be32",
"name": "Bei Formularabgabe",
"type": "n8n-nodes-base.formTrigger",
"position": [
0,
0
],
"webhookId": "e347d7e6-09ed-4011-9181-bcb27efade84",
"parameters": {
"options": {},
"formTitle": "Website Audit ",
"formFields": {
"values": [
{
"fieldLabel": "url",
"requiredField": true
}
]
},
"formDescription": "Website Audit "
},
"typeVersion": 2.2
},
{
"id": "1683a3a1-1680-496f-a184-0c4148753abc",
"name": "Website-Audit",
"type": "n8n-nodes-base.httpRequest",
"position": [
240,
0
],
"parameters": {
"url": "https://website-seo-analyzer-and-audit-ai.p.rapidapi.com/seo.php",
"method": "POST",
"options": {},
"sendBody": true,
"contentType": "multipart-form-data",
"sendHeaders": true,
"bodyParameters": {
"parameters": [
{
"name": "url",
"value": "={{ $json.url }}"
}
]
},
"headerParameters": {
"parameters": [
{
"name": "x-rapidapi-host",
"value": "website-seo-analyzer-and-audit-ai.p.rapidapi.com"
},
{
"name": "x-rapidapi-key",
"value": "your key "
}
]
}
},
"typeVersion": 4.2
},
{
"id": "0c5903dd-af19-4223-bd64-33df65747bba",
"name": "Neuformatierung",
"type": "n8n-nodes-base.code",
"position": [
540,
0
],
"parameters": {
"jsCode": "const data = $input.first().json.data.apiData.results;\n\n// Basic metadata\nconst basic = data.basic;\nconst adv = data.advanced;\nconst perf = data.performance;\nconst sec = data.security;\n\nconst formatStatus = (status) => status === 'passed' ? '✅ Passed' : '❌ Failed';\n\n// Format keyword counts\nconst keywordStats = Object.entries(basic.keywords || {})\n .map(([word, count]) => `- **${word}**: ${count}`)\n .join('\\n');\n\nconst keywordsInTD = basic.keywordsInTitleDescription?.value || {};\nconst titleKeywords = Object.entries(keywordsInTD.title || {}).map(([k, v]) => `${k} (${v})`).join(', ');\nconst descKeywords = Object.entries(keywordsInTD.description || {}).map(([k, v]) => `${k} (${v})`).join(', ');\n\n// Format no alt images\nconst missingAltImgs = basic.noImgAltAtts?.value?.length || 0;\n\n// Format H1/H2 Tags\nconst h1Tags = basic.h1Tags?.value || [];\nconst h2Tags = basic.h2Tags?.value || [];\n\nconst formatted = `\n# 🔍 SEO Site Audit Summary\n\n## 📝 Page Metadata\n- **Title:** ${basic.title?.value || 'N/A'} (${basic.title?.length || 0} chars) — ${formatStatus(basic.title?.status)}\n- **Description:** ${basic.description?.value || 'N/A'} (${basic.description?.length || 0} chars) — ${formatStatus(basic.description?.status)}\n- **Title Keywords:** ${titleKeywords || 'None'}\n- **Description Keywords:** ${descKeywords || 'None'}\n\n## 🏷️ Keyword Density\n${keywordStats || 'No keywords found.'}\n\n## 🧱 Headers\n- **H1 Tags:** ${h1Tags.length > 0 ? h1Tags.join('; ') : '❌ None Found'}\n- **H2 Tags:** ${h2Tags.length > 0 ? h2Tags.join('; ') : '❌ None Found'}\n\n## 🖼️ Image Optimization\n- Missing \\`alt\\` tags: ${missingAltImgs} ${missingAltImgs > 0 ? '❌ Needs improvement' : '✅ All good'}\n\n## 🔗 Links Summary\n- Internal Links: ${basic.linksRatio?.value?.internal || 0}\n- External Links: ${basic.linksRatio?.value?.external || 0} — ${formatStatus(basic.linksRatio?.status)}\n\n## 📱 Search Preview\n${adv.searchPreview || 'N/A'}\n\n## 📦 Performance\n- JS Unminified: ${perf.unminifiedJs?.value?.length || 0} — ${formatStatus(perf.unminifiedJs?.status)}\n- CSS Unminified: ${perf.unminifiedCss?.value?.length || 0} — ${formatStatus(perf.unminifiedCss?.status)}\n- Total Page Objects: ${perf.pageObjects?.value?.total || 0} — ${formatStatus(perf.pageObjects?.status)}\n- Page Size: ${perf.pageSize?.value || 0} KB\n- Response Time: ${perf.responseTime?.value || 0} sec\n\n## 🛡️ Security\n- Secure Connection: ${formatStatus(sec.secureConnection?.status)}\n- Google Safe Browsing: ${formatStatus(sec.googleSafeBrowsing?.status)}\n- Directory Listing: ${formatStatus(sec.directoryListing?.status)}\n\n## 🧠 Structured Data\n- Open Graph Tags: ${adv.openGraph?.status === 'error' ? `❌ Missing: ${adv.openGraph?.value?.join(', ')}` : '✅ Present'}\n- Schema.org Markup: ${formatStatus(adv.schema?.status)}\n\n---\n`;\n\nreturn [\n {\n json: {\n docContent: formatted.trim()\n }\n }\n];\n"
},
"typeVersion": 2
},
{
"id": "17a12918-acce-46c2-9c54-05baa4a0f50d",
"name": "Daten in Google Docs hinzufügen",
"type": "n8n-nodes-base.googleDocs",
"position": [
800,
0
],
"parameters": {
"actionsUi": {
"actionFields": [
{
"text": "={{ $json.docContent }}",
"action": "insert"
}
]
},
"operation": "update",
"documentURL": "",
"authentication": "serviceAccount"
},
"credentials": {
"googleApi": {
"id": "Rt0RWApx8PL9t0RF",
"name": "Google Docs account"
}
},
"typeVersion": 2
},
{
"id": "21db8a8f-d651-4c2b-9884-dfdf29099cd7",
"name": "Haftnotiz",
"type": "n8n-nodes-base.stickyNote",
"position": [
-700,
-380
],
"parameters": {
"width": 540,
"height": 720,
"content": "### 🧾 Automated Website SEO Audit and Google Docs Report\n\n### This n8n workflow performs an SEO audit of a submitted website URL using a RapidAPI service and generates a well-formatted SEO report in Google Docs.\n\n---\n\n### 1️⃣ **On form submission** (`formTrigger`)\n- Collects a website URL from a form input to initiate the audit process.\n\n---\n\n### 2️⃣ **Website Audit** (`httpRequest`)\n- Sends the submitted URL to the SEO Audit API via RapidAPI to fetch audit results.\n\n---\n\n### 3️⃣ **Reformat** (`code`)\n- Parses and reformats the raw audit JSON into a clean, readable Markdown report.\n\n---\n\n### 4️⃣ **Add Data In Google Docs** (`googleDocs`)\n- Inserts the generated SEO audit report into a specified Google Docs file.\n\n---\n"
},
"typeVersion": 1
},
{
"id": "f6e2c21f-1c6a-4e03-9f9d-838ccb417dbe",
"name": "Haftnotiz 1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-80,
-220
],
"parameters": {
"height": 340,
"content": "🟢 **On form submission**\n- **Type:** `formTrigger`\n- **Purpose:** Captures the website URL entered by the user in the form to initiate the audit process.\n"
},
"typeVersion": 1
},
{
"id": "6a153f89-ba90-4330-852f-1bfe023539c2",
"name": "Haftnotiz 2",
"type": "n8n-nodes-base.stickyNote",
"position": [
200,
-220
],
"parameters": {
"height": 340,
"content": "🌐 **Website Audit**\n- **Type:** `httpRequest`\n- **Purpose:** Sends a POST request with the submitted URL to the SEO Analyzer API via RapidAPI to retrieve audit data.\n"
},
"typeVersion": 1
},
{
"id": "ea5d183b-03cf-4f7b-9e88-bdecc6506084",
"name": "Haftnotiz 3",
"type": "n8n-nodes-base.stickyNote",
"position": [
460,
-220
],
"parameters": {
"height": 340,
"content": " 🧠 **Reformat**\n- **Type:** `code`\n- **Purpose:** Extracts and formats the raw SEO data into a structured, readable Markdown report summarizing performance, metadata, security, and more.\n"
},
"typeVersion": 1
},
{
"id": "d306ad26-fe30-4c40-bf9a-bb4403366b91",
"name": "Haftnotiz 5",
"type": "n8n-nodes-base.stickyNote",
"position": [
720,
-220
],
"parameters": {
"height": 340,
"content": "📄 **Add Data In Google Docs**\n- **Type:** `googleDocs`\n- **Purpose:** Appends the formatted SEO report into a specified Google Docs document using the connected Google account.\n"
},
"typeVersion": 1
}
],
"pinData": {},
"connections": {
"0c5903dd-af19-4223-bd64-33df65747bba": {
"main": [
[
{
"node": "17a12918-acce-46c2-9c54-05baa4a0f50d",
"type": "main",
"index": 0
}
]
]
},
"1683a3a1-1680-496f-a184-0c4148753abc": {
"main": [
[
{
"node": "0c5903dd-af19-4223-bd64-33df65747bba",
"type": "main",
"index": 0
}
]
]
},
"0cd19fc6-3a7e-4398-b180-eeb96eb7be32": {
"main": [
[
{
"node": "1683a3a1-1680-496f-a184-0c4148753abc",
"type": "main",
"index": 0
}
]
]
}
}
}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 - KI-Zusammenfassung, Multimodales KI
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
Evoort Solutions
@evoortsolutionsDiesen Workflow teilen