Generar informe SEO automatizado con analizador de SEO de RapidAPI y Google Docs
Este es unAI Summarization, Multimodal AIflujo de automatización del dominio deautomatización que contiene 9 nodos.Utiliza principalmente nodos como Code, GoogleDocs, FormTrigger, HttpRequest. Usar el analizador SEO de RapidAPI y Google Docs para generar informes SEO automatizados
- •Pueden requerirse credenciales de autenticación para la API de destino
Nodos utilizados (9)
Categoría
{
"meta": {
"instanceId": "60c025075753afcab9f803964b4caaca9402f435deb4efafbb8e3b93b54d8752"
},
"nodes": [
{
"id": "0cd19fc6-3a7e-4398-b180-eeb96eb7be32",
"name": "Al enviar formulario",
"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": "Auditoría de Sitio Web",
"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": "Reformatear",
"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": "Agregar Datos en Google Docs",
"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": "Nota Adhesiva",
"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": "Nota Adhesiva1",
"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": "Nota Adhesiva2",
"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": "Nota Adhesiva3",
"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": "Nota Adhesiva5",
"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
}
]
]
}
}
}¿Cómo usar este flujo de trabajo?
Copie el código de configuración JSON de arriba, cree un nuevo flujo de trabajo en su instancia de n8n y seleccione "Importar desde JSON", pegue la configuración y luego modifique la configuración de credenciales según sea necesario.
¿En qué escenarios es adecuado este flujo de trabajo?
Intermedio - Resumen de IA, IA Multimodal
¿Es de pago?
Este flujo de trabajo es completamente gratuito, puede importarlo y usarlo directamente. Sin embargo, tenga en cuenta que los servicios de terceros utilizados en el flujo de trabajo (como la API de OpenAI) pueden requerir un pago por su cuenta.
Flujos de trabajo relacionados recomendados
Evoort Solutions
@evoortsolutionsCompartir este flujo de trabajo