Workflow n8n

Automatisation n8n : gestion de sitemaps avec Google Sheets

  • Ce workflow n8n a pour objectif d'automatiser la gestion des sitemaps, permettant ainsi aux utilisateurs de mettre à jour et d'indexer facilement leurs pages web. Dans un contexte où le référencement est crucial, ce processus s'avère essentiel pour les entreprises souhaitant optimiser leur visibilité en ligne. Grâce à cette automatisation, les utilisateurs peuvent gérer leurs sitemaps de manière efficace, en s'assurant que toutes les pages sont correctement indexées par les moteurs de recherche.
  • Le workflow débute avec un déclencheur manuel ou programmé via un nœud de type 'Schedule Trigger'. Ensuite, il utilise un nœud 'splitInBatches' pour traiter les sitemaps par lots, ce qui permet de gérer de grandes quantités de données sans surcharge. Les nœuds 'httpRequest' sont ensuite utilisés pour récupérer et envoyer les données des sitemaps, tandis que le nœud 'xml' convertit les données au format approprié. Un nœud 'if' vérifie les conditions d'indexation, et en cas d'erreur, le workflow s'arrête avec un message d'erreur clair.
  • Les bénéfices de cette automatisation n8n sont multiples : elle réduit le temps consacré à la gestion manuelle des sitemaps, minimise les risques d'erreurs humaines et garantit une indexation rapide et efficace des pages web. En intégrant ce workflow, les entreprises peuvent se concentrer sur d'autres aspects de leur stratégie digitale tout en améliorant leur référencement.
Tags clés :automatisationGoogle SheetssitemapsSEOn8n
Catégorie: Scheduled | Manual · Tags: automatisation, Google Sheets, sitemaps, SEO, n8n0

Workflow n8n Google Sheets, sitemaps, SEO : vue d'ensemble

Schéma des nœuds et connexions de ce workflow n8n, généré à partir du JSON n8n.

Workflow n8n Google Sheets, sitemaps, SEO : détail des nœuds

  • When clicking "Execute Workflow"

    Déclenche le workflow manuellement lorsque l'utilisateur clique sur 'Exécuter le workflow'.

  • Schedule Trigger

    Déclenche le workflow selon un calendrier défini par une règle.

  • loop

    Divise les données en plusieurs lots pour un traitement par étapes.

  • sitemap_set

    Effectue une requête HTTP pour récupérer un sitemap à partir d'une URL spécifiée.

  • sitemap_convert

    Convertit le contenu XML en un format exploitable selon les options définies.

  • sitemap_parse

    Sépare les données en fonction d'un champ spécifique pour un traitement ultérieur.

  • url_set

    Définit des valeurs dans le workflow en utilisant les options spécifiées.

  • url_index

    Effectue une requête HTTP pour indexer une URL avec les paramètres et l'authentification fournis.

  • index_check

    Évalue une condition pour déterminer le chemin d'exécution suivant dans le workflow.

  • wait

    Met le workflow en pause pendant une durée spécifiée.

  • Stop and Error

    Arrête le workflow et signale une erreur avec un message d'erreur défini.

  • Sticky Note

    Ajoute une note autocollante dans le workflow avec le contenu et les dimensions spécifiés.

Inscris-toi pour voir l'intégralité du workflow

Inscription gratuite

