8
n8n 한국어amn8n.com

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
워크플로우 미리보기
노드 연결 관계를 시각적으로 표시하며, 확대/축소 및 이동을 지원합니다
워크플로우 내보내기
다음 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)는 사용자 직접 비용을 지불해야 할 수 있습니다.

워크플로우 정보
난이도
고급
노드 수16
카테고리2
노드 유형10
난이도 설명

고급 사용자를 위한 16+개 노드의 복잡한 워크플로우

저자
Zacharia Kimotho

Zacharia Kimotho

@imperolq

Automation expert with years of experience helping businesses improve their efficiency and productivity with smart automations that are affordable, scalable, and flexible.

외부 링크
n8n.io에서 보기

이 워크플로우 공유

카테고리

카테고리: 34