Digital Signal Studio
Florian MARTIN
Tous les articles
Tutoriel n8n

Nettoyer, dédoublonner et enrichir une analyse SEO dans Google Sheets avec n8n

Importer, normaliser, dédoublonner, scorer et enrichir une analyse SEO dans Google Sheets avec n8n : workflow en cinq étapes, code prêt à adapter et limites.

Nettoyer, dédoublonner et enrichir une analyse SEO dans Google Sheets avec n8n

Associer n8n à Google Sheets permet de transformer des exports SEO disparates (Search Console, Ahrefs, crawl, GA4) en une base propre, dédoublonnée et priorisée, mise à jour sans copier-coller. Google Sheets reste l’outil de travail partagé de la plupart des équipes SEO et contenu ; n8n s’occupe de l’importation, de la normalisation, du dédoublonnage, du scoring et de l’enrichissement. Cet article détaille la connexion entre les deux outils, un workflow en cinq étapes, un exemple concret de priorisation et les limites à connaître avant de passer à l’échelle.

01Pourquoi connecter n8n à Google Sheets pour vos données SEO

Une analyse SEO commence presque toujours par des fichiers hétérogènes : un export de requêtes Search Console, une liste de mots-clés Ahrefs, un crawl Screaming Frog, des pages de destination GA4. Chaque source a ses propres formats d’URL, de dates et de nombres. Le travail de préparation (supprimer les doublons, harmoniser les URL, croiser les sources) prend souvent plus de temps que l’analyse elle-même, et il se répète à chaque mise à jour.

Automatiser cette préparation avec n8n apporte trois bénéfices mesurables : un gain de temps à chaque itération, des règles de nettoyage identiques d’un mois sur l’autre, et une traçabilité complète puisque chaque exécution est journalisée. La feuille devient une source fiable pour le reporting, les briefs et la priorisation. Si vous découvrez l’outil, commencez par la présentation de notre approche de l’automatisation avec n8n, puis par le guide complet n8n pour les workflows SEO et marketing.

02Connecter Google Sheets à n8n : identifiants et opérations utiles

OAuth2 ou compte de service

Le nœud Google Sheets de n8n accepte deux types d’identifiants. L’OAuth2 relie n8n à votre compte Google : c’est le plus simple pour un usage individuel, mais l’accès dépend de ce compte. Le compte de service crée une identité technique dans Google Cloud : vous partagez ensuite chaque feuille avec l’adresse e-mail de ce compte, comme avec un collaborateur. Pour des workflows clients ou d’équipe, le compte de service évite qu’un départ ou un changement de mot de passe casse les automatisations.

Les opérations du nœud Google Sheets à connaître

D’après la documentation de n8n sur les opérations du nœud, celui-ci propose notamment les opérations suivantes sur une feuille :

  • Get Row(s) : lire tout ou partie d’une feuille, avec filtres.
  • Append Row : ajouter des lignes à la fin des données.
  • Update Row : modifier des lignes existantes à partir d’une colonne de correspondance, sans en créer de nouvelles.
  • Append or Update Row : mettre à jour la ligne si la clé existe, sinon l’ajouter. C’est l’opération clé pour maintenir une base sans doublons.
  • Clear, Create, Delete et Delete Rows or Columns : gérer la structure des onglets.

Deux réglages méritent attention. Le format des cellules d’abord : « Let Google Sheets format » laisse Google interpréter les valeurs, ce qui peut transformer une position « 4.5 » en date ou en texte selon les paramètres régionaux de la feuille ; « Let n8n format » garde la main sur le typage. L’option « Use Append » ensuite, qui utilise l’endpoint d’ajout de l’API pour limiter le nombre d’appels, à réserver aux feuilles dont la structure est régulière et sans trous.

03Le workflow de nettoyage et d’enrichissement en cinq étapes

Le schéma ci-dessous correspond à une analyse de mots-clés et de pages. Il se découpe idéalement en sous-workflows, un par étape, pour faciliter les tests. Les principes de construction et de gestion d’erreurs sont repris dans nos modèles de workflows n8n pour le SEO, le contenu et le reporting.

1. Importer les données brutes

Chaque source alimente un onglet « brut » dédié, jamais modifié à la main : requêtes Search Console via l’API, mots-clés Ahrefs, export de crawl déposé dans un dossier Drive. Le déclencheur peut être planifié (chaque lundi) ou réagir à l’arrivée d’un fichier. Conservez une colonne source et une colonne date_import sur chaque ligne : elles serviront à tracer l’origine d’une valeur douteuse.

2. Normaliser URL, requêtes et formats

La normalisation se fait dans un nœud Code ou avec des nœuds Edit Fields. Règles de base pour des données SEO :

  • URL : nom de domaine en minuscules, suppression des paramètres de suivi (utm_*, gclid) et des fragments, règle unique pour la barre oblique finale, décodage des caractères encodés.
  • Requêtes : suppression des espaces superflus et passage en minuscules. Conservez les accents : « référencement » et « referencement » peuvent correspondre à des SERP différentes.
  • Dates : format ISO (AAAA-MM-JJ) partout.
  • Nombres : point décimal côté n8n, CTR exprimé de manière homogène (ratio ou pourcentage, jamais les deux).