S'inscrire gratuitementBesoin d'aide ?
{
  "meta": {
    "instanceId": "2edac0e72822bb0462c05ce3b5a939f685ded652d02e9a767d1afa775988460e"
  },
  "nodes": [
    {
      "id": "0788a3db-20c3-43b6-956a-394f688f7763",
      "name": "When clicking \"Execute Workflow\"",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        360,
        440
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "51460fab-a53c-46cd-a484-d2c038cd102d",
      "name": "Schedule Trigger",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        360,
        600
      ],
      "parameters": {
        "rule": {
          "interval": [
            {
              "triggerAtHour": 1
            }
          ]
        }
      },
      "typeVersion": 1
    },
    {
      "id": "5326416c-5715-4cc7-acfd-38a32f864bfb",
      "name": "loop",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        1360,
        600
      ],
      "parameters": {
        "options": {},
        "batchSize": 1
      },
      "typeVersion": 2
    },
    {
      "id": "fb0ca9f7-ff49-4a4b-9575-42b80594737e",
      "name": "sitemap_set",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        540,
        600
      ],
      "parameters": {
        "url": "https://bushidogym.fr/sitemap.xml",
        "options": {}
      },
      "typeVersion": 4.1
    },
    {
      "id": "150b47fe-f1c8-4dcb-b187-b459ee50c316",
      "name": "sitemap_convert",
      "type": "n8n-nodes-base.xml",
      "position": [
        700,
        600
      ],
      "parameters": {
        "options": {
          "trim": true,
          "normalize": true,
          "mergeAttrs": true,
          "ignoreAttrs": true,
          "normalizeTags": true
        }
      },
      "typeVersion": 1
    },
    {
      "id": "83cd19d6-81e7-46af-83a3-090cdd66b420",
      "name": "sitemap_parse",
      "type": "n8n-nodes-base.splitOut",
      "position": [
        920,
        600
      ],
      "parameters": {
        "options": {
          "destinationFieldName": "url"
        },
        "fieldToSplitOut": "urlset.url"
      },
      "typeVersion": 1
    },
    {
      "id": "95c784d1-5756-4bf0-b2e5-e25a84c01b72",
      "name": "url_set",
      "type": "n8n-nodes-base.set",
      "position": [
        1140,
        600
      ],
      "parameters": {
        "values": {
          "string": [
            {
              "name": "url",
              "value": "={{ $json.url.loc }}"
            }
          ]
        },
        "options": {},
        "keepOnlySet": true
      },
      "typeVersion": 2
    },
    {
      "id": "43b62667-a37e-4bd1-bbb9-7a20a0914c97",
      "name": "url_index",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1560,
        580
      ],
      "parameters": {
        "url": "https://indexing.googleapis.com/v3/urlNotifications:publish",
        "method": "POST",
        "options": {},
        "sendBody": true,
        "authentication": "predefinedCredentialType",
        "bodyParameters": {
          "parameters": [
            {
              "name": "url",
              "value": "={{ $json.url }}"
            },
            {
              "name": "type",
              "value": "URL_UPDATED"
            }
          ]
        },
        "nodeCredentialType": "googleApi"
      },
      "credentials": {
        "googleApi": {
          "id": "RywvL8c7V2ZtBvdK",
          "name": "850737154850-compute@developer.gserviceaccount.com"
        }
      },
      "typeVersion": 4,
      "continueOnFail": true,
      "alwaysOutputData": true
    },
    {
      "id": "39ae8c01-64e4-44f5-be43-d5c402b00739",
      "name": "index_check",
      "type": "n8n-nodes-base.if",
      "position": [
        1780,
        580
      ],
      "parameters": {
        "conditions": {
          "string": [
            {
              "value1": "={{ $json.urlNotificationMetadata.latestUpdate.type }}",
              "value2": "URL_UPDATED"
            }
          ]
        }
      },
      "typeVersion": 1
    },
    {
      "id": "c4bf483b-af4b-451e-974b-d4abeb2c70f6",
      "name": "wait",
      "type": "n8n-nodes-base.wait",
      "position": [
        2040,
        560
      ],
      "webhookId": "b0df1fe8-e509-4d0c-a486-f523226621e2",
      "parameters": {
        "unit": "seconds",
        "amount": 2
      },
      "typeVersion": 1
    },
    {
      "id": "455955a8-c767-453b-805c-77c5b7d2e9bc",
      "name": "Stop and Error",
      "type": "n8n-nodes-base.stopAndError",
      "position": [
        2040,
        840
      ],
      "parameters": {
        "errorMessage": "You have reached the Google Indexing API limit (200/day by default)"
      },
      "typeVersion": 1
    },
    {
      "id": "275abdd5-be5d-458f-bc75-d9f72824c49f",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        340,
        180
      ],
      "parameters": {
        "width": 482.7089688834655,
        "height": 221.39109212934721,
        "content": "## Simple indexing workflow using the Google Indexing API\n\nThis workflow is the simplest indexing workflow. It simply extracts a sitemap, converts it to a JSON, and loops through each URL. It will output an error if your quota is reached.\n\n*Joachim*"
      },
      "typeVersion": 1
    }
  ],
  "pinData": {},
  "connections": {
    "loop": {
      "main": [
        [
          {
            "node": "url_index",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "wait": {
      "main": [
        [
          {
            "node": "loop",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "url_set": {
      "main": [
        [
          {
            "node": "loop",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "url_index": {
      "main": [
        [
          {
            "node": "index_check",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "index_check": {
      "main": [
        [
          {
            "node": "wait",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Stop and Error",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "sitemap_set": {
      "main": [
        [
          {
            "node": "sitemap_convert",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "sitemap_parse": {
      "main": [
        [
          {
            "node": "url_set",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "sitemap_convert": {
      "main": [
        [
          {
            "node": "sitemap_parse",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Schedule Trigger": {
      "main": [
        [
          {
            "node": "sitemap_set",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "When clicking \"Execute Workflow\"": {
      "main": [
        [
          {
            "node": "sitemap_set",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}

Workflow n8n Google Sheets, sitemaps, SEO : pour qui est ce workflow ?

Ce workflow s'adresse aux équipes marketing et SEO des entreprises de taille moyenne à grande qui cherchent à automatiser la gestion de leurs sitemaps. Il est conçu pour des utilisateurs ayant un niveau technique intermédiaire, familiarisés avec les outils d'automatisation et de gestion de contenu.

Workflow n8n Google Sheets, sitemaps, SEO : problème résolu

Ce workflow résout le problème de la gestion manuelle des sitemaps, qui peut être chronophage et sujette à des erreurs. En automatisant ce processus, les utilisateurs gagnent du temps et réduisent les risques d'oubli ou de mauvaise indexation de leurs pages. À la suite de la mise en place de ce workflow, les entreprises peuvent s'assurer que toutes leurs pages sont correctement indexées, ce qui améliore leur visibilité sur les moteurs de recherche.

Workflow n8n Google Sheets, sitemaps, SEO : étapes du workflow

Étape 1 : Le workflow est déclenché manuellement ou selon un calendrier défini.

  • Étape 1 : Les sitemaps sont traités par lots grâce au nœud 'splitInBatches'.
  • Étape 2 : Les données des sitemaps sont récupérées via un nœud 'httpRequest'.
  • Étape 3 : Les données sont converties en XML pour être traitées.
  • Étape 4 : Un nœud 'if' vérifie si l'indexation est réussie.
  • Étape 5 : En cas d'erreur, le workflow s'arrête avec un message d'erreur approprié.

Workflow n8n Google Sheets, sitemaps, SEO : guide de personnalisation

Pour personnaliser ce workflow, les utilisateurs peuvent ajuster les paramètres du nœud 'Schedule Trigger' pour définir la fréquence d'exécution. Il est également possible de modifier l'URL dans le nœud 'httpRequest' pour pointer vers le sitemap spécifique à gérer. Les utilisateurs peuvent adapter la taille des lots dans le nœud 'splitInBatches' en fonction de leurs besoins. Enfin, il est recommandé de tester le workflow avec des données de test avant de le déployer en production pour s'assurer de son bon fonctionnement.