ドメイン分析器ワーキングテンプレート

中級

これはMarket Research分野の自動化ワークフローで、12個のノードを含みます。主にCode, McpClient, GoogleSheets, ManualTrigger, SplitInBatchesなどのノードを使用。 Ahrefs と Google Sheets を使って マルチドメインの SEO 分析を自動化

前提条件
  • Google Sheets API認証情報

カテゴリー

ワークフロープレビュー
ノード接続関係を可視化、ズームとパンをサポート
ワークフローをエクスポート
以下のJSON設定をn8nにインポートして、このワークフローを使用できます
{
  "id": "62lxnDVx4b47ql6P",
  "meta": {
    "instanceId": "3d4f6f82ad714311bb383a0cddf651da8753530e5575f46d078b9a29d27557e0"
  },
  "name": "Domain Analyzer Workflow Template",
  "nodes": [
    {
      "id": "d4d19da7-a633-4090-8449-0d51556b6f36",
      "name": "ワークフロー実行時",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        -1024,
        144
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "6297f8b6-b592-48e0-80ea-799e7ba02e95",
      "name": "アイテムのループ処理",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        -560,
        144
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 3
    },
    {
      "id": "8e2c22fa-bd52-4ef2-b998-f88b073eab71",
      "name": "JSON解析",
      "type": "n8n-nodes-base.code",
      "position": [
        -160,
        -240
      ],
      "parameters": {
        "jsCode": "// Input: Stringified JSON with escaped characters like \\n, \\\", etc.\nconst inputString = $input.first().json.result.content[0].text\n\n// Parse the string into a real object\nconst parsedJson = JSON.parse(inputString);\n\nreturn [\n  {\n    json: parsedJson\n  }\n];"
      },
      "typeVersion": 2
    },
    {
      "id": "5c3fa80f-a116-4d1c-8b3f-872dab147dba",
      "name": "トラフィックデータをシートに追加",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        16,
        -240
      ],
      "parameters": {
        "columns": {
          "value": {
            "Domain": "={{ $('Get Domains in sheet').item.json.Domain }}",
            "top_pages": "={{ $json.top_pages }}",
            "top_keywords": "={{ $json.top_keywords }}",
            "costMontlyAvg": "={{ $json.traffic.costMontlyAvg }}",
            "top_countries": "={{ $json.top_countries }}",
            "traffic_history": "={{ $json.traffic_history }}",
            "trafficMonthlyAvg": "={{ $json.traffic.trafficMonthlyAvg }}"
          },
          "schema": [
            {
              "id": "Domain",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Domain",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "trafficMonthlyAvg",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "trafficMonthlyAvg",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "costMontlyAvg",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "costMontlyAvg",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "traffic_history",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "traffic_history",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "top_pages",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "top_pages",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "top_keywords",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "top_keywords",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "top_countries",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "top_countries",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "domainRating",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "domainRating",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "urlRating",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "urlRating",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "backlinksCount",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "backlinksCount",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "referringDomains",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "referringDomains",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "dofollowBacklinksPercentage",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "dofollowBacklinksPercentage",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "dofollowRefdomainsPercentage",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "dofollowRefdomainsPercentage",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "row_number",
              "type": "number",
              "display": true,
              "removed": true,
              "readOnly": true,
              "required": false,
              "displayName": "row_number",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "Domain"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "update",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1hqDbgAfqxH7y79TO1Brt8lIXupGkQ7WSf1mnQiiw7Oo/edit#gid=0",
          "cachedResultName": "Domains"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1oBQqboIT9ubDmMIvvZveAneUHpuNV60egXsIU3hyuy0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1oBQqboIT9ubDmMIvvZveAneUHpuNV60egXsIU3hyuy0/edit?usp=drivesdk",
          "cachedResultName": "Example: Domain Analyzer Workflow"
        },
        "authentication": "serviceAccount"
      },
      "credentials": {
        "googleApi": {
          "id": "CEWCuoGMaP93jgCn",
          "name": "GCP Service account"
        }
      },
      "typeVersion": 4.6
    },
    {
      "id": "67be72c9-3fb1-43a5-a720-5cdb42c87129",
      "name": "JSON解析1",
      "type": "n8n-nodes-base.code",
      "position": [
        -176,
        416
      ],
      "parameters": {
        "jsCode": "// Input: Stringified JSON with escaped characters like \\n, \\\", etc.\nconst inputString = $input.first().json.result.content[0].text\n\n// Parse the string into a real object\nconst parsedJson = JSON.parse(inputString);\n\nreturn [\n  {\n    json: parsedJson\n  }\n];"
      },
      "typeVersion": 2
    },
    {
      "id": "ee24bf73-35c9-4f29-b577-6f2901ddf70d",
      "name": "ドメインSEOデータをシートに追加",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        0,
        416
      ],
      "parameters": {
        "columns": {
          "value": {
            "Domain": "={{ $('Get Domains in sheet').item.json.Domain }}",
            "urlRating": "={{ $json.overview.urlRating }}",
            "domainRating": "={{ $json.overview.domainRating }}",
            "backlinksCount": "={{ $json.overview.backlinks }}",
            "referringDomains": "={{ $json.overview.refdomains }}",
            "dofollowBacklinksPercentage": "={{ $json.overview.dofollowBacklinks }}",
            "dofollowRefdomainsPercentage": "={{ $json.overview.dofollowRefdomains }}"
          },
          "schema": [
            {
              "id": "Domain",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Domain",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "trafficMonthlyAvg",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "trafficMonthlyAvg",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "costMontlyAvg",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "costMontlyAvg",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "traffic_history",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "traffic_history",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "top_pages",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "top_pages",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "top_keywords",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "top_keywords",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "top_countries",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "top_countries",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "domainRating",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "domainRating",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "urlRating",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "urlRating",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "backlinksCount",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "backlinksCount",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "referringDomains",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "referringDomains",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "dofollowBacklinksPercentage",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "dofollowBacklinksPercentage",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "dofollowRefdomainsPercentage",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "dofollowRefdomainsPercentage",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "row_number",
              "type": "number",
              "display": true,
              "removed": true,
              "readOnly": true,
              "required": false,
              "displayName": "row_number",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "Domain"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "update",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1hqDbgAfqxH7y79TO1Brt8lIXupGkQ7WSf1mnQiiw7Oo/edit#gid=0",
          "cachedResultName": "Domains"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1oBQqboIT9ubDmMIvvZveAneUHpuNV60egXsIU3hyuy0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1oBQqboIT9ubDmMIvvZveAneUHpuNV60egXsIU3hyuy0/edit?usp=drivesdk",
          "cachedResultName": "Example: Domain Analyzer Workflow"
        },
        "authentication": "serviceAccount"
      },
      "credentials": {
        "googleApi": {
          "id": "CEWCuoGMaP93jgCn",
          "name": "GCP Service account"
        }
      },
      "typeVersion": 4.6
    },
    {
      "id": "53a605a3-dbca-43f9-9dca-ab3e3aa46fd0",
      "name": "シート内のドメインを取得",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        -800,
        144
      ],
      "parameters": {
        "options": {},
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1oBQqboIT9ubDmMIvvZveAneUHpuNV60egXsIU3hyuy0/edit#gid=0",
          "cachedResultName": "Domains"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1oBQqboIT9ubDmMIvvZveAneUHpuNV60egXsIU3hyuy0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1oBQqboIT9ubDmMIvvZveAneUHpuNV60egXsIU3hyuy0/edit?usp=drivesdk",
          "cachedResultName": "Example: Domain Analyzer Workflow"
        },
        "authentication": "serviceAccount"
      },
      "credentials": {
        "googleApi": {
          "id": "CEWCuoGMaP93jgCn",
          "name": "GCP Service account"
        }
      },
      "typeVersion": 4.6
    },
    {
      "id": "56dea17f-3c6d-4cd3-9aa8-87462ff28786",
      "name": "SEO統計を取得",
      "type": "n8n-nodes-mcp.mcpClient",
      "position": [
        -352,
        416
      ],
      "parameters": {
        "toolName": "get_backlinks_list",
        "operation": "executeTool",
        "toolParameters": "={\n  \"domain\": \"{{ $json.Domain }}\"\n}"
      },
      "credentials": {
        "mcpClientApi": {
          "id": "IHt3R0V5d8rgP6MK",
          "name": "SEO-MCP Client (STDIO)"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "f160163e-c900-47d5-b60e-0bbe6029e28a",
      "name": "トラフィックを取得",
      "type": "n8n-nodes-mcp.mcpClient",
      "position": [
        -336,
        -240
      ],
      "parameters": {
        "toolName": "get_traffic",
        "operation": "executeTool",
        "toolParameters": "={\n  \"domain_or_url\": \"{{ $json.Domain }}\"\n}"
      },
      "credentials": {
        "mcpClientApi": {
          "id": "IHt3R0V5d8rgP6MK",
          "name": "SEO-MCP Client (STDIO)"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "248f15ae-bbab-476c-9956-cafc2c0029e1",
      "name": "付箋6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -400,
        -400
      ],
      "parameters": {
        "color": 7,
        "width": 680,
        "height": 460,
        "content": "## 1. Get Domain Traffic information\n\nRetrieve traffic, top pages and keyword information from ahrefs.com for each domain"
      },
      "typeVersion": 1
    },
    {
      "id": "223ef12a-7cb6-4c66-8cf0-88d8554b86f5",
      "name": "付箋",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -400,
        288
      ],
      "parameters": {
        "color": 7,
        "width": 680,
        "height": 460,
        "content": "## 2. Get Domain SEO information\n\nRetrieve ranking and backlink information from ahrefs.com for each domain"
      },
      "typeVersion": 1
    },
    {
      "id": "1277a143-0010-4e82-8a0e-e34eacbe9424",
      "name": "付箋7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1584,
        -112
      ],
      "parameters": {
        "width": 460,
        "height": 752,
        "content": "## Domain Analyzer Workflow\n### This n8n template fetches SEO and traffic information from ahref for a list of domains in a Google Sheet. This is great for marketing research and SEO workflow optimizations and saves tons of time.\n\n### How it works\n* We'll import domains from the Google sheet\n* We use an SEO MCP server to fetch data from ahref free tooling\n* The fetched data is stored in the Google sheet\n\n### How to use\n* Make a copy of [this](https://docs.google.com/spreadsheets/d/1oBQqboIT9ubDmMIvvZveAneUHpuNV60egXsIU3hyuy0/edit?gid=456214435#gid=456214435) Google Sheet and add it in all Google Sheet nodes\n* Make sure that n8n has read & write permissions for your Google sheet. For my self-hosted n8n instance I was using a [Google Service Account](https://docs.n8n.io/integrations/builtin/credentials/google/service-account/)\n* Add your list of domains in the first column in the Domain sheet\n* Add MCP credentials for [seo-mcp](https://github.com/cnych/seo-mcp). Make sure you set the environments correctly:\n```json\n\"command\": \"uvx\",\n\"args\": [\"--python\", \"3.10\", \"seo-mcp\"],\n\"env\": {\n  \"CAPSOLVER_API_KEY\": \"CAP-xxxxxx\"\n}\n```\n* Execute workflow :)\n\n### Requirements\n* CapSolver account and API key ([register here](https://dashboard.capsolver.com/passport/register?inviteCode=p-4Y_DjQymvt)) to use [seo-mcp](https://github.com/cnych/seo-mcp)\n* Google Drive account"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "86b5106a-5d48-43f0-bf5b-b684b68d05a4",
  "connections": {
    "8e2c22fa-bd52-4ef2-b998-f88b073eab71": {
      "main": [
        [
          {
            "node": "5c3fa80f-a116-4d1c-8b3f-872dab147dba",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "f160163e-c900-47d5-b60e-0bbe6029e28a": {
      "main": [
        [
          {
            "node": "8e2c22fa-bd52-4ef2-b998-f88b073eab71",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "67be72c9-3fb1-43a5-a720-5cdb42c87129": {
      "main": [
        [
          {
            "node": "ee24bf73-35c9-4f29-b577-6f2901ddf70d",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "56dea17f-3c6d-4cd3-9aa8-87462ff28786": {
      "main": [
        [
          {
            "node": "67be72c9-3fb1-43a5-a720-5cdb42c87129",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "6297f8b6-b592-48e0-80ea-799e7ba02e95": {
      "main": [
        [],
        [
          {
            "node": "56dea17f-3c6d-4cd3-9aa8-87462ff28786",
            "type": "main",
            "index": 0
          },
          {
            "node": "f160163e-c900-47d5-b60e-0bbe6029e28a",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "53a605a3-dbca-43f9-9dca-ab3e3aa46fd0": {
      "main": [
        [
          {
            "node": "6297f8b6-b592-48e0-80ea-799e7ba02e95",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "5c3fa80f-a116-4d1c-8b3f-872dab147dba": {
      "main": [
        [
          {
            "node": "6297f8b6-b592-48e0-80ea-799e7ba02e95",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "ee24bf73-35c9-4f29-b577-6f2901ddf70d": {
      "main": [
        [
          {
            "node": "6297f8b6-b592-48e0-80ea-799e7ba02e95",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "d4d19da7-a633-4090-8449-0d51556b6f36": {
      "main": [
        [
          {
            "node": "53a605a3-dbca-43f9-9dca-ab3e3aa46fd0",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
よくある質問

このワークフローの使い方は?

上記のJSON設定コードをコピーし、n8nインスタンスで新しいワークフローを作成して「JSONからインポート」を選択、設定を貼り付けて認証情報を必要に応じて変更してください。

このワークフローはどんな場面に適していますか?

中級 - 市場調査

有料ですか?

このワークフローは完全無料です。ただし、ワークフローで使用するサードパーティサービス(OpenAI APIなど)は別途料金が発生する場合があります。

関連ワークフロー

アジャンス問題キーワード調査テンプレート
ヒューリスティックキーワード調査ワークフロー:OpenAI、Ahrefs、Googleスプレッドシート
If
Set
Code
+
If
Set
Code
17 ノードMichael Muenzer
市場調査
GPT-4o-miniとGmailを使ってYouTubeチャンネルを分析し、パフォーマンスレポートを送信
GPT-4o-miniとGmailを使ってYouTubeチャンネルを分析し、パフォーマンスレポートを送信する
Code
Email Send
Http Request
+
Code
Email Send
Http Request
20 ノードRahul Joshi
市場調査
テンプレートv08/02 - Facebook広告ライブラリをAmazonスクレイピング
Apify スクレイピングを使用して Amazon で Facebook 広告製品を自動検索
If
Set
Code
+
If
Set
Code
24 ノードRichard Besier
市場調査
OpenAI を使用して自動のに Google スプレッドシート内の顧客フィードバックをタグ付け&分析
Google Sheets で顧客フィードバックをバッチ処理し、感情と感情分析を実行
Set
Code
Merge
+
Set
Code
Merge
24 ノードParhum Khoshbakht
市場調査
Google MapsレビューをGoogleスプレッドシートに同期
SerpApiを利用したGoogle MapsレビューからGoogle表格への同期
If
Set
Code
+
If
Set
Code
22 ノードSerpApi
市場調査
Bright DataとGoogle Geminiを使用したGoogle Mapsビジネス情報スクレイピングとリードリッチ化
Bright DataとGoogle Geminiを利用したGoogle Maps企業情報スクレイピングとリードリッチ化ツール
Set
Code
Wait
+
Set
Code
Wait
29 ノードRanjan Dailata
リード獲得
ワークフロー情報
難易度
中級
ノード数12
カテゴリー1
ノードタイプ6
難易度説明

経験者向け、6-15ノードの中程度の複雑さのワークフロー

外部リンク
n8n.ioで表示

このワークフローを共有

カテゴリー

カテゴリー: 34