AI 기반 SEO 블로그 작성기
고급
이것은Content Creation, AI RAG분야의자동화 워크플로우로, 28개의 노드를 포함합니다.주로 Set, Code, Html, Markdown, SplitOut 등의 노드를 사용하며. 사용Gemini, Scrapeless, Pinecone RAG으로 SEO 최적화된 블로그 콘텐츠 생성
사전 요구사항
- •Google Gemini API Key
- •Pinecone API Key
사용된 노드 (28)
워크플로우 미리보기
노드 연결 관계를 시각적으로 표시하며, 확대/축소 및 이동을 지원합니다
워크플로우 내보내기
다음 JSON 구성을 복사하여 n8n에 가져오면 이 워크플로우를 사용할 수 있습니다
{
"id": "MuPWDOe5EdbAR9LG",
"meta": {
"instanceId": "99993f65d1567f51fde05dcf63d8de046babd13286de5f022068086eb81fdb4c",
"templateCredsSetupCompleted": true
},
"name": "AI Powered SEO Blog Writer",
"tags": [],
"nodes": [
{
"id": "652b062c-6398-4627-81fb-1bdc68a17b4c",
"name": "워크플로우 실행 시",
"type": "n8n-nodes-base.manualTrigger",
"position": [
-1952,
-576
],
"parameters": {},
"typeVersion": 1
},
{
"id": "3ba48a52-d664-4c9f-8f4c-05c942fd117f",
"name": "Pinecone 벡터 스토어",
"type": "@n8n/n8n-nodes-langchain.vectorStorePinecone",
"position": [
208,
-672
],
"parameters": {
"mode": "insert",
"options": {
"pineconeNamespace": "DataPlace"
},
"pineconeIndex": {
"__rl": true,
"mode": "list",
"value": "seo-writer",
"cachedResultName": "seo-writer"
}
},
"credentials": {
"pineconeApi": {
"id": "KFxRVOGBwN0Rzjfi",
"name": "PineconeApi account"
}
},
"typeVersion": 1.2
},
{
"id": "121a1c3a-a056-403c-ad76-28a974e60d68",
"name": "기본 데이터 로더",
"type": "@n8n/n8n-nodes-langchain.documentDefaultDataLoader",
"position": [
416,
-464
],
"parameters": {
"options": {},
"dataType": "binary"
},
"typeVersion": 1
},
{
"id": "6bd61074-309d-4675-afac-6d09c59fab80",
"name": "재귀적 문자 텍스트 분할기",
"type": "@n8n/n8n-nodes-langchain.textSplitterRecursiveCharacterTextSplitter",
"position": [
304,
-336
],
"parameters": {
"options": {},
"chunkSize": 2000,
"chunkOverlap": 200
},
"typeVersion": 1
},
{
"id": "ca4c81af-45e5-4c37-bbdb-83cb0233f9e9",
"name": "채팅 메시지 수신 시",
"type": "@n8n/n8n-nodes-langchain.chatTrigger",
"position": [
-160,
16
],
"webhookId": "e1468e34-9acc-472e-9bd4-8cee0c3d1e17",
"parameters": {
"options": {}
},
"typeVersion": 1.1
},
{
"id": "7db55dbe-d04e-4515-aab7-9ad6ef8db8b5",
"name": "윈도우 버퍼 메모리",
"type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
"position": [
560,
224
],
"parameters": {
"sessionKey": "={{ $('When chat message received').first().json.sessionId }}",
"sessionIdType": "customKey"
},
"typeVersion": 1.3
},
{
"id": "b6d0989d-fd3b-40e5-bcda-2999ea5da413",
"name": "AI 에이전트1",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
448,
16
],
"parameters": {
"text": "={{ $('When chat message received').first().json.chatInput }}",
"options": {
"systemMessage": "=Use the following context to answer the user's question.\n<context>\n{{\n$input.all()\n .map(item => item.json.document.pageContent)\n .join('\\n---\\n')\n}}\n</context>"
},
"promptType": "define"
},
"executeOnce": true,
"typeVersion": 1.7,
"alwaysOutputData": false
},
{
"id": "2f7a11a0-5c54-4b0d-885a-8a63fd1b6b1e",
"name": "Pinecone 벡터 스토어3",
"type": "@n8n/n8n-nodes-langchain.vectorStorePinecone",
"position": [
64,
16
],
"parameters": {
"mode": "load",
"prompt": "={{ $json.chatInput }}",
"options": {
"pineconeNamespace": "DataPlace"
},
"pineconeIndex": {
"__rl": true,
"mode": "list",
"value": "seo-writer",
"cachedResultName": "seo-writer"
}
},
"credentials": {
"pineconeApi": {
"id": "KFxRVOGBwN0Rzjfi",
"name": "PineconeApi account"
}
},
"typeVersion": 1.2
},
{
"id": "e82c2c2a-bba2-48ae-a1f0-1b0dba7afe01",
"name": "임베딩 Google Gemini3",
"type": "@n8n/n8n-nodes-langchain.embeddingsGoogleGemini",
"position": [
160,
224
],
"parameters": {
"modelName": "models/embedding-001"
},
"credentials": {
"googlePalmApi": {
"id": "GrMMZFFcR5VAsHsI",
"name": "Google Gemini(PaLM) Api account"
}
},
"typeVersion": 1
},
{
"id": "759f3623-2ced-4741-b78d-69b3f7c02d89",
"name": "Google Gemini 채팅 모델3",
"type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
"position": [
400,
208
],
"parameters": {
"options": {},
"modelName": "models/gemini-1.5-flash"
},
"credentials": {
"googlePalmApi": {
"id": "GrMMZFFcR5VAsHsI",
"name": "Google Gemini(PaLM) Api account"
}
},
"typeVersion": 1
},
{
"id": "8a361dda-4cd9-482d-a34a-32d8510f71f4",
"name": "집계",
"type": "n8n-nodes-base.aggregate",
"position": [
-288,
-672
],
"parameters": {
"include": "specifiedFields",
"options": {},
"aggregate": "aggregateAllItemData",
"fieldsToInclude": "markdown"
},
"typeVersion": 1
},
{
"id": "01690ab5-5abe-4b8b-8570-00231d565ace",
"name": "파일로 변환",
"type": "n8n-nodes-base.convertToFile",
"position": [
-48,
-672
],
"parameters": {
"options": {},
"operation": "toText",
"sourceProperty": "data"
},
"typeVersion": 1.1
},
{
"id": "526e7a83-ef44-4147-877f-ee6b52f7546c",
"name": "필드 편집1",
"type": "n8n-nodes-base.set",
"position": [
-1872,
-32
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "0290299d-10a4-40c0-8d41-5d0563f6cd3a",
"name": "Keywords",
"type": "string",
"value": "\"Scraping\", \"Google trends\""
},
{
"id": "541029b9-1400-4a10-a9cd-9f472af59986",
"name": "Search Intent",
"type": "string",
"value": "People searching to get tips on Scraping"
}
]
},
"includeOtherFields": true
},
"typeVersion": 3.4
},
{
"id": "ce2c1ddb-0dc3-48ef-9e7b-bf77b33837e4",
"name": "기본 LLM 체인1",
"type": "@n8n/n8n-nodes-langchain.chainLlm",
"position": [
-1424,
-32
],
"parameters": {
"text": "=I want to write a SEO optimized blog.\n\nKeywords I used: {{ $('Edit Fields1').item.json.Keywords }}\nSearch Intent: {{ $('Edit Fields1').item.json['Search Intent'] }}\nSerp data for the keywords:\n {{ JSON.stringify($json.organic_results) }}\n\nPlease suggest some more keywords that actually align with my search intent. Make use of serp tool for relevancy of keywords.",
"batching": {},
"promptType": "define"
},
"typeVersion": 1.7
},
{
"id": "12412d90-0f45-4054-b5c7-612b595478f2",
"name": "Google Gemini 채팅 모델1",
"type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
"position": [
-1344,
192
],
"parameters": {
"options": {},
"modelName": "models/gemini-1.5-flash"
},
"credentials": {
"googlePalmApi": {
"id": "GrMMZFFcR5VAsHsI",
"name": "Google Gemini(PaLM) Api account"
}
},
"typeVersion": 1
},
{
"id": "089cdb6a-d1c0-41e2-a98d-78422d5fd7e8",
"name": "마크다운",
"type": "n8n-nodes-base.markdown",
"position": [
-1072,
-32
],
"parameters": {
"mode": "markdownToHtml",
"options": {},
"markdown": "={{ $json.text }}"
},
"typeVersion": 1
},
{
"id": "c2c4cba6-a9e2-4ff9-a183-3de51050c23d",
"name": "HTML",
"type": "n8n-nodes-base.html",
"position": [
-848,
-32
],
"parameters": {
"html": "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n <meta charset=\"UTF-8\" />\n <title>Report Summary</title>\n <link href=\"https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&display=swap\" rel=\"stylesheet\">\n <style>\n body {\n margin: 0;\n padding: 0;\n font-family: 'Inter', sans-serif;\n background: #f4f6f8;\n display: flex;\n align-items: center;\n justify-content: center;\n min-height: 100vh;\n }\n\n .container {\n background-color: #ffffff;\n max-width: 600px;\n width: 90%;\n padding: 32px;\n border-radius: 16px;\n box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);\n text-align: center;\n }\n\n h1 {\n color: #ff6d5a;\n font-size: 28px;\n font-weight: 700;\n margin-bottom: 12px;\n }\n\n h2 {\n color: #606770;\n font-size: 20px;\n font-weight: 600;\n margin-bottom: 24px;\n }\n\n .content {\n color: #333;\n font-size: 16px;\n line-height: 1.6;\n white-space: pre-wrap;\n }\n\n @media (max-width: 480px) {\n .container {\n padding: 20px;\n }\n\n h1 {\n font-size: 24px;\n }\n\n h2 {\n font-size: 18px;\n }\n }\n </style>\n</head>\n<body>\n <div class=\"container\">\n <h1>Data Report</h1>\n <h2>Processed via Automation</h2>\n <div class=\"content\">{{ $json.data }}</div>\n </div>\n\n <script>\n console.log(\"Hello World!\");\n </script>\n</body>\n</html>\n"
},
"typeVersion": 1.2
},
{
"id": "b0f2fd25-9fbc-4872-9d70-2d3b0cbcd98e",
"name": "항목 반복",
"type": "n8n-nodes-base.splitInBatches",
"position": [
-992,
-560
],
"parameters": {
"options": {}
},
"typeVersion": 3
},
{
"id": "4cb63818-ffbf-4ffb-9de5-e7fc545befb8",
"name": "스티커 메모",
"type": "n8n-nodes-base.stickyNote",
"position": [
-2000,
-752
],
"parameters": {
"width": 1560,
"height": 600,
"content": "## Scrape and Crawl Website for Knowledge Base"
},
"typeVersion": 1
},
{
"id": "c527d49a-5f98-4b7f-892f-f97cb34e6834",
"name": "스티커 메모1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-432,
-752
],
"parameters": {
"color": 4,
"width": 1360,
"height": 600,
"content": "## Store data on Pinecone"
},
"typeVersion": 1
},
{
"id": "973723ff-d2a4-48c3-8ad4-1cefbee3316a",
"name": "스티커 메모2",
"type": "n8n-nodes-base.stickyNote",
"position": [
-2000,
-144
],
"parameters": {
"color": 5,
"width": 1560,
"height": 580,
"content": "## SERP Analysis using AI"
},
"typeVersion": 1
},
{
"id": "501829c1-94f9-4c25-aa49-02f85f693ccf",
"name": "스티커 메모3",
"type": "n8n-nodes-base.stickyNote",
"position": [
-432,
-144
],
"parameters": {
"color": 3,
"width": 1360,
"height": 580,
"content": "## Use the Knowledge Base to Create Blogs"
},
"typeVersion": 1
},
{
"id": "27e0ebab-f963-4dd4-ac09-776b899378a2",
"name": "임베딩 Google Gemini",
"type": "@n8n/n8n-nodes-langchain.embeddingsGoogleGemini",
"position": [
128,
-480
],
"parameters": {},
"credentials": {
"googlePalmApi": {
"id": "GrMMZFFcR5VAsHsI",
"name": "Google Gemini(PaLM) Api account"
}
},
"typeVersion": 1
},
{
"id": "320558ff-ce36-4085-989d-acafa693aec5",
"name": "모든 블로그 크롤링",
"type": "n8n-nodes-scrapeless.scrapeless",
"position": [
-1712,
-576
],
"parameters": {
"url": "https://www.scrapeless.com/en/blog",
"resource": "crawler",
"operation": "crawl",
"limitCrawlPages": 20
},
"credentials": {
"scrapelessApi": {
"id": "TZksgBeYTz4bs3e5",
"name": "Scrapeless account"
}
},
"typeVersion": 1
},
{
"id": "c8e29523-8555-4a6e-89c3-f3335e319914",
"name": "콘텐츠 파싱 및 정보 추출",
"type": "n8n-nodes-base.code",
"position": [
-1488,
-576
],
"parameters": {
"jsCode": "return items.map(item => {\n const md = $input.first().json['0'].markdown; \n\n if (typeof md !== 'string') {\n console.warn('Markdown content is not a string:', md);\n return {\n json: {\n title: '',\n mainContent: '',\n extractedLinks: [],\n error: 'Markdown content is not a string'\n }\n };\n }\n\n const articleTitleMatch = md.match(/^#\\s*(.*)/m);\n const title = articleTitleMatch ? articleTitleMatch[1].trim() : 'No Title Found';\n\n let mainContent = md.replace(/^#\\s*.*(\\r?\\n)+/, '').trim();\n\n const extractedLinks = [];\n // The negative lookahead `(?!#)` ensures '#' is not matched after the base URL,\n // or a more robust way is to specifically stop before the '#'\n const linkRegex = /\\[([^\\]]+)\\]\\((https?:\\/\\/[^\\s#)]+)\\)/g; \n let match;\n while ((match = linkRegex.exec(mainContent))) {\n extractedLinks.push({\n text: match[1].trim(),\n url: match[2].trim(),\n });\n }\n\n return {\n json: {\n title,\n mainContent,\n extractedLinks,\n },\n };\n});"
},
"typeVersion": 2
},
{
"id": "9b8e9ced-06e4-42e2-814c-43b8bc6a18d4",
"name": "상세 내용 스크래핑",
"type": "n8n-nodes-scrapeless.scrapeless",
"position": [
-704,
-480
],
"parameters": {
"url": "={{ $json.url }}",
"resource": "crawler"
},
"credentials": {
"scrapelessApi": {
"id": "TZksgBeYTz4bs3e5",
"name": "Scrapeless account"
}
},
"typeVersion": 1
},
{
"id": "8acec9c9-8844-4f97-a6dd-1cfaab35a16a",
"name": "Google SERP에서 타겟 키워드 분석",
"type": "n8n-nodes-scrapeless.scrapeless",
"position": [
-1648,
-32
],
"parameters": {
"q": "={{ $json.Keywords }}"
},
"credentials": {
"scrapelessApi": {
"id": "TZksgBeYTz4bs3e5",
"name": "Scrapeless account"
}
},
"typeVersion": 1
},
{
"id": "967a693a-ef41-4c52-a7ea-c11f0466b171",
"name": "URL과 텍스트 분리",
"type": "n8n-nodes-base.splitOut",
"position": [
-1264,
-576
],
"parameters": {
"options": {},
"fieldToSplitOut": "extractedLinks"
},
"typeVersion": 1
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "4c84fe22-5af1-4ca5-b07d-737dbb01c073",
"connections": {
"089cdb6a-d1c0-41e2-a98d-78422d5fd7e8": {
"main": [
[
{
"node": "c2c4cba6-a9e2-4ff9-a183-3de51050c23d",
"type": "main",
"index": 0
}
]
]
},
"8a361dda-4cd9-482d-a34a-32d8510f71f4": {
"main": [
[
{
"node": "01690ab5-5abe-4b8b-8570-00231d565ace",
"type": "main",
"index": 0
}
]
]
},
"526e7a83-ef44-4147-877f-ee6b52f7546c": {
"main": [
[
{
"node": "8acec9c9-8844-4f97-a6dd-1cfaab35a16a",
"type": "main",
"index": 0
}
]
]
},
"01690ab5-5abe-4b8b-8570-00231d565ace": {
"main": [
[
{
"node": "3ba48a52-d664-4c9f-8f4c-05c942fd117f",
"type": "main",
"index": 0
}
]
]
},
"320558ff-ce36-4085-989d-acafa693aec5": {
"main": [
[
{
"node": "c8e29523-8555-4a6e-89c3-f3335e319914",
"type": "main",
"index": 0
}
]
]
},
"b0f2fd25-9fbc-4872-9d70-2d3b0cbcd98e": {
"main": [
[
{
"node": "8a361dda-4cd9-482d-a34a-32d8510f71f4",
"type": "main",
"index": 0
}
],
[
{
"node": "9b8e9ced-06e4-42e2-814c-43b8bc6a18d4",
"type": "main",
"index": 0
}
]
]
},
"ce2c1ddb-0dc3-48ef-9e7b-bf77b33837e4": {
"main": [
[
{
"node": "089cdb6a-d1c0-41e2-a98d-78422d5fd7e8",
"type": "main",
"index": 0
}
]
]
},
"121a1c3a-a056-403c-ad76-28a974e60d68": {
"ai_document": [
[
{
"node": "3ba48a52-d664-4c9f-8f4c-05c942fd117f",
"type": "ai_document",
"index": 0
}
]
]
},
"7db55dbe-d04e-4515-aab7-9ad6ef8db8b5": {
"ai_memory": [
[
{
"node": "b6d0989d-fd3b-40e5-bcda-2999ea5da413",
"type": "ai_memory",
"index": 0
}
]
]
},
"2f7a11a0-5c54-4b0d-885a-8a63fd1b6b1e": {
"main": [
[
{
"node": "b6d0989d-fd3b-40e5-bcda-2999ea5da413",
"type": "main",
"index": 0
}
]
]
},
"27e0ebab-f963-4dd4-ac09-776b899378a2": {
"ai_embedding": [
[
{
"node": "3ba48a52-d664-4c9f-8f4c-05c942fd117f",
"type": "ai_embedding",
"index": 0
}
]
]
},
"9b8e9ced-06e4-42e2-814c-43b8bc6a18d4": {
"main": [
[
{
"node": "b0f2fd25-9fbc-4872-9d70-2d3b0cbcd98e",
"type": "main",
"index": 0
}
]
]
},
"e82c2c2a-bba2-48ae-a1f0-1b0dba7afe01": {
"ai_embedding": [
[
{
"node": "2f7a11a0-5c54-4b0d-885a-8a63fd1b6b1e",
"type": "ai_embedding",
"index": 0
}
]
]
},
"12412d90-0f45-4054-b5c7-612b595478f2": {
"ai_languageModel": [
[
{
"node": "ce2c1ddb-0dc3-48ef-9e7b-bf77b33837e4",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"759f3623-2ced-4741-b78d-69b3f7c02d89": {
"ai_languageModel": [
[
{
"node": "b6d0989d-fd3b-40e5-bcda-2999ea5da413",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"967a693a-ef41-4c52-a7ea-c11f0466b171": {
"main": [
[
{
"node": "b0f2fd25-9fbc-4872-9d70-2d3b0cbcd98e",
"type": "main",
"index": 0
}
]
]
},
"ca4c81af-45e5-4c37-bbdb-83cb0233f9e9": {
"main": [
[
{
"node": "2f7a11a0-5c54-4b0d-885a-8a63fd1b6b1e",
"type": "main",
"index": 0
}
]
]
},
"6bd61074-309d-4675-afac-6d09c59fab80": {
"ai_textSplitter": [
[
{
"node": "121a1c3a-a056-403c-ad76-28a974e60d68",
"type": "ai_textSplitter",
"index": 0
}
]
]
},
"652b062c-6398-4627-81fb-1bdc68a17b4c": {
"main": [
[
{
"node": "320558ff-ce36-4085-989d-acafa693aec5",
"type": "main",
"index": 0
},
{
"node": "526e7a83-ef44-4147-877f-ee6b52f7546c",
"type": "main",
"index": 0
}
]
]
},
"c8e29523-8555-4a6e-89c3-f3335e319914": {
"main": [
[
{
"node": "967a693a-ef41-4c52-a7ea-c11f0466b171",
"type": "main",
"index": 0
}
]
]
},
"8acec9c9-8844-4f97-a6dd-1cfaab35a16a": {
"main": [
[
{
"node": "ce2c1ddb-0dc3-48ef-9e7b-bf77b33837e4",
"type": "main",
"index": 0
}
]
]
}
}
}자주 묻는 질문
이 워크플로우를 어떻게 사용하나요?
위의 JSON 구성 코드를 복사하여 n8n 인스턴스에서 새 워크플로우를 생성하고 "JSON에서 가져오기"를 선택한 후, 구성을 붙여넣고 필요에 따라 인증 설정을 수정하세요.
이 워크플로우는 어떤 시나리오에 적합한가요?
고급 - 콘텐츠 제작, AI RAG
유료인가요?
이 워크플로우는 완전히 무료이며 직접 가져와 사용할 수 있습니다. 다만, 워크플로우에서 사용하는 타사 서비스(예: OpenAI API)는 사용자 직접 비용을 지불해야 할 수 있습니다.
관련 워크플로우 추천
시각화 참조 라이브러리에서 n8n 노드를 탐색
可视化 참조 라이브러리에서 n8n 노드를 탐색
If
Ftp
Set
+
If
Ftp
Set
113 노드I versus AI
기타
Gemini RAG 파이프라인을 사용하여 문서 전문가 채팅 로봇을 구축
사용법 Gemini RAG 파이프라인을 사용하여 문서 전문가 채팅 로봇 구축
Set
Html
Filter
+
Set
Html
Filter
48 노드Lucas Peyrin
내부 위키
🤖 RAG, 제미니, Supabase를 사용하여 문서 전문가 로봇 생성
🤖 RAG, 제미니, Supabase를 사용하여 문서 전문가 로봇 생성
Set
Html
Filter
+
Set
Html
Filter
54 노드Lucas Peyrin
내부 위키
컨텍스트 혼합 RAG AI 콘텐츠
Google Drive에서 Supabase 상황 벡터 데이터베이스로 동기화, RAG 애플리케이션 사용
If
Set
Code
+
If
Set
Code
76 노드Michael Taleb
AI RAG
콘텐츠생성기 v3
AI驱动블로그자동화:사용GPT-4생성并게시SEO기사至WordPress및Twitter
If
Set
Code
+
If
Set
Code
144 노드Jay Emp0
콘텐츠 제작
🤖 Gemini RAG 파이프라인을 사용한 문서 전문가 채팅 로봇 구축
OpenAI RAG 파이프라인을 사용하여 n8n 문서 전문가 채팅 로봇 구축
Set
Html
Filter
+
Set
Html
Filter
46 노드Ayham
내부 위키