실시간 링크 체커
중급
이것은AI, Marketing분야의자동화 워크플로우로, 13개의 노드를 포함합니다.주로 Code, Wait, HttpRequest, GoogleSheets, ManualTrigger 등의 노드를 사용하며인공지능 기술을 결합하여 스마트 자동화를 구현합니다. Google Sheets와 DataForSEO를 사용하여 역링크 모니터링 자동화.
사전 요구사항
- •대상 API의 인증 정보가 필요할 수 있음
- •Google Sheets API 인증 정보
워크플로우 미리보기
노드 연결 관계를 시각적으로 표시하며, 확대/축소 및 이동을 지원합니다
워크플로우 내보내기
다음 JSON 구성을 복사하여 n8n에 가져오면 이 워크플로우를 사용할 수 있습니다
{
"id": "WGUpujme8ctIkBF8",
"meta": {
"instanceId": "431560c610ab26f4776059ff809760704293c90767af32183943d4c54ac57441",
"templateCredsSetupCompleted": true
},
"name": "Live link checker",
"tags": [],
"nodes": [
{
"id": "40009961-9c97-49ee-b9ce-440e65b41e47",
"name": "항목 반복",
"type": "n8n-nodes-base.splitInBatches",
"position": [
-280,
200
],
"parameters": {
"options": {}
},
"typeVersion": 3
},
{
"id": "85a73ac8-a8c6-4b5e-a870-3b1a58336037",
"name": "‘워크플로 테스트’ 클릭 시",
"type": "n8n-nodes-base.manualTrigger",
"position": [
-1060,
200
],
"parameters": {},
"typeVersion": 1
},
{
"id": "a1495fc5-d39d-4cf5-b8d3-a804d82ba1a5",
"name": "Google Sheets 읽기",
"type": "n8n-nodes-base.googleSheets",
"position": [
-780,
200
],
"parameters": {
"options": {
"dataLocationOnSheet": {
"values": {
"range": "D1:E",
"rangeDefinition": "specifyRangeA1"
}
}
},
"sheetName": {
"__rl": true,
"mode": "list",
"value": 1573787772,
"cachedResultUrl": "",
"cachedResultName": "Lost links"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "10CYntk8OmYemJBpcfs1dH_7p_PJxiBMpsfATtLYw7jI",
"cachedResultUrl": "",
"cachedResultName": "Sheet with lost links"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "shxBIVyk68LlqTnb",
"name": "Google Sheets account 3"
}
},
"typeVersion": 4.5
},
{
"id": "bd055fee-f66b-4b1d-9ee2-3581021d8b1f",
"name": "백링크 URL 정리",
"type": "n8n-nodes-base.code",
"position": [
-560,
200
],
"parameters": {
"jsCode": "return items.map(item => {\n let url = item.json['Backlink URL']; // Get the URL from the current item's JSON\n let domain = url.match(/https?:\\/\\/(?:www\\.)?([^/]+)/)[1]; \n return { json: { domain, url } };\n});\n$input.first().json['Backlink URL']"
},
"typeVersion": 2
},
{
"id": "030b04e9-da35-4448-b2f4-c1543eafabf5",
"name": "DataForSEO로 HTTP POST 요청 전송",
"type": "n8n-nodes-base.httpRequest",
"position": [
-20,
220
],
"parameters": {
"url": "https://api.dataforseo.com/v3/on_page/task_post",
"method": "POST",
"options": {},
"jsonBody": "=[{\n\"target\": \"{{ $json.domain }}\",\n\"start_url\": \"{{ $json.url }}\",\n\"max_crawl_pages\": 1\n}]",
"sendBody": true,
"specifyBody": "json",
"authentication": "genericCredentialType",
"genericAuthType": "httpBasicAuth"
},
"credentials": {
"httpBasicAuth": {
"id": "MeuonUXyXYX6lg4R",
"name": "Unnamed credential"
}
},
"typeVersion": 4.2
},
{
"id": "6ac33fbd-2daf-4b5f-a7a2-fe742294765b",
"name": "20초 대기",
"type": "n8n-nodes-base.wait",
"position": [
200,
220
],
"webhookId": "f1cc4df1-6443-4ecd-8708-fd40858f3762",
"parameters": {
"amount": 20
},
"typeVersion": 1.1
},
{
"id": "2213992d-d782-4357-8f59-87a8afb3f7f1",
"name": "DataForSEO로 HTTP 링크 요청 전송",
"type": "n8n-nodes-base.httpRequest",
"onError": "continueRegularOutput",
"position": [
440,
220
],
"parameters": {
"url": "https://api.dataforseo.com/v3/on_page/links",
"method": "POST",
"options": {
"batching": {
"batch": {
"batchSize": 1
}
}
},
"jsonBody": "=[\n {\n \"id\": \"{{ $json.tasks[0].id }}\"\n }\n]\n",
"sendBody": true,
"specifyBody": "json",
"authentication": "genericCredentialType",
"genericAuthType": "httpBasicAuth"
},
"credentials": {
"httpBasicAuth": {
"id": "MeuonUXyXYX6lg4R",
"name": "Unnamed credential"
}
},
"typeVersion": 4.2,
"alwaysOutputData": false
},
{
"id": "ab3b47d7-381a-48e9-aad3-8555d6c36145",
"name": "랜딩 페이지에 존재하는 백링크 확인",
"type": "n8n-nodes-base.code",
"position": [
680,
220
],
"parameters": {
"mode": "runOnceForEachItem",
"jsCode": "const result = $json.tasks?.[0]?.result?.[0];\nconst links = result?.items || []; // Safe fallback to an empty array\n\nlet backlink = $('Reads Google Sheets').item.json['Landing page']; // Expected backlink\n\n// Find the backlink in the scraped data\nlet foundLink = links.find(link => link.link_to === backlink);\n\n// Check if the backlink exists and if it's dofollow\nlet status = \"Lost\"; // Default to lost\nif (foundLink) {\n status = foundLink.dofollow ? \"Live\" : \"Lost (Nofollow)\";\n}\n\nreturn {\n json: {\n backlink: backlink,\n status: status\n }\n};\n"
},
"typeVersion": 2
},
{
"id": "d07a8791-74d9-4f86-b9d8-e0847406a96e",
"name": "Google sheets로 데이터 전송",
"type": "n8n-nodes-base.googleSheets",
"position": [
900,
220
],
"parameters": {
"columns": {
"value": {
"Status": "={{ $json.status }}",
"Backlink URL": "={{ $('Loop Over Items').item.json.url }}"
},
"schema": [
{
"id": "Company",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Company",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Contact A",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Contact A",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Channel",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Channel",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Backlink URL",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Backlink URL",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Landing page",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Landing page",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Anchor",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Anchor",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Money out",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Money out",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Money in",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Money in",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Invoice OUT",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Invoice OUT",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Invoice IN",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Invoice IN",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Invoice out status",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Invoice out status",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Invoice in status",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Invoice in status",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Status",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Status",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [
"Backlink URL"
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "appendOrUpdate",
"sheetName": {
"__rl": true,
"mode": "list",
"value": 1573787772,
"cachedResultUrl": "",
"cachedResultName": "Lost links"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "10CYntk8OmYemJBpcfs1dH_7p_PJxiBMpsfATtLYw7jI",
"cachedResultUrl": "",
"cachedResultName": "Sheet with lost links"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "shxBIVyk68LlqTnb",
"name": "Google Sheets account 3"
}
},
"typeVersion": 4.5
},
{
"id": "f241c2f2-6a0b-4709-92ff-c6c11f9477f5",
"name": "스티키 노트",
"type": "n8n-nodes-base.stickyNote",
"position": [
-880,
-200
],
"parameters": {
"color": 4,
"width": 300,
"height": 340,
"content": "Connect your Google Sheets account.\nEnsure your Google Sheet has clearly defined columns:\n\n\"Backlink URL\": URL of the page containing the backlink.\n\n\"Landing page\": The exact URL of your website page you're checking the backlink for.\n\nDefine your data range explicitly (e.g., D1:E) to accurately fetch these columns. The columns must be named exactly as specified to ensure the workflow functions correctly."
},
"typeVersion": 1
},
{
"id": "42390706-6877-4f67-92d5-fcc13903bb6c",
"name": "스티키 노트1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-140,
-320
],
"parameters": {
"color": 4,
"width": 380,
"height": 480,
"content": "## Configure your DataForSEO TASK POST NODE\n(Basic Authentication). Insert your API key and password into n8n's Credentials settings. This node sends each URL/domain pair to the DataForSEO On-Page API for analysis.\n\n\nSettings:\n\nMethod:POST\n\nURL:https://api.dataforseo.com/v3/on_page/task_post\n\nJSON body:\n\n[{\n \"target\": \"{{ $json.domain }}\",\n \"start_url\": \"{{ $json.url }}\",\n \"max_crawl_pages\": 1\n}]\n"
},
"typeVersion": 1
},
{
"id": "60d54c3d-a2be-4961-9932-4075d769896e",
"name": "스티키 노트2",
"type": "n8n-nodes-base.stickyNote",
"position": [
300,
-320
],
"parameters": {
"color": 4,
"width": 400,
"height": 480,
"content": "## Configure your DataForSEO ON-PAGE LINKS NODE\n\nFetches the results from DataForSEO. Ensure your credentials are properly set (same as the previous DataForSEO node). This node retrieves link data, checking if the backlink exists and its status (dofollow/nofollow).\n\nSettings: \nMethod: Post\n\nURL:https://api.dataforseo.com/v3/on_page/links\n\nJSON body example:\n\n[\n {\n \"id\": \"{{ $json.tasks[0].id }}\"\n }\n]\n"
},
"typeVersion": 1
},
{
"id": "1d800e2a-4385-4f98-b891-c40c7706bdee",
"name": "스티키 노트3",
"type": "n8n-nodes-base.stickyNote",
"position": [
760,
-260
],
"parameters": {
"color": 4,
"width": 440,
"height": 400,
"content": "## Send data to Google Sheets\n\nThis node updates your Google Sheet with backlink check results.\n\nMap each column manually as follows:\n\nMatching Column (used to find the correct row): Backlink URL\n\nBacklink URL: {{ $('Loop Over Items').item.json.url }}\n\nStatus: {{ $json.status }}\n\nMake sure these columns (Backlink URL and Status) already exist in your Google Sheet and have these exact names.\n\nThis will correctly update the backlink status (e.g., Live, Lost, or Lost (Nofollow)) based on each URL processed."
},
"typeVersion": 1
}
],
"active": false,
"pinData": {
"When clicking ‘Test workflow’": [
{
"json": {}
}
]
},
"settings": {
"executionOrder": "v1"
},
"versionId": "f74ca31f-8b7c-48d9-9b5f-d8295c642497",
"connections": {
"40009961-9c97-49ee-b9ce-440e65b41e47": {
"main": [
[],
[
{
"node": "030b04e9-da35-4448-b2f4-c1543eafabf5",
"type": "main",
"index": 0
}
]
]
},
"6ac33fbd-2daf-4b5f-a7a2-fe742294765b": {
"main": [
[
{
"node": "2213992d-d782-4357-8f59-87a8afb3f7f1",
"type": "main",
"index": 0
}
]
]
},
"bd055fee-f66b-4b1d-9ee2-3581021d8b1f": {
"main": [
[
{
"node": "40009961-9c97-49ee-b9ce-440e65b41e47",
"type": "main",
"index": 0
}
]
]
},
"a1495fc5-d39d-4cf5-b8d3-a804d82ba1a5": {
"main": [
[
{
"node": "bd055fee-f66b-4b1d-9ee2-3581021d8b1f",
"type": "main",
"index": 0
}
]
]
},
"d07a8791-74d9-4f86-b9d8-e0847406a96e": {
"main": [
[
{
"node": "40009961-9c97-49ee-b9ce-440e65b41e47",
"type": "main",
"index": 0
}
]
]
},
"85a73ac8-a8c6-4b5e-a870-3b1a58336037": {
"main": [
[
{
"node": "a1495fc5-d39d-4cf5-b8d3-a804d82ba1a5",
"type": "main",
"index": 0
}
]
]
},
"030b04e9-da35-4448-b2f4-c1543eafabf5": {
"main": [
[
{
"node": "6ac33fbd-2daf-4b5f-a7a2-fe742294765b",
"type": "main",
"index": 0
}
]
]
},
"2213992d-d782-4357-8f59-87a8afb3f7f1": {
"main": [
[
{
"node": "ab3b47d7-381a-48e9-aad3-8555d6c36145",
"type": "main",
"index": 0
}
]
]
},
"ab3b47d7-381a-48e9-aad3-8555d6c36145": {
"main": [
[
{
"node": "d07a8791-74d9-4f86-b9d8-e0847406a96e",
"type": "main",
"index": 0
}
]
]
}
}
}자주 묻는 질문
이 워크플로우를 어떻게 사용하나요?
위의 JSON 구성 코드를 복사하여 n8n 인스턴스에서 새 워크플로우를 생성하고 "JSON에서 가져오기"를 선택한 후, 구성을 붙여넣고 필요에 따라 인증 설정을 수정하세요.
이 워크플로우는 어떤 시나리오에 적합한가요?
중급 - 인공지능, 마케팅
유료인가요?
이 워크플로우는 완전히 무료이며 직접 가져와 사용할 수 있습니다. 다만, 워크플로우에서 사용하는 타사 서비스(예: OpenAI API)는 사용자 직접 비용을 지불해야 할 수 있습니다.
관련 워크플로우 추천
Meta 광고 라이브러리 스크래핑 및 Gemini를 사용한 비디오 광고 분석, 데이터를 Google Sheets에 저장
Gemini를 사용하여 Meta 광고 라이브러리 동영상 광고 분석 및 결과를 Google Sheets에 저장
Set
Code
Sort
+
Set
Code
Sort
24 노드Daniel Setzermann
인공지능
경쟁자 내용 분석을 통해 시장 조사와 SEO의 내용 공백 발견
InfraNodus GraphRAG을 사용하여 경쟁사 웹 사이트 내용 공백을 분석하고 SEO를 돕습니다.
If
Code
Wait
+
If
Code
Wait
37 노드InfraNodus
인공지능
AI个性化多제품이메일마케팅
基于SMTP轮换의AI个性化多제품이메일마케팅(GPT-4o/o3-mini)
If
Code
Wait
+
If
Code
Wait
41 노드Badr
영업
아마존 제품 검색 크롤러 (BrightData, GPT-4 및 Google Sheets)
BrightData, GPT-4, Google Sheets를 사용한 Amazon 제품 검색 크롤러
Code
Split Out
Http Request
+
Code
Split Out
Http Request
11 노드phil
인공지능
Dumpling AI와 GPT-4o를 사용한 AI 뉴스 댓글 자동 생성
Dumpling AI와 GPT-4o로 AI 뉴스 코멘트리 자동 생성
Code
Wait
Split Out
+
Code
Wait
Split Out
14 노드Yang
인공지능
Bright Data와 LLMs로 대규모 초개인화 아웃리치 자동화
Bright Data 및 대규모 언어 모델을 통한 대규모 초개인화 아웃리치 자동화
If
Set
Wait
+
If
Set
Wait
21 노드Yaron Been
영업
워크플로우 정보
난이도
중급
노드 수13
카테고리2
노드 유형7
저자
Mykolas Bartkus
@mykolas-saaslinkbuilderMykolas is the founder of saaslinkbuilder and has built over 5,000 high-quality links for SaaS companies. He got his start working with top Lithuanian SaaS brands and now shares his SEO AI workflows.
외부 링크
n8n.io에서 보기 →
이 워크플로우 공유