Exemple de normalisation d’URL dans un nœud Code (mode « Run Once for Each Item ») :

const u = new URL($json.url.trim());
u.hash = '';
[...u.searchParams.keys()]
  .filter(k => k.startsWith('utm_') || k === 'gclid')
  .forEach(k => u.searchParams.delete(k));
let path = decodeURI(u.pathname);
if (path.length > 1 && !path.endsWith('/')) path += '/';
return { json: { ...$json, url_norm: u.origin.toLowerCase() + path + u.search } };

Adaptez la règle de barre oblique finale à votre site : si vos URL canoniques n’en ont pas, faites l’inverse.

3. Dédoublonner et fusionner les sources

Le dédoublonnage repose sur une clé explicite. Pour une analyse de requêtes par page, la clé combine url_norm et la requête normalisée ; pour une liste de mots-clés, la requête seule suffit. Le nœud Remove Duplicates supprime les doublons à partir des champs choisis. Pour croiser deux sources, le nœud Merge en mode « Combine » par champs correspondants rapproche par exemple les métriques Search Console et les métriques Ahrefs d’un même mot-clé. Enfin, l’écriture en « Append or Update Row » sur la clé garantit que la feuille finale ne se remplit pas de doublons d’une exécution à l’autre.

4. Scorer les lignes selon vos priorités

Le score transforme un tableau de milliers de lignes en liste d’actions. Il doit rester simple, explicable et ajusté à vos objectifs. Exemple de logique pour repérer des pages proches du top 3 :

const pos = Number($json.position);
const impr = Number($json.impressions);
let score = 0;
if (pos >= 4 && pos <= 15) score += 40;
if (impr >= 500) score += 30;
if ($json.intention === 'commerciale') score += 20;
if ($json.statut_http !== 200) score -= 50;
return { json: { ...$json, score } };

Les seuils et les pondérations sont illustratifs : calibrez-les sur votre historique. Documentez la formule dans un onglet de la feuille pour que chaque lecteur comprenne pourquoi une ligne est en tête.

5. Enrichir avec Ahrefs, un LLM ou le crawl

L’enrichissement ajoute ce que la source initiale ne donne pas :

  • Ahrefs : volume, difficulté, potentiel de trafic, parent topic, via l’API et le nœud HTTP Request. L’API est réservée aux abonnements payants éligibles et chaque requête consomme des unités (50 au minimum, puis selon le nombre de lignes et les champs demandés) : n’envoyez que les mots-clés absents de la base.
  • Un LLM : classification d’intention ou de thématique, regroupement sémantique. Imposez une liste fermée de catégories et une sortie structurée ; le paramétrage est détaillé dans notre article n8n et OpenAI pour générer briefs, classifications et synthèses SEO.
  • Le crawl : code de réponse, indexabilité, canonical, profondeur, pour écarter les pages qui ne peuvent pas se positionner en l’état.

Pour le GEO, ajoutez une colonne qui repère les requêtes formulées en questions (comment, pourquoi, quel, combien) : elles montrent les questions auxquelles vos pages doivent répondre de façon claire et autonome.

04Exemple : prioriser les opportunités d’une analyse de mots-clés

Prenons un site e-commerce qui veut identifier les pages à optimiser en priorité. Le workflow produit une feuille « priorisation » avec les colonnes suivantes : url_norm, requete, clics, impressions, ctr, position, volume, kd, intention, statut_http, score, action.

  1. Chaque lundi, le workflow récupère les requêtes et pages des 28 derniers jours consolidés dans Search Console.
  2. Il normalise les URL, supprime les doublons et fusionne avec la liste de mots-clés Ahrefs déjà enrichie.
  3. Les mots-clés absents de la base sont envoyés à l’API Ahrefs, par lots, puis classés par intention par un LLM avec une liste fermée de quatre intentions.
  4. Le score est calculé, et une colonne action est remplie par règle : « optimiser le title » si la position est bonne mais le CTR faible, « enrichir le contenu » si la position se situe entre 8 et 15, « vérifier l’indexation » si le code HTTP n’est pas 200.
  5. Un message Slack résume les nouvelles lignes à fort score depuis la semaine précédente.

Le consultant ne perd plus de temps à préparer les données : il valide les actions proposées et arbitre les cas ambigus. Pour relier ce workflow au reporting client, aux alertes et au suivi des backlinks, consultez notre article Automatiser son SEO avec n8n : 5 workflows concrets.

05Limites de Google Sheets et erreurs fréquentes

