Bright Data와 Gemini AI를 사용하여 SEO 최적화 제목과 메타DESCRIPTION 생성
고급
이것은Market Research, Multimodal AI분야의자동화 워크플로우로, 16개의 노드를 포함합니다.주로 Set, HttpRequest, GoogleSheets, ManualTrigger, SplitInBatches 등의 노드를 사용하며. 사용Bright Data와Gemini AI로 SEO 최적화된 제목과 메타 설명 생성
사전 요구사항
- •대상 API의 인증 정보가 필요할 수 있음
- •Google Sheets API 인증 정보
- •Google Gemini API Key
사용된 노드 (16)
워크플로우 미리보기
노드 연결 관계를 시각적으로 표시하며, 확대/축소 및 이동을 지원합니다
워크플로우 내보내기
다음 JSON 구성을 복사하여 n8n에 가져오면 이 워크플로우를 사용할 수 있습니다
{
"meta": {
"instanceId": "db80165df40cb07c0377167c050b3f9ab0b0fb04f0e8cae0dc53f5a8527103ca",
"templateCredsSetupCompleted": true
},
"nodes": [
{
"id": "63865e5c-9e83-49ad-8d51-02391ee9e36c",
"name": "워크플로우 실행 클릭 시",
"type": "n8n-nodes-base.manualTrigger",
"position": [
-1728,
464
],
"parameters": {},
"typeVersion": 1
},
{
"id": "e935f831-25e0-4325-b0a4-72dd632c6c46",
"name": "Google 검색 결과 수집 JSON",
"type": "n8n-nodes-base.httpRequest",
"onError": "continueErrorOutput",
"position": [
-816,
480
],
"parameters": {
"url": "https://api.brightdata.com/request",
"method": "POST",
"options": {
"batching": {
"batch": {}
},
"redirect": {
"redirect": {}
}
},
"sendBody": true,
"sendQuery": true,
"sendHeaders": true,
"authentication": "genericCredentialType",
"bodyParameters": {
"parameters": [
{
"name": "zone",
"value": "serp_api1"
},
{
"name": "url",
"value": "=https://www.google.com/search?q={{ $json.search_term .replaceAll(\" \", \"+\")}}&start=0&brd_json=1"
},
{
"name": "country",
"value": "={{ $json['country code'] }}"
},
{
"name": "format",
"value": "raw"
}
]
},
"genericAuthType": "httpHeaderAuth",
"queryParameters": {
"parameters": [
{
"name": "async",
"value": "true"
}
]
},
"headerParameters": {
"parameters": [
{
"name": "Accept",
"value": "application/json"
}
]
}
},
"credentials": {
"httpHeaderAuth": {
"id": "gfLRVcGG09VEZv5B",
"name": "Brightdata Header"
}
},
"typeVersion": 4.2,
"alwaysOutputData": true
},
{
"id": "ee4881f0-9148-493e-825e-ce2dde83fbae",
"name": "키워드 추출",
"type": "n8n-nodes-base.googleSheets",
"position": [
-1520,
464
],
"parameters": {
"options": {},
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1QU9rwawCZLiYW8nlYYRMj-9OvAUNZoe2gP49KbozQqw/edit#gid=0",
"cachedResultName": "Keywords to Track"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1QU9rwawCZLiYW8nlYYRMj-9OvAUNZoe2gP49KbozQqw",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1QU9rwawCZLiYW8nlYYRMj-9OvAUNZoe2gP49KbozQqw/edit?usp=drivesdk",
"cachedResultName": "Position Tracking for Keyword + Dashboard "
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "ZAI2a6Qt80kX5a9s",
"name": "Google Sheets account✅ "
}
},
"typeVersion": 4.6
},
{
"id": "69fff95a-24de-4331-89a8-14d4ea25c066",
"name": "항목 반복 처리",
"type": "n8n-nodes-base.splitInBatches",
"position": [
-1280,
464
],
"parameters": {
"options": {}
},
"typeVersion": 3
},
{
"id": "9b6c4df9-90af-431a-9d85-54ea38c49155",
"name": "Google Gemini 채팅 모델",
"type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
"position": [
-400,
624
],
"parameters": {
"options": {}
},
"credentials": {
"googlePalmApi": {
"id": "Xp5T9q3YYxBIw2nd",
"name": "Google Gemini(PaLM) Api account✅"
}
},
"typeVersion": 1
},
{
"id": "4f164104-6881-4636-b238-d75c7d52f866",
"name": "새 제목 및 메타설명 생성",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
-400,
464
],
"parameters": {
"text": "=You are an advanced SEO strategist and content optimization engine.\n\nYour task is to:\n1. Analyze the list of top-ranking page titles and meta descriptions for a given keyword.\n2. Infer common SEO patterns, content structure, and user search intent.\n3. Use these insights to generate a highly optimized new **Title** and **Meta Description** that:\n - Aligns with the dominant SERP format\n - Matches search intent\n - Stands out enough to drive clicks (CTR-optimized)\n - Includes the target keyword naturally\n - Sounds trustworthy, relevant, and modern\n\n---\n\n### Input Keyword:\n{{ $('set keyword').item.json.search_term }}\n### Top SERP Results (Titles + Descriptions):\n{{ $json.titlesDescriptions }}\n\n### \"People Also Ask\" Questions:\n{{ $json.paaQuestions }}\n\n---\n\n### Output Format:\n{\n \"intent\": \"[Label the dominant search intent. Examples: Listicle, How-to, Informational, Commercial, Review, Product Page, Case Study, etc.]\",\n \"dominant_patterns\": {\n \"title_structure\": \"[Respond only with the generalized pattern using placeholders. No full sentences. No explanations.]\",\n \"meta_structure\": \"[Respond only with the generalized meta pattern using placeholders. No full sentences. No explanations.]\"\n},\n \"optimized_title\": \"[SEO-optimized title for the keyword]\",\n \"optimized_meta\": \"[Well-written meta description under 160 characters]\",\n \"cta\": \"[Optional call-to-action if helpful]\"\n}\n",
"options": {},
"promptType": "define",
"hasOutputParser": true
},
"typeVersion": 2
},
{
"id": "d150f732-b580-430b-9a2d-d225b73839f9",
"name": "구조화 출력 파서1",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
-192,
656
],
"parameters": {
"jsonSchemaExample": "{\n \"intent\": \"[Label the dominant search intent. Examples: Listicle, How-to, Informational, Commercial, Review, Product Page, Case Study, etc.]\",\n \"dominant_patterns\": {\n \"title_structure\": \"[Respond only with the generalized pattern using placeholders. No full sentences. No explanations.]\",\n \"meta_structure\": \"[Respond only with the generalized meta pattern using placeholders. No full sentences. No explanations.]\"\n},\n \"optimized_title\": \"[SEO-optimized title for the keyword]\",\n \"optimized_meta\": \"[Well-written meta description under 160 characters]\",\n \"cta\": \"[Optional call-to-action if helpful]\"\n}"
},
"typeVersion": 1.3
},
{
"id": "8529bfb4-a3cb-4bc1-b83e-a6ed777bf1a8",
"name": "메타 구조",
"type": "n8n-nodes-base.set",
"position": [
-80,
464
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "660979bb-be4d-4551-b15a-1963b9c1b4d1",
"name": "Keyword",
"type": "string",
"value": "={{ $('Loop Over Items').item.json.search_term }}"
},
{
"id": "334b8afd-d8ae-4b75-8f03-3f9315870268",
"name": "intent",
"type": "string",
"value": "={{ $json.output.intent }}"
},
{
"id": "b2f9402c-7f22-4081-b5ac-494c6a3f9869",
"name": "dominant_patterns - meta_structure",
"type": "string",
"value": "={{ $json.output.dominant_patterns.meta_structure }}"
},
{
"id": "018ce0e2-5af2-40df-adc5-2ab1d8977d05",
"name": "dominant_patterns - title_structure",
"type": "string",
"value": "={{ $json.output.dominant_patterns.title_structure }}"
},
{
"id": "6890732d-c773-4254-bb3d-2acdcab32ef2",
"name": "optimized_title",
"type": "string",
"value": "={{ $json.output.optimized_title }}"
},
{
"id": "99ef63dc-c8e3-48e5-8d29-9c7019b019b2",
"name": "optimized_meta",
"type": "string",
"value": "={{ $json.output.optimized_meta }}"
},
{
"id": "d4768bd4-23c0-4bf1-8e88-51c21e314cf9",
"name": "cta",
"type": "string",
"value": "={{ $json.output.cta }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "b1271960-96c0-48a4-9bd6-07325b0ea5e1",
"name": "새 메타 및 구조 생성",
"type": "n8n-nodes-base.googleSheets",
"position": [
112,
464
],
"parameters": {
"columns": {
"value": {},
"schema": [
{
"id": "Keyword",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Keyword",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "country code",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "country code",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "domain",
"type": "string",
"display": true,
"required": false,
"displayName": "domain",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "page",
"type": "string",
"display": true,
"required": false,
"displayName": "page",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Position",
"type": "string",
"display": true,
"required": false,
"displayName": "Position",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "intent",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "intent",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "dominant_patterns - meta_structure",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "dominant_patterns - meta_structure",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "dominant_patterns - title_structure",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "dominant_patterns - title_structure",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "optimized_title",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "optimized_title",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "optimized_meta",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "optimized_meta",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "CTA",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "CTA",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "cta",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "cta",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "autoMapInputData",
"matchingColumns": [
"Keyword"
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "appendOrUpdate",
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1QU9rwawCZLiYW8nlYYRMj-9OvAUNZoe2gP49KbozQqw/edit#gid=0",
"cachedResultName": "Keywords to Track"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1QU9rwawCZLiYW8nlYYRMj-9OvAUNZoe2gP49KbozQqw",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1QU9rwawCZLiYW8nlYYRMj-9OvAUNZoe2gP49KbozQqw/edit?usp=drivesdk",
"cachedResultName": "Position Tracking for Keyword + Dashboard "
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "ZAI2a6Qt80kX5a9s",
"name": "Google Sheets account✅ "
}
},
"typeVersion": 4.6
},
{
"id": "70796069-27d9-4076-8936-e5ec75ab42e8",
"name": "스티키 노트",
"type": "n8n-nodes-base.stickyNote",
"position": [
-608,
384
],
"parameters": {
"width": 980,
"height": 504,
"content": "## Analyze title and meta description formats for top 10 pages"
},
"typeVersion": 1
},
{
"id": "ad89de82-a005-4851-8c40-102b83f3c912",
"name": "스티키 노트4",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1584,
384
],
"parameters": {
"width": 200,
"height": 320,
"content": "- Make a copy of this [G sheet](https://docs.google.com/spreadsheets/d/1QU9rwawCZLiYW8nlYYRMj-9OvAUNZoe2gP49KbozQqw/edit?usp=sharing)\n\n- Add your desired keywords"
},
"typeVersion": 1
},
{
"id": "571a1981-a9f3-4b66-8c9f-3d4779425df6",
"name": "스티키 노트5",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1344,
288
],
"parameters": {
"color": 5,
"width": 200,
"height": 340,
"content": "- We loop over each item one at a time"
},
"typeVersion": 1
},
{
"id": "5b39d950-56e9-4069-81f0-8a061a56795d",
"name": "키워드 설정",
"type": "n8n-nodes-base.set",
"position": [
-1008,
480
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "cee3c6fe-dc44-43b2-9243-a1f1a62f9fa1",
"name": "search_term",
"type": "string",
"value": "={{ $json.Keyword }}"
},
{
"id": "3c58a493-6d15-4b90-bc5a-154d6f6d6474",
"name": "country code",
"type": "string",
"value": "={{ $json['country code'] }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "72f54c66-32df-45a4-8b1d-84a02cc7c4b8",
"name": "스티키 노트6",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1024,
400
],
"parameters": {
"color": 4,
"width": 340,
"height": 320,
"content": "- Map keyword and country code \n- Update the Zone name to match your zone on Bright Data\n- Run the scraper"
},
"typeVersion": 1
},
{
"id": "49eb27cd-0ced-498d-a85e-92c0928847a4",
"name": "키워드 매핑",
"type": "n8n-nodes-base.set",
"position": [
-576,
464
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "4a5b9b7c-184e-4269-bee1-36684b1c99fc",
"name": "titlesDescriptions",
"type": "array",
"value": "={{ $json.organic.map(item => ({ title: item.title, description: item.description })) }}"
},
{
"id": "27ae3f27-d185-4ef0-8aaa-7e65c87fa6f2",
"name": "paaQuestions",
"type": "array",
"value": "={{ $json.people_also_ask.map(item => item.question )}}"
},
{
"id": "cd6102fa-8c47-44ca-b302-53b52dcaeb4f",
"name": "search_term",
"type": "string",
"value": "={{ $('set keyword').item.json.search_term }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "ae34e2d9-17ec-4013-a1cc-1ed7b1adfcae",
"name": "작업 없음, 유지1",
"type": "n8n-nodes-base.noOp",
"position": [
-784,
784
],
"parameters": {},
"typeVersion": 1
}
],
"pinData": {},
"connections": {
"5b39d950-56e9-4069-81f0-8a061a56795d": {
"main": [
[
{
"node": "e935f831-25e0-4325-b0a4-72dd632c6c46",
"type": "main",
"index": 0
}
]
]
},
"ee4881f0-9148-493e-825e-ce2dde83fbae": {
"main": [
[
{
"node": "69fff95a-24de-4331-89a8-14d4ea25c066",
"type": "main",
"index": 0
}
]
]
},
"8529bfb4-a3cb-4bc1-b83e-a6ed777bf1a8": {
"main": [
[
{
"node": "b1271960-96c0-48a4-9bd6-07325b0ea5e1",
"type": "main",
"index": 0
}
]
]
},
"69fff95a-24de-4331-89a8-14d4ea25c066": {
"main": [
[],
[
{
"node": "5b39d950-56e9-4069-81f0-8a061a56795d",
"type": "main",
"index": 0
},
{
"node": "69fff95a-24de-4331-89a8-14d4ea25c066",
"type": "main",
"index": 0
}
]
]
},
"49eb27cd-0ced-498d-a85e-92c0928847a4": {
"main": [
[
{
"node": "4f164104-6881-4636-b238-d75c7d52f866",
"type": "main",
"index": 0
}
]
]
},
"9b6c4df9-90af-431a-9d85-54ea38c49155": {
"ai_languageModel": [
[
{
"node": "4f164104-6881-4636-b238-d75c7d52f866",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"d150f732-b580-430b-9a2d-d225b73839f9": {
"ai_outputParser": [
[
{
"node": "4f164104-6881-4636-b238-d75c7d52f866",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"e935f831-25e0-4325-b0a4-72dd632c6c46": {
"main": [
[
{
"node": "49eb27cd-0ced-498d-a85e-92c0928847a4",
"type": "main",
"index": 0
}
],
[
{
"node": "ae34e2d9-17ec-4013-a1cc-1ed7b1adfcae",
"type": "main",
"index": 0
}
]
]
},
"63865e5c-9e83-49ad-8d51-02391ee9e36c": {
"main": [
[
{
"node": "ee4881f0-9148-493e-825e-ce2dde83fbae",
"type": "main",
"index": 0
}
]
]
},
"4f164104-6881-4636-b238-d75c7d52f866": {
"main": [
[
{
"node": "8529bfb4-a3cb-4bc1-b83e-a6ed777bf1a8",
"type": "main",
"index": 0
}
]
]
}
}
}자주 묻는 질문
이 워크플로우를 어떻게 사용하나요?
위의 JSON 구성 코드를 복사하여 n8n 인스턴스에서 새 워크플로우를 생성하고 "JSON에서 가져오기"를 선택한 후, 구성을 붙여넣고 필요에 따라 인증 설정을 수정하세요.
이 워크플로우는 어떤 시나리오에 적합한가요?
고급 - 시장 조사, 멀티모달 AI
유료인가요?
이 워크플로우는 완전히 무료이며 직접 가져와 사용할 수 있습니다. 다만, 워크플로우에서 사용하는 타사 서비스(예: OpenAI API)는 사용자 직접 비용을 지불해야 할 수 있습니다.
관련 워크플로우 추천
Google 크롤링, Bright Data 및 Gemini AI를 사용한 키워드 검색 의도 분석
구글 크롤링, Bright Data 및 Gemini AI를 사용하여 키워드 검색 의도 분석
Set
Merge
Split Out
+
Set
Merge
Split Out
24 노드Zacharia Kimotho
시장 조사
LinkedIn 및 X 바이럴 콘텐츠 자동 엔진
사용AI생성및게시자동생성LinkedIn및X의病毒콘텐츠
If
Set
Wait
+
If
Set
Wait
156 노드Diptamoy Barman
콘텐츠 제작
브랜드 보이콧성 검사 - AI 연구소 데모 프로젝트
跨AI검색工具의品牌可见性및情感분석 (OpenAI、Perplexity、ChatGPT)
If
Set
Limit
+
If
Set
Limit
48 노드AOE Agent Lab
시장 조사
YouTube 댓글 감정 및 키워드 추출기
Gemini AI를 사용하여 YouTube 댓글 감성 및 키워드 분석 및 Telegram으로 보고
Set
Code
Telegram
+
Set
Code
Telegram
20 노드Budi SJ
시장 조사
GPT-5 nano와 Google Sheets를 사용하여 웹을 추출하고 질문에 답하다
GPT-5 nano와 Google Sheets를 사용하여 웹사이트를 추출하고 질문에 답하다
If
Set
Xml
+
If
Set
Xml
44 노드Oriol Seguí
시장 조사
심층 연구 인공지능에이전트
심층 연구 인공지능 - 자동 연구 및 Notion 보고서 생성기
Set
Code
Filter
+
Set
Code
Filter
43 노드Aziz B
시장 조사
워크플로우 정보
난이도
고급
노드 수16
카테고리2
노드 유형10
저자
Zacharia Kimotho
@imperolqAutomation expert with years of experience helping businesses improve their efficiency and productivity with smart automations that are affordable, scalable, and flexible.
외부 링크
n8n.io에서 보기 →
이 워크플로우 공유