Analyse automatisée des mots-clés SEO avec RapidAPI et Google Sheets

Avancé

Ceci est unMarket Research, Multimodal AIworkflow d'automatisation du domainecontenant 21 nœuds.Utilise principalement des nœuds comme Set, Code, FormTrigger, HttpRequest, GoogleSheets. viaRapidAPIetGoogle表格实现automatisationSEO关键词analyse

Prérequis
  • Peut nécessiter les informations d'identification d'authentification de l'API cible
  • Informations d'identification Google Sheets API
Aperçu du workflow
Visualisation des connexions entre les nœuds, avec support du zoom et du déplacement
Exporter le workflow
Copiez la configuration JSON suivante dans n8n pour importer et utiliser ce workflow
{
  "meta": {
    "instanceId": "60c025075753afcab9f803964b4caaca9402f435deb4efafbb8e3b93b54d8752"
  },
  "nodes": [
    {
      "id": "2b931767-0890-44bd-bd6e-0520d2d30d19",
      "name": "On form submission",
      "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": "Global Storage",
      "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": "Re-Format",
      "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": "Re-Format 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": "Re -Format 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": "Keyword Insights",
      "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": "Keyword Insights Request",
      "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": "KeyWord Difficulty Request",
      "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": "KeyWord Difficulty",
      "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 Result",
      "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": "Note adhésive",
      "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": "Note adhésive1",
      "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": "Note adhésive2",
      "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": "Note adhésive3",
      "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": "Note adhésive4",
      "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": "Note adhésive5",
      "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": "Note adhésive6",
      "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": "Note adhésive7",
      "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": "Note adhésive8",
      "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": "Note adhésive9",
      "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": "Note adhésive10",
      "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
          }
        ]
      ]
    }
  }
}
Foire aux questions

Comment utiliser ce workflow ?

Copiez le code de configuration JSON ci-dessus, créez un nouveau workflow dans votre instance n8n et sélectionnez "Importer depuis le JSON", collez la configuration et modifiez les paramètres d'authentification selon vos besoins.

Dans quelles scénarios ce workflow est-il adapté ?

Avancé - Étude de marché, IA Multimodale

Est-ce payant ?

Ce workflow est entièrement gratuit et peut être utilisé directement. Veuillez noter que les services tiers utilisés dans le workflow (comme l'API OpenAI) peuvent nécessiter un paiement de votre part.

Workflows recommandés

Analyse et enregistrement automatisés du SEO de page avec RapidAPI et Google Sheets
Analyse et journalisation automatisées du référencement de pages avec RapidAPI et Google Sheets
Set
Code
Form Trigger
+
Set
Code
Form Trigger
33 NœudsEvoort Solutions
Étude de marché
Exportation automatisée des données de liens retour de Semrush vers Google Sheets (via RapidAPI
Exportation automatisée des données de liens retour depuis Semrush vers Google Sheets (via RapidAPI)
Code
Form Trigger
Http Request
+
Code
Form Trigger
Http Request
13 NœudsEvoort Solutions
Étude de marché
Extraction de métadonnées de chaîne YouTube vers Google Docs avec RapidAPI
Extraire les métadonnées de chaînes YouTube vers Google Docs avec RapidAPI
Code
Google Docs
Form Trigger
+
Code
Google Docs
Form Trigger
9 NœudsEvoort Solutions
Étude de marché
Automatisation de la recherche d'emploi avec Job Search Global API et Google Sheets
Automatisation de la recherche d'offres d'emploi avec Job Search Global API et Google Sheets
If
Set
Code
+
If
Set
Code
15 NœudsEvoort Solutions
Création de contenu
Utiliser Dumpling AI pour scraper le contenu des blogs de sites web et l'enregistrer dans Google Sheets
Gratter le contenu des blogs de sites web et le sauvegarder dans Google Sheets avec Dumpling AI
Set
Code
Form Trigger
+
Set
Code
Form Trigger
11 NœudsYang
Étude de marché
Optimiser la clarté des titres avec Google Sheets et des notifications par e-mail
Optimiser la clarté des titres avec Google Sheets et notifications par e-mail
If
Code
Email Send
+
If
Code
Email Send
14 NœudsEvoort Solutions
Création de contenu
Informations sur le workflow
Niveau de difficulté
Avancé
Nombre de nœuds21
Catégorie2
Types de nœuds6
Description de la difficulté

Adapté aux utilisateurs avancés, avec des workflows complexes contenant 16+ nœuds

Liens externes
Voir sur n8n.io

Partager ce workflow

Catégories

Catégories: 34