Backlinks von Wettbewerbern analysieren
Dies ist ein Market Research, AI Summarization-Bereich Automatisierungsworkflow mit 16 Nodes. Hauptsächlich werden Set, Code, GoogleSheets, McpClientTool, ManualTrigger und andere Nodes verwendet. Extrahierung und Analyse von Wettbewerbs-Backlink-Daten mit Bright Data MCP und GPT
- •Google Sheets API-Anmeldedaten
- •OpenAI API Key
Verwendete Nodes (16)
Kategorie
{
"id": "kJ6CKf3JPavFZYvM",
"meta": {
"instanceId": "60046904b104f0f72b2629a9d88fe9f676be4035769f1f08dad1dd38a76b9480",
"templateCredsSetupCompleted": true
},
"name": "20 Analyze Competitor Backlinks",
"tags": [],
"nodes": [
{
"id": "ee9b60aa-0808-4720-be3a-059b3361100c",
"name": "OpenAI Chat Model",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
480,
280
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4o-mini"
},
"options": {}
},
"credentials": {
"openAiApi": {
"id": "8sEyPDkC5p4w4Jha",
"name": "OpenAi account"
}
},
"typeVersion": 1.2
},
{
"id": "dbcf5e5e-c02c-4324-83df-5fc76727d1af",
"name": "MCP Client",
"type": "n8n-nodes-mcp.mcpClientTool",
"position": [
660,
280
],
"parameters": {
"toolName": "scrape_as_markdown",
"operation": "executeTool",
"toolParameters": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Tool_Parameters', ``, 'json') }}"
},
"credentials": {
"mcpClientApi": {
"id": "eqq94k789oJCd6jU",
"name": "MCP Client (STDIO) account"
}
},
"typeVersion": 1
},
{
"id": "0bdbf6bb-746a-4865-8ca5-d0cd5486e0d1",
"name": "Trigger: Manuelle Ausführung",
"type": "n8n-nodes-base.manualTrigger",
"position": [
0,
0
],
"parameters": {},
"typeVersion": 1
},
{
"id": "2ed6588f-489e-4057-8b3b-f9f19ffa0b86",
"name": "Set: Wettbewerber-Domain",
"type": "n8n-nodes-base.set",
"position": [
200,
0
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "910cdf0d-ed9b-426f-a00e-b0f7c41dc29a",
"name": "url",
"type": "string",
"value": "https://ahrefs.com/"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "b750cb56-d2db-496c-b7ec-53b355049d4d",
"name": "Agent: Backlinks scrapen (Bright Data MCP)",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
520,
0
],
"parameters": {
"text": "=extract any backlinks available from the following url:\n{{ $json.url }}",
"options": {},
"promptType": "define",
"hasOutputParser": true
},
"typeVersion": 2
},
{
"id": "69860787-3f93-472a-8395-c43c24f6cf02",
"name": "Function: Backlinks aufteilen",
"type": "n8n-nodes-base.code",
"position": [
1000,
0
],
"parameters": {
"jsCode": "// This Function node takes input like your provided JSON\n// and returns each backlink as a separate item\n\n// 1️⃣ Get the input\nconst input = items[0].json.output;\n\n// 2️⃣ Extract backlinks array\nconst backlinks = input.backlinks;\n\n// 3️⃣ Build output items\nconst output = backlinks.map(backlink => {\n return {\n json: {\n domain: input.domain,\n title: backlink.title,\n url: backlink.url,\n category: backlink.category,\n date: backlink.date\n }\n };\n});\n\n// 4️⃣ Return array of individual items\nreturn output;\n"
},
"typeVersion": 2
},
{
"id": "cfecaa49-3d11-47ec-a18c-cc26b1e52e99",
"name": "Google Sheets: Backlinks anhängen",
"type": "n8n-nodes-base.googleSheets",
"position": [
1200,
0
],
"parameters": {
"columns": {
"value": {
"url": "={{ $json.url }}",
"date": "={{ $json.date }}",
"title": "={{ $json.title }}",
"domain": "={{ $json.domain }}",
"category": "={{ $json.category }}"
},
"schema": [
{
"id": "domain",
"type": "string",
"display": true,
"required": false,
"displayName": "domain",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "title",
"type": "string",
"display": true,
"required": false,
"displayName": "title",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "url",
"type": "string",
"display": true,
"required": false,
"displayName": "url",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "category",
"type": "string",
"display": true,
"required": false,
"displayName": "category",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "date",
"type": "string",
"display": true,
"required": false,
"displayName": "date",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "append",
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/11_bI1ZmRuroowdXLaQ9OKM11vnaJ134NcE_tLh7S3jw/edit#gid=0",
"cachedResultName": "Sheet1"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "11_bI1ZmRuroowdXLaQ9OKM11vnaJ134NcE_tLh7S3jw",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/11_bI1ZmRuroowdXLaQ9OKM11vnaJ134NcE_tLh7S3jw/edit?usp=drivesdk",
"cachedResultName": "Backlinks"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "r2mDaisH6e9VkwHl",
"name": "Google Sheets account"
}
},
"typeVersion": 4.6
},
{
"id": "33dc3004-5875-4a33-a330-df2b0e3e0ad7",
"name": "Haftnotiz",
"type": "n8n-nodes-base.stickyNote",
"position": [
-40,
-1240
],
"parameters": {
"color": 6,
"width": 380,
"height": 1440,
"content": "## ✅ **🔵 SECTION 1: Input & Trigger**\n\n### ⚙️ **Nodes**\n\n1️⃣ **Trigger: Manual Execute**\n\n\n* **What it does:** This node starts the workflow manually when you click “Execute Workflow.”\n* **Why it’s useful:** It’s the simplest way to test your workflow on demand. Later, you can swap this with a **Schedule** node for daily or weekly runs.\n\n2️⃣ **Set: Competitor Domain**\n\n\n* **What it does:** This node stores the **competitor’s domain** you want to analyze.\n* **Example:** `ahrefs.com` or `moz.com`\n* **Why it’s useful:** You can easily change domains without modifying the whole workflow. For multiple competitors, loop through them!\n\n---\n\n### 💡 **Beginner Benefit**\n\n✅ **Simple input control:** You don’t need to touch code — just type your competitor’s domain in one place.\n✅ **Reusable:** Same input can be reused for any site — just update the domain value.\n\n---\n\n---\n\n"
},
"typeVersion": 1
},
{
"id": "5ad521f9-c227-4e44-a796-68ec79d7e243",
"name": "Haftnotiz1",
"type": "n8n-nodes-base.stickyNote",
"position": [
460,
-1900
],
"parameters": {
"color": 3,
"width": 380,
"height": 2100,
"content": "## ✅ **🤖 SECTION 2: Agent Scrape Engine**\n\n### ⚙️ **Nodes**\n\n3️⃣ **Agent: Scrape Backlinks (Bright Data MCP)**\n\n\n* **What it does:** Calls your **custom scraping Agent** that uses Bright Data MCP to visit backlink explorer pages (like Ahrefs or Moz) and pull backlink data.\n* **How:** The Agent uses a secure proxy network to get around anti-bot protections and scrapes backlink profiles (URL, anchor text, type, etc.).\n* **Output:** Raw JSON with all backlinks found for the competitor.\n\n**Sub-Nodes:**\n\n* ⚙️ **MCP Client: Execute Scraper**\n \n\n * Connects directly to Bright Data’s backend to run the scraper tool.\n* 💬 **OpenAI Chat Model**\n \n\n * Optional: If your Agent needs an LLM to generate instructions or parse dynamic websites, it talks to OpenAI here.\n* 🗂️ **Output Parser: Backlink JSON**\n \n\n * Ensures the Agent’s raw text comes out as **structured JSON** → easy to split & save later.\n\n---\n\n### 💡 **Beginner Benefit**\n\n✅ **No coding scraping:** You don’t have to build scrapers from scratch. Bright Data + Agent handles the hard part.\n✅ **Dynamic parsing:** The OpenAI node helps the Agent handle weird or changing HTML structures.\n✅ **Safe & scalable:** MCP proxies handle geo-blocks and captchas for you.\n\n---\n\n---\n\n"
},
"typeVersion": 1
},
{
"id": "522c5056-4e30-418b-abc7-2fe6925a058a",
"name": "Haftnotiz2",
"type": "n8n-nodes-base.stickyNote",
"position": [
960,
-860
],
"parameters": {
"color": 5,
"width": 400,
"height": 1060,
"content": "## ✅ **🟢 SECTION 3: Transform & Store**\n\n### ⚙️ **Nodes**\n\n4️⃣ **Function: Split Backlinks**\n\n\n* **What it does:** Takes the JSON output of all backlinks and splits them into **one item per backlink**.\n* **Why:** So each backlink becomes its own row when sent to Google Sheets.\n\n5️⃣ **Google Sheets: Append Backlinks**\n\n\n* **What it does:** Adds each backlink as a **new row** in your Google Sheet.\n* **Columns:** Domain, URL, anchor text, date, category, etc.\n\n---\n\n"
},
"typeVersion": 1
},
{
"id": "4f58284e-3415-4be4-beb3-09736c824369",
"name": "Haftnotiz5",
"type": "n8n-nodes-base.stickyNote",
"position": [
1460,
-860
],
"parameters": {
"color": 7,
"width": 380,
"height": 240,
"content": "## I’ll receive a tiny commission if you join Bright Data through this link—thanks for fueling more free content!\n\n### https://get.brightdata.com/1tndi4600b25"
},
"typeVersion": 1
},
{
"id": "eea0c5ec-6e85-41c7-8724-983811834d0f",
"name": "Haftnotiz9",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1840,
-1240
],
"parameters": {
"color": 4,
"width": 1300,
"height": 320,
"content": "=======================================\n WORKFLOW ASSISTANCE\n=======================================\nFor any questions or support, please contact:\n Yaron@nofluff.online\n\nExplore more tips and tutorials here:\n - YouTube: https://www.youtube.com/@YaronBeen/videos\n - LinkedIn: https://www.linkedin.com/in/yaronbeen/\n=======================================\n"
},
"typeVersion": 1
},
{
"id": "5fc4b876-acf6-47b4-8fee-857ff4c0b1ec",
"name": "Haftnotiz4",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1840,
-900
],
"parameters": {
"color": 4,
"width": 1289,
"height": 3898,
"content": "## 🎯 **🔗 Competitor Backlink Extraction Workflow**\n\n---\n\n## ✅ **🔵 SECTION 1: Input & Trigger**\n\n### ⚙️ **Nodes**\n\n1️⃣ **Trigger: Manual Execute**\n\n\n* **What it does:** This node starts the workflow manually when you click “Execute Workflow.”\n* **Why it’s useful:** It’s the simplest way to test your workflow on demand. Later, you can swap this with a **Schedule** node for daily or weekly runs.\n\n2️⃣ **Set: Competitor Domain**\n\n\n* **What it does:** This node stores the **competitor’s domain** you want to analyze.\n* **Example:** `ahrefs.com` or `moz.com`\n* **Why it’s useful:** You can easily change domains without modifying the whole workflow. For multiple competitors, loop through them!\n\n---\n\n### 💡 **Beginner Benefit**\n\n✅ **Simple input control:** You don’t need to touch code — just type your competitor’s domain in one place.\n✅ **Reusable:** Same input can be reused for any site — just update the domain value.\n\n---\n\n---\n\n## ✅ **🤖 SECTION 2: Agent Scrape Engine**\n\n### ⚙️ **Nodes**\n\n3️⃣ **Agent: Scrape Backlinks (Bright Data MCP)**\n\n\n* **What it does:** Calls your **custom scraping Agent** that uses Bright Data MCP to visit backlink explorer pages (like Ahrefs or Moz) and pull backlink data.\n* **How:** The Agent uses a secure proxy network to get around anti-bot protections and scrapes backlink profiles (URL, anchor text, type, etc.).\n* **Output:** Raw JSON with all backlinks found for the competitor.\n\n**Sub-Nodes:**\n\n* ⚙️ **MCP Client: Execute Scraper**\n \n\n * Connects directly to Bright Data’s backend to run the scraper tool.\n* 💬 **OpenAI Chat Model**\n \n\n * Optional: If your Agent needs an LLM to generate instructions or parse dynamic websites, it talks to OpenAI here.\n* 🗂️ **Output Parser: Backlink JSON**\n \n\n * Ensures the Agent’s raw text comes out as **structured JSON** → easy to split & save later.\n\n---\n\n### 💡 **Beginner Benefit**\n\n✅ **No coding scraping:** You don’t have to build scrapers from scratch. Bright Data + Agent handles the hard part.\n✅ **Dynamic parsing:** The OpenAI node helps the Agent handle weird or changing HTML structures.\n✅ **Safe & scalable:** MCP proxies handle geo-blocks and captchas for you.\n\n---\n\n---\n\n## ✅ **🟢 SECTION 3: Transform & Store**\n\n### ⚙️ **Nodes**\n\n4️⃣ **Function: Split Backlinks**\n\n\n* **What it does:** Takes the JSON output of all backlinks and splits them into **one item per backlink**.\n* **Why:** So each backlink becomes its own row when sent to Google Sheets.\n\n5️⃣ **Google Sheets: Append Backlinks**\n\n\n* **What it does:** Adds each backlink as a **new row** in your Google Sheet.\n* **Columns:** Domain, URL, anchor text, date, category, etc.\n\n---\n\n### 💡 **Beginner Benefit**\n\n✅ **Automation:** You don’t need to copy-paste backlinks manually — they land in Sheets ready for outreach.\n✅ **Easy tracking:** Use Sheets filters to sort by link type, opportunity, or priority.\n✅ **Plug & play:** This section works with Airtable, Notion, or a CRM too — just switch the last node.\n\n---\n\n---\n\n## ✅✅✅ **✨ FULL FLOW OVERVIEW**\n\n| Section | What happens |\n| -------------------------- | -------------------------------------------------------------------------------------------------------- |\n| ⚡ **Input & Trigger** | You click **Execute**, add a domain, and launch the flow. |\n| 🤖 **Agent Scrape Engine** | The Agent + Bright Data does smart scraping, handles captchas, parses messy HTML, and outputs neat JSON. |\n| 🟢 **Transform & Store** | The JSON is split into single backlinks and each one lands in your Google Sheet for action. |\n\n---\n\n## 📌 **How You Benefit Overall**\n\n✅ No manual scraping\n✅ No manual copy-paste\n✅ No coding headaches\n✅ Fully automated link prospecting → just open your Sheet & start outreach!\n\n---\n\n**✨ This is a beginner-friendly SEO growth engine — and you built it with no code! ✨**\n\n---\n"
},
"typeVersion": 1
},
{
"id": "e1d427ca-b97d-4026-a550-507e31b10370",
"name": "Auto-fixing Output Parser",
"type": "@n8n/n8n-nodes-langchain.outputParserAutofixing",
"position": [
800,
280
],
"parameters": {
"options": {}
},
"typeVersion": 1
},
{
"id": "ece54ff0-7010-4547-b73f-dc59660767c1",
"name": "OpenAI Chat Model1",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
760,
520
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4o-mini"
},
"options": {}
},
"credentials": {
"openAiApi": {
"id": "8sEyPDkC5p4w4Jha",
"name": "OpenAi account"
}
},
"typeVersion": 1.2
},
{
"id": "ad2d763e-decd-49ce-a226-267808c93470",
"name": "Structured Output Parser",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
940,
500
],
"parameters": {
"jsonSchemaExample": "{\n \"domain\": \"https://ahrefs.com/\",\n \"backlinks\": [\n {\n \"title\": \"Ahrefs Certification: What To Expect and How It Works\",\n \"url\": \"https://ahrefs.com/blog/ahrefs-certification/\",\n \"category\": \"Blog\",\n \"date\": \"March 2025\"\n },\n {\n \"title\": \"Ahrefs Blog\",\n \"url\": \"https://ahrefs.com/blog/\",\n \"category\": \"Learn Marketing\"\n },\n {\n \"title\": \"Ahrefs Academy\",\n \"url\": \"https://academy.ahrefs.com\",\n \"category\": \"Learn Marketing\"\n },\n {\n \"title\": \"Ahrefs Podcast\",\n \"url\": \"https://www.youtube.com/c/AhrefsCom\",\n \"category\": \"Learn Marketing\"\n },\n {\n \"title\": \"Ahrefs YouTube Channel\",\n \"url\": \"https://www.youtube.com/c/AhrefsCom\",\n \"category\": \"Learn Marketing\"\n },\n {\n \"title\": \"Help Center\",\n \"url\": \"https://help.ahrefs.com\",\n \"category\": \"Resources\"\n },\n {\n \"title\": \"Ahrefs Data\",\n \"url\": \"https://ahrefs.com/big-data\",\n \"category\": \"Resources\"\n },\n {\n \"title\": \"Agency Directory\",\n \"url\": \"https://www.ahrefs.com/agencies\",\n \"category\": \"User Testimonials and Community\"\n },\n {\n \"title\": \"About Ahrefs\",\n \"url\": \"https://ahrefs.com/about\",\n \"category\": \"Company Information\"\n },\n {\n \"title\": \"Jobs at Ahrefs\",\n \"url\": \"https://ahrefs.com/jobs\",\n \"category\": \"Company Information\"\n },\n {\n \"title\": \"Twitter\",\n \"url\": \"https://x.com/ahrefs\",\n \"category\": \"Social Media\"\n },\n {\n \"title\": \"YouTube\",\n \"url\": \"https://www.youtube.com/c/AhrefsCom\",\n \"category\": \"Social Media\"\n },\n {\n \"title\": \"Instagram\",\n \"url\": \"https://www.instagram.com/ahrefs\",\n \"category\": \"Social Media\"\n },\n {\n \"title\": \"Facebook\",\n \"url\": \"https://www.facebook.com/Ahrefs\",\n \"category\": \"Social Media\"\n },\n {\n \"title\": \"LinkedIn\",\n \"url\": \"https://www.linkedin.com\",\n \"category\": \"Social Media\"\n }\n ]\n}\n"
},
"typeVersion": 1.2
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "16dc3c18-f761-4b99-a44c-8d189ad97893",
"connections": {
"dbcf5e5e-c02c-4324-83df-5fc76727d1af": {
"ai_tool": [
[
{
"node": "b750cb56-d2db-496c-b7ec-53b355049d4d",
"type": "ai_tool",
"index": 0
}
]
]
},
"ee9b60aa-0808-4720-be3a-059b3361100c": {
"ai_languageModel": [
[
{
"node": "b750cb56-d2db-496c-b7ec-53b355049d4d",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"ece54ff0-7010-4547-b73f-dc59660767c1": {
"ai_languageModel": [
[
{
"node": "e1d427ca-b97d-4026-a550-507e31b10370",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"2ed6588f-489e-4057-8b3b-f9f19ffa0b86": {
"main": [
[
{
"node": "b750cb56-d2db-496c-b7ec-53b355049d4d",
"type": "main",
"index": 0
}
]
]
},
"0bdbf6bb-746a-4865-8ca5-d0cd5486e0d1": {
"main": [
[
{
"node": "2ed6588f-489e-4057-8b3b-f9f19ffa0b86",
"type": "main",
"index": 0
}
]
]
},
"ad2d763e-decd-49ce-a226-267808c93470": {
"ai_outputParser": [
[
{
"node": "e1d427ca-b97d-4026-a550-507e31b10370",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"e1d427ca-b97d-4026-a550-507e31b10370": {
"ai_outputParser": [
[
{
"node": "b750cb56-d2db-496c-b7ec-53b355049d4d",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"69860787-3f93-472a-8395-c43c24f6cf02": {
"main": [
[
{
"node": "cfecaa49-3d11-47ec-a18c-cc26b1e52e99",
"type": "main",
"index": 0
}
]
]
},
"b750cb56-d2db-496c-b7ec-53b355049d4d": {
"main": [
[
{
"node": "69860787-3f93-472a-8395-c43c24f6cf02",
"type": "main",
"index": 0
}
]
]
}
}
}Wie verwende ich diesen Workflow?
Kopieren Sie den obigen JSON-Code, erstellen Sie einen neuen Workflow in Ihrer n8n-Instanz und wählen Sie "Aus JSON importieren". Fügen Sie die Konfiguration ein und passen Sie die Anmeldedaten nach Bedarf an.
Für welche Szenarien ist dieser Workflow geeignet?
Experte - Marktforschung, KI-Zusammenfassung
Ist es kostenpflichtig?
Dieser Workflow ist völlig kostenlos. Beachten Sie jedoch, dass Drittanbieterdienste (wie OpenAI API), die im Workflow verwendet werden, möglicherweise kostenpflichtig sind.
Verwandte Workflows
Yaron Been
@yaron-nofluffBuilding AI Agents and Automations | Growth Marketer | Entrepreneur | Book Author & Podcast Host If you need any help with Automations, feel free to reach out via linkedin: https://www.linkedin.com/in/yaronbeen/ And check out my Youtube channel: https://www.youtube.com/@YaronBeen/videos
Diesen Workflow teilen