Google Sheets에서 SEO 앵커 텍스트 생성
고급
이것은Content Creation, Multimodal AI분야의자동화 워크플로우로, 19개의 노드를 포함합니다.주로 Code, Filter, GoogleSheets, SplitInBatches, Agent 등의 노드를 사용하며. 사용Claude 4 Sonnet로 Google Sheets에서 SEO 앵커 텍스트 생성
사전 요구사항
- •Google Sheets API 인증 정보
- •Anthropic API Key
워크플로우 미리보기
노드 연결 관계를 시각적으로 표시하며, 확대/축소 및 이동을 지원합니다
워크플로우 내보내기
다음 JSON 구성을 복사하여 n8n에 가져오면 이 워크플로우를 사용할 수 있습니다
{
"meta": {
"instanceId": "393ca9e36a1f81b0f643c72792946a5fe5e49eb4864181ba4032e5a408278263"
},
"nodes": [
{
"id": "8c2cca9f-cd91-4afc-8c2a-dbfb79b64b56",
"name": "채팅 메시지 수신 시",
"type": "@n8n/n8n-nodes-langchain.chatTrigger",
"position": [
-1792,
208
],
"webhookId": "181a1719-6394-4157-98ed-3a7a48b23a0a",
"parameters": {
"mode": "webhook",
"public": true,
"options": {
"responseMode": "responseNode"
}
},
"typeVersion": 1.3
},
{
"id": "6d70bc94-52aa-4ac6-b94e-aca33559f7d0",
"name": "필터",
"type": "n8n-nodes-base.filter",
"position": [
-944,
208
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "4aa3c2d2-9383-4b0c-a8ee-8a691dcd8744",
"operator": {
"type": "string",
"operation": "notEmpty",
"singleValue": true
},
"leftValue": "={{ $json.URL }}",
"rightValue": ""
},
{
"id": "81017b55-ffb5-497c-8b05-5d2643e3fecd",
"operator": {
"type": "string",
"operation": "empty",
"singleValue": true
},
"leftValue": "={{ $json.Anchors }}",
"rightValue": ""
}
]
}
},
"typeVersion": 2.2
},
{
"id": "3b41fbd6-fdf0-43e7-b2ac-db6f49869370",
"name": "항목 반복",
"type": "n8n-nodes-base.splitInBatches",
"position": [
-400,
208
],
"parameters": {
"options": {}
},
"typeVersion": 3
},
{
"id": "26244ced-732e-4e26-93d8-d6dbdf15e3a5",
"name": "앵커 생성기",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
96,
224
],
"parameters": {
"text": "=# Context\nYou are an SEO expert specialized in internal linking optimization. Your mission is to create optimized link anchors for natural referencing with all their linguistic variations.\n# Task\nBased on the provided information about a web page, generate 10 different SEO anchors with all linguistic variations that can be used to create internal links to this page from other pages of the site.\n# Input Data\n\nPage URL: {{ $json.URL }}\nPage Name/Title: {{ $json['Niv 0'] }}{{ $json['Niv 1'] }}{{ $json['Niv 2'] }}{{ $json['Niv 3'] }}\nContent Description: {{ $json['Description de la page'] }}\n\n# Instructions for Anchor Generation\n## SEO Criteria to Follow:\n\nSemantic relevance: The anchor must faithfully reflect the content of the target page\nStrategic keywords: Integrate the main keywords of the target page\nNaturalness: The anchor must integrate naturally into text\nDiversity: Vary formulations to avoid over-optimization\nOptimal length: Between 2 and 6 words for maximum efficiency\n\n## Types of Anchors to Create:\n\nExact anchors: Use the exact main keyword (2 variants)\nBrand/name anchors: Use the page or section name (2 variants)\nLong-tail anchors: Longer expressions including secondary keywords (3 variants)\nContextual anchors: Natural formulations for insertion in a paragraph (2 variants)\nCall-to-action anchors: Encourage action while describing content (1 variant)\n\n## Linguistic Variations to Generate for Each Anchor:\nFor each main anchor, systematically generate:\n\nSingular/plural variation (if applicable)\nGender variation: masculine/feminine (if applicable)\nTemporal variation: present/past/future (if applicable)\nFormal/informal variation: formal/casual register\nSynonymous variation: use of main synonyms\nStructural variation: word order inversion, addition/removal of articles\nPrepositional variation: with/without prepositions (to, of, for, on, etc.)\n\n# Desired Output Format\nmain anchor 1\nvariation 1\nvariation 2\nvariation 3\nvariation 4\nmain anchor 2\nvariation 1\nvariation 2\nvariation 3\nvariation 4\nmain anchor 3\nvariation 1\nvariation 2\nvariation 3\nvariation 4\nmain anchor 4\nvariation 1\nvariation 2\nvariation 3\nvariation 4\nmain anchor 5\nvariation 1\nvariation 2\nvariation 3\nvariation 4\nmain anchor 6\nvariation 1\nvariation 2\nvariation 3\nvariation 4\nmain anchor 7\nvariation 1\nvariation 2\nvariation 3\nvariation 4\nmain anchor 8\nvariation 1\nvariation 2\nvariation 3\nvariation 4\nmain anchor 9\nvariation 1\nvariation 2\nvariation 3\nvariation 4\nmain anchor 10\nvariation 1\nvariation 2\nvariation 3\nvariation 4\n# Additional Constraints\n\nAvoid generic anchors (\"click here\", \"learn more\", \"read more\")\nDon't repeat exactly the same formulation between main anchors and their variations\nAdapt the language register to the website's tone\nPrioritize added value for the user\nEnsure balanced distribution between different types of anchors\nGenerate 3-5 relevant variations per anchor (not necessarily 4 if certain variations don't apply)\nPrioritize quality of variations over quantity\n\nDon't make an introduction or conclusion to your response, simply return the list of anchors with their variations.\nGenerate now 10 optimized SEO anchors with all their linguistic variations for the described page.",
"options": {},
"promptType": "define"
},
"typeVersion": 2.2
},
{
"id": "a498c4b3-1a95-41cf-ac41-c9f5d6f37c61",
"name": "Anthropic Chat Model",
"type": "@n8n/n8n-nodes-langchain.lmChatAnthropic",
"position": [
80,
400
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "claude-sonnet-4-20250514",
"cachedResultName": "Claude 4 Sonnet"
},
"options": {}
},
"credentials": {
"anthropicApi": {
"id": "WXQf5QsxCs3AyxlW",
"name": "Anthropic account"
}
},
"typeVersion": 1.3
},
{
"id": "4296eb85-78a4-4c38-ad7d-a080d3b8b07a",
"name": "시트 업데이트",
"type": "n8n-nodes-base.googleSheets",
"position": [
1312,
224
],
"parameters": {
"columns": {
"value": {},
"schema": [],
"mappingMode": "autoMapInputData",
"matchingColumns": [],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "update",
"sheetName": {
"__rl": true,
"mode": "name",
"value": "Anchor"
},
"documentId": {
"__rl": true,
"mode": "url",
"value": "={{ $('When chat message received').item.json.chatInput }}"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "wBRLUCktxqXE6DVJ",
"name": "Google Sheets account"
}
},
"typeVersion": 4.5
},
{
"id": "a8c0d205-ff46-4cd9-89c2-11be32cd90f0",
"name": "시트 가져오기",
"type": "n8n-nodes-base.code",
"position": [
912,
224
],
"parameters": {
"jsCode": "// Code avec conservation de toutes les colonnes existantes\nconst items = [];\n\n// Récupérer les données de vos différents nodes \nconst loopItem = $('Loop Over Items').item.json;\nconst aiAgentOutput = $input.first().json.output;\n\n// Créer l'objet avec toutes les colonnes et le mapping des nouvelles valeurs\nconst transformedItem = {\n // Copier toutes les propriétés existantes\n ...loopItem,\n \n // Écraser/ajouter les nouvelles valeurs\n 'Ancre': aiAgentOutput\n};\n\n// Retourner l'item transformé\nitems.push(transformedItem);\nreturn items;"
},
"typeVersion": 2
},
{
"id": "eba6bb70-cd87-485b-8f91-dad6ef78c8dc",
"name": "스티커 노트",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1824,
112
],
"parameters": {
"color": 4,
"width": 608,
"height": 288,
"content": "# Phase 1: Workflow Initialization"
},
"typeVersion": 1
},
{
"id": "7a2d141f-442b-475f-af20-69edd9111637",
"name": "스티커 노트1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-64,
112
],
"parameters": {
"color": 3,
"width": 688,
"height": 432,
"content": "# Phase 4: AI-Powered Anchor Generation"
},
"typeVersion": 1
},
{
"id": "c088d3ac-bef8-4191-be23-a5084171ba55",
"name": "스티커 노트2",
"type": "n8n-nodes-base.stickyNote",
"position": [
656,
112
],
"parameters": {
"width": 896,
"height": 304,
"content": "# Phase 5: Data Integration and Google Sheets Update"
},
"typeVersion": 1
},
{
"id": "3fd478d7-3082-4e37-9ef7-6b492d29b53a",
"name": "스티커 노트3",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1824,
448
],
"parameters": {
"color": 4,
"width": 608,
"height": 592,
"content": "###What you do:\n\nDuplicate this template: https://docs.google.com/spreadsheets/d/1VNl8xLYgRrNcKrmN9hCdfov1dMnwD44tAALJZAlagCo\nFill in your page information in the \"Anchor\" sheet with:\n\nPage: Name/title of your page\nURL: Complete URL of the page\nPage description: Brief description of the page content to help AI generate relevant anchors\n\n\nSend a chat message with your duplicated Google Sheets URL to trigger the workflow\n\n### What the system does:\n\nReceives the chat trigger and extracts the Google Sheets URL from your message\nConnects to Google Sheets using OAuth2 authentication\nRetrieves all data from the \"Anchor\" sheet of your specified document\nLoads your page information including names, URLs, and descriptions for anchor generation\n\n### Result:\n\n✅ Workflow activated and ready to process your SEO data\n✅ Secure connection established to your Google Sheets document\n✅ All page information loaded and available for AI processing\n✅ Foundation set for automated anchor generation based on your specific pages"
},
"typeVersion": 1
},
{
"id": "95720cff-a480-48e8-aa19-d1250c199b8f",
"name": "시트 가져오기",
"type": "n8n-nodes-base.googleSheets",
"position": [
-1440,
208
],
"parameters": {
"options": {},
"sheetName": {
"__rl": true,
"mode": "name",
"value": "Anchor"
},
"documentId": {
"__rl": true,
"mode": "url",
"value": "={{ $('When chat message received').item.json.chatInput }}"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "wBRLUCktxqXE6DVJ",
"name": "Google Sheets account"
}
},
"typeVersion": 4.7
},
{
"id": "e5d907dc-e34c-431a-8f30-f8d95ada7daf",
"name": "스티커 노트4",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1184,
112
],
"parameters": {
"width": 528,
"height": 288,
"content": "# Phase 2: Data Filtering and Validation"
},
"typeVersion": 1
},
{
"id": "0f5cec09-d540-4c79-8946-ac486a4d9e71",
"name": "스티커 노트5",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1184,
448
],
"parameters": {
"width": 528,
"height": 304,
"content": "### What the system does:\n\nFilters the retrieved data to identify pages that need anchor text generation\nApplies specific criteria: pages must have a URL but no existing anchor text\nValidates data quality by checking for empty anchor fields\nPrepares clean dataset for the AI processing pipeline\n\n### Result:\n\n✅ Only relevant pages selected for anchor generation\n✅ Existing anchor texts preserved and protected\n✅ Clean, validated data ready for AI processing\n✅ Efficient workflow execution by avoiding unnecessary processing\n"
},
"typeVersion": 1
},
{
"id": "f16841d6-b2ba-4dab-b057-608030855427",
"name": "스티커 노트6",
"type": "n8n-nodes-base.stickyNote",
"position": [
-624,
112
],
"parameters": {
"color": 7,
"width": 528,
"height": 288,
"content": "# Phase 3: Batch Processing Setup"
},
"typeVersion": 1
},
{
"id": "02cd635e-9b37-48e7-ac4e-5942745a1885",
"name": "스티커 노트7",
"type": "n8n-nodes-base.stickyNote",
"position": [
-624,
448
],
"parameters": {
"color": 7,
"width": 528,
"height": 288,
"content": "### What the system does:\n\nOrganizes filtered data into manageable processing batches\nInitializes the loop mechanism to handle multiple pages sequentially\nPrepares each page item with all necessary context information\nSets up iterative processing to ensure all pages are handled individually\n\n### Result:\n\n✅ Systematic processing of all qualifying pages\n✅ Memory-efficient batch handling for large datasets\n✅ Individual attention to each page's unique characteristics\n✅ Reliable processing loop that handles interruptions gracefully"
},
"typeVersion": 1
},
{
"id": "b47f1ce3-a4bf-4da7-b0a4-10cde82ab188",
"name": "스티커 노트8",
"type": "n8n-nodes-base.stickyNote",
"position": [
-64,
576
],
"parameters": {
"color": 3,
"width": 688,
"height": 400,
"content": "## What the system does:\n\nProcesses each page individually using Claude 4 Sonnet AI model\nAnalyzes page context including URL, title hierarchy (Niv 0-3), and content description\nGenerates 10 unique SEO anchors with 3-5 linguistic variations each (40-50 total variations)\nApplies advanced SEO criteria: semantic relevance, keyword optimization, natural language flow\nCreates diverse anchor types: exact match, brand anchors, long-tail, contextual, and call-to-action variants\nEnsures linguistic diversity with singular/plural, formal/informal, and synonym variations\n\n## Result:\n\n✅ Professional-quality anchor texts optimized for internal linking\n✅ Diverse anchor variations to avoid over-optimization penalties\n✅ SEO-compliant anchors that improve search engine rankings\n✅ Natural language anchors that enhance user experience\n✅ Comprehensive anchor library for flexible content integration\n"
},
"typeVersion": 1
},
{
"id": "7939bb48-faf1-4f4c-830e-84142302b900",
"name": "스티커 노트9",
"type": "n8n-nodes-base.stickyNote",
"position": [
656,
448
],
"parameters": {
"width": 896,
"height": 416,
"content": "## What the system does:\n\nCombines AI-generated anchors with existing page data while preserving all original information\nTransforms data structure to match Google Sheets format requirements\nUpdates the original Google Sheets document with generated anchor texts in the \"Ancre\" column\nUses keyword matching to ensure accurate row updates without data corruption\nCompletes the processing loop and moves to the next page in the batch\nContinues iterative processing until all filtered pages have anchor texts generated\nMaintains real-time synchronization between the workflow and your spreadsheet\n\n## Result:\n\n✅ Generated anchors seamlessly integrated with existing data\n✅ Your Google Sheets document automatically updated with new anchor texts\n✅ Complete SEO anchor library available for immediate use in content\n✅ Batch processing completed efficiently for all qualifying pages\n✅ Ready-to-use internal linking strategy with professional anchor variations\n✅ Time saved compared to manual anchor text creation and researchRéessayer"
},
"typeVersion": 1
},
{
"id": "e1c3fd04-0438-4956-86d3-7a9810b06510",
"name": "스티커 노트13",
"type": "n8n-nodes-base.stickyNote",
"position": [
-2816,
112
],
"parameters": {
"width": 816,
"height": 336,
"content": "## Need more advanced automation solutions? Contact us for custom enterprise workflows!\n\n# Growth-AI.fr\n\n## https://www.linkedin.com/in/allanvaccarizi/\n## https://www.linkedin.com/in/hugo-marinier-%F0%9F%A7%B2-6537b633/"
},
"typeVersion": 1
}
],
"pinData": {},
"connections": {
"6d70bc94-52aa-4ac6-b94e-aca33559f7d0": {
"main": [
[
{
"node": "3b41fbd6-fdf0-43e7-b2ac-db6f49869370",
"type": "main",
"index": 0
}
]
]
},
"95720cff-a480-48e8-aa19-d1250c199b8f": {
"main": [
[
{
"node": "4296eb85-78a4-4c38-ad7d-a080d3b8b07a",
"type": "main",
"index": 0
}
]
]
},
"4296eb85-78a4-4c38-ad7d-a080d3b8b07a": {
"main": [
[
{
"node": "3b41fbd6-fdf0-43e7-b2ac-db6f49869370",
"type": "main",
"index": 0
}
]
]
},
"3b41fbd6-fdf0-43e7-b2ac-db6f49869370": {
"main": [
[],
[
{
"node": "26244ced-732e-4e26-93d8-d6dbdf15e3a5",
"type": "main",
"index": 0
}
]
]
},
"a498c4b3-1a95-41cf-ac41-c9f5d6f37c61": {
"ai_languageModel": [
[
{
"node": "26244ced-732e-4e26-93d8-d6dbdf15e3a5",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"26244ced-732e-4e26-93d8-d6dbdf15e3a5": {
"main": [
[
{
"node": "95720cff-a480-48e8-aa19-d1250c199b8f",
"type": "main",
"index": 0
}
]
]
},
"8c2cca9f-cd91-4afc-8c2a-dbfb79b64b56": {
"main": [
[
{
"node": "95720cff-a480-48e8-aa19-d1250c199b8f",
"type": "main",
"index": 0
}
]
]
}
}
}자주 묻는 질문
이 워크플로우를 어떻게 사용하나요?
위의 JSON 구성 코드를 복사하여 n8n 인스턴스에서 새 워크플로우를 생성하고 "JSON에서 가져오기"를 선택한 후, 구성을 붙여넣고 필요에 따라 인증 설정을 수정하세요.
이 워크플로우는 어떤 시나리오에 적합한가요?
고급 - 콘텐츠 제작, 멀티모달 AI
유료인가요?
이 워크플로우는 완전히 무료이며 직접 가져와 사용할 수 있습니다. 다만, 워크플로우에서 사용하는 타사 서비스(예: OpenAI API)는 사용자 직접 비용을 지불해야 할 수 있습니다.
관련 워크플로우 추천
Claude AI와 경쟁 분석을 사용한 SEO 콘텐츠 생성기
사용Claude AI와Apify 경쟁 분석으로 SEO 콘텐츠 생성
If
Code
Filter
+
If
Code
Filter
36 노드Growth AI
콘텐츠 제작
Claude AI, 경쟁 분석 및 Supabase RAG을 사용한 SEO 콘텐츠 생성기
사용Claude AI, 경쟁 분석, Supabase RAG으로 SEO 콘텐츠 생성
If
Code
Filter
+
If
Code
Filter
40 노드Growth AI
콘텐츠 제작
Claude AI를 사용하여 Google Sheets에서 WordPress로 접근성 대체 텍스트 생성
Claude AI를 사용하여 Google Sheets에서 WordPress로 접근성 대체 텍스트 생성
If
Code
Http Request
+
If
Code
Http Request
10 노드Growth AI
콘텐츠 제작
OpenAI, RunwayML, ElevenLabs를 사용한 무면식 숏폼 비디오 자동화
OpenAI, RunwayML, ElevenLabs를 사용한 무면쇼트 비디오 자동화: 스크립트부터 소셜 미디어까지
Set
Code
Wait
+
Set
Code
Wait
56 노드LeeWei
콘텐츠 제작
Gemini AI와 Flux 이미지 생성을 통한 인기 게시물 분석 기반 LinkedIn 콘텐츠 자동 생성
Gemini AI 및 Flux 이미지 생성을 사용한 인기 게시물 분석으로 LinkedIn 콘텐츠 자동 생성
Code
Wait
Filter
+
Code
Wait
Filter
20 노드Roshan Ramani
콘텐츠 제작
WordPress 블로그 자동화 프로페셔널 에디션(심층 연구) v2.1 마켓
GPT-4o, Perplexity AI 및 다국어 지원을 사용한 SEO 최적화 블로그 생성 자동화
If
Set
Xml
+
If
Set
Xml
125 노드Daniel Ng
콘텐츠 제작