RapidAPIおよびGoogleスプレッドシートを基にした自動SEOキーワード分析

上級

これはMarket Research, Multimodal AI分野の自動化ワークフローで、21個のノードを含みます。主にSet, Code, FormTrigger, HttpRequest, GoogleSheetsなどのノードを使用。 RapidAPIおよびGoogle Sheetsを使用した自動SEOキーワード分析

前提条件
  • ターゲットAPIの認証情報が必要な場合あり
  • Google Sheets API認証情報
ワークフロープレビュー
ノード接続関係を可視化、ズームとパンをサポート
ワークフローをエクスポート
以下のJSON設定をn8nにインポートして、このワークフローを使用できます
{
  "meta": {
    "instanceId": "60c025075753afcab9f803964b4caaca9402f435deb4efafbb8e3b93b54d8752"
  },
  "nodes": [
    {
      "id": "2b931767-0890-44bd-bd6e-0520d2d30d19",
      "name": "フォーム送信時",
      "type": "n8n-nodes-base.formTrigger",
      "position": [
        -800,
        300
      ],
      "webhookId": "048b06f3-4345-4351-903d-1f15486955fb",
      "parameters": {
        "options": {},
        "formTitle": "OnPage SEO ( Keyword)",
        "formFields": {
          "values": [
            {
              "fieldLabel": "keyword",
              "requiredField": true
            },
            {
              "fieldLabel": "country",
              "requiredField": true
            }
          ]
        },
        "formDescription": "OnPage SEO ( Keyword)"
      },
      "typeVersion": 2.2
    },
    {
      "id": "6744f81f-3a81-4602-b6ce-24a47aefcf0d",
      "name": "グローバルストレージ",
      "type": "n8n-nodes-base.set",
      "position": [
        -480,
        300
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "10714a4e-2be6-4167-aef5-afe30eebdc2b",
              "name": "keyword",
              "type": "string",
              "value": "={{ $json.keyword }}"
            },
            {
              "id": "6d160d8b-ab11-4f0a-a484-2e3f8f7f3033",
              "name": "country",
              "type": "string",
              "value": "={{ $json.country }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "bcc6356f-69b7-48cb-8901-2155a7a354d8",
      "name": "再フォーマット",
      "type": "n8n-nodes-base.code",
      "position": [
        200,
        20
      ],
      "parameters": {
        "jsCode": "\nreturn $input.first().json.data.semrushAPI.broadMatchKeywords;"
      },
      "typeVersion": 2
    },
    {
      "id": "880567fc-0355-4e2d-907b-91138a74600b",
      "name": "再フォーマット2",
      "type": "n8n-nodes-base.code",
      "position": [
        240,
        360
      ],
      "parameters": {
        "jsCode": "return $input.first().json.data.semrushAPI.keywordDifficulty[0];"
      },
      "typeVersion": 2
    },
    {
      "id": "21b7e79e-d94d-4dad-b40f-8c78eadf5958",
      "name": "再フォーマット5",
      "type": "n8n-nodes-base.code",
      "position": [
        260,
        700
      ],
      "parameters": {
        "jsCode": "return $input.first().json.data.semrushAPI.serpResults;"
      },
      "typeVersion": 2
    },
    {
      "id": "5d57d994-d970-4670-8868-18875f16890d",
      "name": "キーワードインサイト",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        500,
        20
      ],
      "parameters": {
        "columns": {
          "value": {},
          "schema": [],
          "mappingMode": "autoMapInputData",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "append",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "",
          "cachedResultName": "Keyword Insights"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1dCSO-gv_mPD3O0QACeJaBFtjYGqtF-iF2_6iCuvm_Xw",
          "cachedResultUrl": "",
          "cachedResultName": "Website onPage ( Keyword)"
        },
        "authentication": "serviceAccount"
      },
      "credentials": {
        "googleApi": {
          "id": "Rt0RWApx8PL9t0RF",
          "name": "Google Docs account"
        }
      },
      "typeVersion": 4.6
    },
    {
      "id": "c2f0a816-6ba0-48b2-a764-dc19203aa3ed",
      "name": "キーワードインサイトリクエスト",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -140,
        20
      ],
      "parameters": {
        "url": "https://seo-on-page.p.rapidapi.com/keyword-tool.php",
        "method": "POST",
        "options": {},
        "sendBody": true,
        "contentType": "multipart-form-data",
        "sendHeaders": true,
        "bodyParameters": {
          "parameters": [
            {
              "name": "keyword",
              "value": "={{ $json.keyword }}"
            },
            {
              "name": "country",
              "value": "={{ $json.country }}"
            }
          ]
        },
        "headerParameters": {
          "parameters": [
            {
              "name": "x-rapidapi-host",
              "value": "seo-on-page.p.rapidapi.com"
            },
            {
              "name": "x-rapidapi-key",
              "value": "your key"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "5e918cef-3e92-4085-902c-19c1c56e0a4e",
      "name": "キーワード難易度リクエスト",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -20,
        380
      ],
      "parameters": {
        "url": "https://seo-on-page.p.rapidapi.com/keywordDifficulty.php",
        "method": "POST",
        "options": {},
        "sendBody": true,
        "contentType": "multipart-form-data",
        "sendHeaders": true,
        "bodyParameters": {
          "parameters": [
            {
              "name": "keyword",
              "value": "={{ $json.keyword }}"
            },
            {
              "name": "country",
              "value": "={{ $json.country }}"
            }
          ]
        },
        "headerParameters": {
          "parameters": [
            {
              "name": "x-rapidapi-host",
              "value": "=seo-on-page.p.rapidapi.com"
            },
            {
              "name": "x-rapidapi-key",
              "value": "your key"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "aed9c3bf-f81e-423a-a176-ef5a97e9ee05",
      "name": "キーワード難易度",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        560,
        340
      ],
      "parameters": {
        "columns": {
          "value": {},
          "schema": [
            {
              "id": "keyword",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "keyword",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "keywordDifficultyIndex",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "keywordDifficultyIndex",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "autoMapInputData",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "append",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": 1445611850,
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1dCSO-gv_mPD3O0QACeJaBFtjYGqtF-iF2_6iCuvm_Xw/edit#gid=1445611850",
          "cachedResultName": "KeyWord Difficulty"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1dCSO-gv_mPD3O0QACeJaBFtjYGqtF-iF2_6iCuvm_Xw",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1dCSO-gv_mPD3O0QACeJaBFtjYGqtF-iF2_6iCuvm_Xw/edit?usp=drivesdk",
          "cachedResultName": "Website onPage ( Keyword)"
        },
        "authentication": "serviceAccount"
      },
      "credentials": {
        "googleApi": {
          "id": "Rt0RWApx8PL9t0RF",
          "name": "Google Docs account"
        }
      },
      "typeVersion": 4.6
    },
    {
      "id": "95fabfa0-c82a-450f-a48e-a3eee77e7c82",
      "name": "SERP結果",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        660,
        700
      ],
      "parameters": {
        "columns": {
          "value": {},
          "schema": [],
          "mappingMode": "autoMapInputData",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "append",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": 684053301,
          "cachedResultUrl": "",
          "cachedResultName": "Serp Analytics"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1dCSO-gv_mPD3O0QACeJaBFtjYGqtF-iF2_6iCuvm_Xw",
          "cachedResultUrl": "",
          "cachedResultName": "Website onPage ( Keyword)"
        },
        "authentication": "serviceAccount"
      },
      "credentials": {
        "googleApi": {
          "id": "Rt0RWApx8PL9t0RF",
          "name": "Google Docs account"
        }
      },
      "typeVersion": 4.6
    },
    {
      "id": "d1d45c51-227d-425d-97f5-7fd0d32ad593",
      "name": "付箋",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -2100,
        -200
      ],
      "parameters": {
        "width": 960,
        "height": 1220,
        "content": "# 📊 OnPage SEO (Keyword) - n8n Workflow\n\n## 📝 Description\nThis workflow automates keyword analysis for on-page SEO using form input (keyword and country), fetches keyword data from an API (including keyword insights, difficulty, and SERP data), and saves results into a Google Sheet.\n\n---\n\n## 🔧 Node-by-Node Overview\n\n### 1. **On form submission**\nTriggers when a form is submitted with required inputs: `keyword` and `country`.\n\n### 2. **Global Storage**\nStores the form inputs (`keyword`, `country`) into the workflow context for further use.\n\n### 3. **Keyword Insights Request**\nSends a POST request to the SEO API (`keyword-tool.php`) to fetch keyword data such as broad match keywords.\n\n### 4. **KeyWord Difficulty Request**\nSends a POST request to the SEO API (`keywordDifficulty.php`) to retrieve keyword difficulty and SERP results.\n\n### 5. **Re-Format**\nParses and extracts `broadMatchKeywords` from the keyword insights API response.\n\n### 6. **Re-Format 2**\nParses and extracts the `keywordDifficultyIndex` from the difficulty API response.\n\n### 7. **Re -Format 5**\nParses and extracts `serpResults` from the difficulty API response.\n\n### 8. **Keyword Insights**\nAppends the extracted keyword insights into the **\"Keyword Insights\"** sheet in the connected Google Sheet.\n\n### 9. **KeyWord Difficulty**\nAppends keyword and difficulty index data into the **\"KeyWord Difficulty\"** sheet in the connected Google Sheet.\n\n### 10. **SERP Result**\nAppends extracted SERP data into the **\"Serp Analytics\"** sheet in the connected Google Sheet.\n\n---\n\n"
      },
      "typeVersion": 1
    },
    {
      "id": "e4815a76-56c1-4866-a6c0-1a6cea997e98",
      "name": "付箋1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -880,
        140
      ],
      "parameters": {
        "height": 320,
        "content": "### 1. 🟢 **On form submission**\n**Type:** `formTrigger`  \n**Description:** Triggers when a user submits the form with `keyword` and `country` fields.\n"
      },
      "typeVersion": 1
    },
    {
      "id": "4f9f580f-57ca-4b18-a2fa-09f3fab03451",
      "name": "付箋2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -560,
        140
      ],
      "parameters": {
        "height": 320,
        "content": "### 2. 📦 **Global Storage**\n**Type:** `set`  \n**Description:** Stores the keyword and country values from the form for use in later nodes.\n"
      },
      "typeVersion": 1
    },
    {
      "id": "ec770ca7-219c-4eb4-b677-10c7605d38bd",
      "name": "付箋3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -220,
        -160
      ],
      "parameters": {
        "height": 320,
        "content": "### 3. 🌐 **Keyword Insights Request**\n**Type:** `httpRequest`  \n**Description:** Sends a POST request to the RapidAPI SEO endpoint (`keyword-tool.php`) to get broad match keyword insights.\n"
      },
      "typeVersion": 1
    },
    {
      "id": "1df871f7-f75d-424e-b011-6f58b4ad5e1d",
      "name": "付箋4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -80,
        180
      ],
      "parameters": {
        "height": 340,
        "content": "### 4. 🌐 **KeyWord Difficulty Request**\n**Type:** `httpRequest`  \n**Description:** Sends a POST request to the RapidAPI SEO endpoint (`keywordDifficulty.php`) to get keyword difficulty and SERP data.\n"
      },
      "typeVersion": 1
    },
    {
      "id": "a168caf8-73e2-405c-8588-88939bf50038",
      "name": "付箋5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        160,
        -180
      ],
      "parameters": {
        "height": 340,
        "content": "### 5. 🧾 **Re-Format**\n**Type:** `code`  \n**Description:** Extracts the `broadMatchKeywords` array from the `keyword-tool` API response.\n"
      },
      "typeVersion": 1
    },
    {
      "id": "51e19d07-9e11-46d9-9018-f473b1d1f4e5",
      "name": "付箋6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        460,
        -160
      ],
      "parameters": {
        "height": 320,
        "content": "### 6. 📊 **Keyword Insights**\n**Type:** `googleSheets`  \n**Description:** Appends the extracted broad match keyword data to the **\"Keyword Insights\"** sheet in Google Sheets."
      },
      "typeVersion": 1
    },
    {
      "id": "dd43562a-5946-4491-8761-5700cdb1d8fc",
      "name": "付箋7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        200,
        200
      ],
      "parameters": {
        "height": 300,
        "content": "### 7. 🧮 **Re-Format 2**\n**Type:** `code`  \n**Description:** Extracts the `keywordDifficultyIndex` from the `keywordDifficulty` API response.\n"
      },
      "typeVersion": 1
    },
    {
      "id": "f823bb2d-3042-4717-8421-a42c914f5fd0",
      "name": "付箋8",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        500,
        200
      ],
      "parameters": {
        "height": 300,
        "content": "### 8. 📈 **KeyWord Difficulty**\n**Type:** `googleSheets`  \n**Description:** Appends the keyword and difficulty index to the **\"KeyWord Difficulty\"** sheet.\n"
      },
      "typeVersion": 1
    },
    {
      "id": "303561c4-182f-4950-ba17-544cb633b2e6",
      "name": "付箋9",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        200,
        540
      ],
      "parameters": {
        "height": 320,
        "content": "### 9. 🗂️ **Re -Format 5**\n**Type:** `code`  \n**Description:** Extracts the `serpResults` data from the `keywordDifficulty` API response.\n"
      },
      "typeVersion": 1
    },
    {
      "id": "29647f1c-1cac-4ccc-bb55-7df969e9d3ed",
      "name": "付箋10",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        580,
        560
      ],
      "parameters": {
        "height": 280,
        "content": "### 10. 🔍 **SERP Result**\n**Type:** `googleSheets`  \n**Description:** Appends the extracted SERP analytics data to the **\"Serp Analytics\"** sheet.\n"
      },
      "typeVersion": 1
    }
  ],
  "pinData": {},
  "connections": {
    "bcc6356f-69b7-48cb-8901-2155a7a354d8": {
      "main": [
        [
          {
            "node": "5d57d994-d970-4670-8868-18875f16890d",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "880567fc-0355-4e2d-907b-91138a74600b": {
      "main": [
        [
          {
            "node": "aed9c3bf-f81e-423a-a176-ef5a97e9ee05",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "21b7e79e-d94d-4dad-b40f-8c78eadf5958": {
      "main": [
        [
          {
            "node": "95fabfa0-c82a-450f-a48e-a3eee77e7c82",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "6744f81f-3a81-4602-b6ce-24a47aefcf0d": {
      "main": [
        [
          {
            "node": "c2f0a816-6ba0-48b2-a764-dc19203aa3ed",
            "type": "main",
            "index": 0
          },
          {
            "node": "5e918cef-3e92-4085-902c-19c1c56e0a4e",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "2b931767-0890-44bd-bd6e-0520d2d30d19": {
      "main": [
        [
          {
            "node": "6744f81f-3a81-4602-b6ce-24a47aefcf0d",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "c2f0a816-6ba0-48b2-a764-dc19203aa3ed": {
      "main": [
        [
          {
            "node": "bcc6356f-69b7-48cb-8901-2155a7a354d8",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "5e918cef-3e92-4085-902c-19c1c56e0a4e": {
      "main": [
        [
          {
            "node": "880567fc-0355-4e2d-907b-91138a74600b",
            "type": "main",
            "index": 0
          },
          {
            "node": "21b7e79e-d94d-4dad-b40f-8c78eadf5958",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
よくある質問

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

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

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

上級 - 市場調査, マルチモーダルAI

有料ですか?

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

関連ワークフロー

RapidAPIとGoogle Sheetsを使ったページSEO分析の自動化と記録
APIキーの利用規約変更に基づくRapidAPIとGoogleスプレッドシートを使用したページSEO分析と記録の自動化
Set
Code
Form Trigger
+
Set
Code
Form Trigger
33 ノードEvoort Solutions
市場調査
RapidAPI を通じて Google Sheets への Semrush による自動バックラinking データ出力
Semrush から自動のにリバースリンクデータをGoogle Sheetsへ出力(RapidAPIを使用)
Code
Form Trigger
Http Request
+
Code
Form Trigger
Http Request
13 ノードEvoort Solutions
市場調査
RapidAPIを使ってYouTubeチャンネル メタデータをGoogle Docsに抽出
RapidAPIを使ってYouTubeチャネルメタデータをGoogle Docsに抽出
Code
Google Docs
Form Trigger
+
Code
Google Docs
Form Trigger
9 ノードEvoort Solutions
市場調査
Job Search Global API と Google Sheets を使って求人検索を自動化
Job Search Global API、Google Sheets を使って 自動化求人検索を行う
If
Set
Code
+
If
Set
Code
15 ノードEvoort Solutions
コンテンツ作成
Dumpling AIを使用してウェブサイトのブログコンテンツをスクレイピングし、Googleシートに保存
Dumpling AIを使用してウェブサイトのブログコンテンツを取得し、Google Sheetsに保存
Set
Code
Form Trigger
+
Set
Code
Form Trigger
11 ノードYang
市場調査
Google Sheetsとメール通知を使用してタイトルの明確さを最適化する
Google Sheetsとメール通知によるタイトルの明確さの最適化
If
Code
Email Send
+
If
Code
Email Send
14 ノードEvoort Solutions
コンテンツ作成
ワークフロー情報
難易度
上級
ノード数21
カテゴリー2
ノードタイプ6
難易度説明

上級者向け、16ノード以上の複雑なワークフロー

外部リンク
n8n.ioで表示

このワークフローを共有

カテゴリー

カテゴリー: 34