Google Sheets est pratique, mais ce n’est pas une base de données. Les limites à connaître :

  • Quotas de l’API : selon la documentation Google sur les limites de l’API Sheets, 300 requêtes de lecture et 300 requêtes d’écriture par minute et par projet, et 60 par minute et par utilisateur au sein d’un projet. Au-delà, l’API renvoie une erreur 429 et Google recommande des réessais espacés de façon exponentielle. Écrivez par lots plutôt que ligne par ligne, activez les réessais et ajoutez un nœud Wait si nécessaire.
  • Volume : un fichier Google Sheets est limité à 20 millions de cellules ou 100 Mo. Sur un gros site, un export de requêtes par page et par jour peut atteindre ce plafond : agrégez ou archivez.
  • Colonnes renommées : la page des problèmes courants du nœud signale une erreur quand les noms de colonnes changent après la configuration. Il faut alors resélectionner le mode de mappage des colonnes (Mapping Column Mode). Verrouillez la ligne d’en-tête.
  • Tableaux imbriqués : un tableau JSON ne s’écrit pas directement dans une cellule. Aplatissez-le avec Split Out ou un nœud Code.
  • Modifications manuelles concurrentes : si un collaborateur trie ou insère des lignes pendant une exécution, les mises à jour peuvent viser la mauvaise ligne. Séparez les onglets écrits par n8n des onglets de travail.
  • Formules : évitez les formules sur les onglets alimentés automatiquement ; calculez dans n8n et écrivez des valeurs.

06Quand passer de Google Sheets à une base de données

Google Sheets convient tant que la feuille reste lisible par un humain et que le volume reste raisonnable. Trois signaux indiquent qu’il faut changer d’outil de stockage : les exécutions échouent régulièrement sur les quotas, la feuille met plusieurs secondes à s’ouvrir, ou vous avez besoin d’un historique quotidien sur plusieurs mois. Dans ce cas, stockez les données brutes dans une base comme PostgreSQL ou BigQuery, que n8n sait alimenter avec ses nœuds dédiés, et gardez Google Sheets pour la vue de travail : la liste priorisée, les actions à valider, le suivi.

Le choix de l’outil d’automatisation compte aussi à cette étape : la facturation à l’exécution de n8n favorise les traitements par lots, ce qui n’est pas le cas de toutes les plateformes. Notre comparatif n8n, Make et Zapier détaille ces différences. Quel que soit l’outil, gardez la même discipline : des onglets bruts intouchables, des règles de nettoyage documentées, une clé de dédoublonnage explicite et un score que chacun peut expliquer.

Avant de confier ce workflow à une équipe ou à un client, passez cette checklist de mise en production :

  • Le workflow a été testé sur un échantillon, puis sur un volume réel, et les sorties de chaque nœud ont été contrôlées.
  • La clé de dédoublonnage est écrite noir sur blanc dans l’onglet de documentation, avec les règles de normalisation appliquées.
  • Les identifiants utilisent un compte de service ou un compte technique, et non un compte personnel.
  • Un workflow d’erreur envoie une notification en cas d’échec, avec le nom du nœud concerné.
  • Les onglets écrits par n8n sont protégés contre les modifications manuelles.
  • Une personne est désignée comme responsable du workflow et de la revue mensuelle du score.

Ce dernier point est souvent négligé. Un score non revu finit par refléter les priorités d’il y a six mois, et la feuille perd la confiance de ceux qui l’utilisent. Prévoyez donc un point régulier pour vérifier que les pages en tête de liste correspondent toujours à vos objectifs business et éditoriaux.

Sources & références
  1. n8n Docs : Google Sheets, Sheet Within Document operations - le nœud propose notamment Append Row, Append or Update Row, Get Row(s) et Update Row, ainsi que les options Cell Format et Use Append.
  2. n8n Docs : Google Sheets node common issues - un changement de noms de colonnes après configuration provoque une erreur corrigée en resélectionnant Mapping Column Mode, et les tableaux s’aplatissent avec Split Out ou un nœud Code.
  3. Google for Developers : Usage limits (Google Sheets API) - 300 requêtes de lecture et 300 d’écriture par minute et par projet, 60 par minute et par utilisateur, erreur 429 au-delà et réessais à délai exponentiel recommandés.
  4. Aide Google Drive : Files you can store in Google Drive - une feuille créée ou convertie dans Google Sheets peut contenir jusqu’à 20 millions de cellules ou 100 Mo.
  5. Ahrefs for Developers : Limits consumption - l’API Ahrefs est disponible sur les abonnements payants éligibles et chaque requête consomme au moins 50 unités, le coût dépendant du nombre de lignes et des champs demandés.
#n8n#n8n google sheets#DigitalSignalStudio
Florian Martin
Consultant SEO, GEO et automatisation n8n freelance

Florian Martin accompagne les entreprises à structurer leur visibilité organique et leur visibilité dans les moteurs de réponse grâce au SEO technique, au GEO, à l'IA, à l'automatisation n8n et à des systèmes de reporting actionnables.