{
  "id": "Sw8xHiqCCaMYwY5c1ejxb",
  "name": "Index your website using IndexNow and XML sitemap",
  "tags": [],
  "nodes": [
    {
      "id": "ebf4d0c8-33fb-408e-95bd-f9515094fb53",
      "name": "Read Sitemap",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        448,
        0
      ],
      "parameters": {
        "url": "={{ $('Configuration').item.json.sitemap_url }}",
        "options": {}
      },
      "typeVersion": 4.3
    },
    {
      "id": "5116fe05-5619-4cfd-9b2c-50dbd539aab2",
      "name": "Parse XML",
      "type": "n8n-nodes-base.xml",
      "position": [
        672,
        0
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 1
    },
    {
      "id": "5945d668-0608-4e87-b85d-3323f094b296",
      "name": "Split Out URLs",
      "type": "n8n-nodes-base.splitOut",
      "position": [
        896,
        0
      ],
      "parameters": {
        "options": {},
        "fieldToSplitOut": "urlset.url"
      },
      "typeVersion": 1
    },
    {
      "id": "6917f50d-8471-4240-af25-c7ddfbc092ad",
      "name": "Filter Last Modified Pages",
      "type": "n8n-nodes-base.filter",
      "position": [
        1120,
        0
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 3,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "dffb9dd9-e69c-4302-872d-a257d649dda4",
              "operator": {
                "type": "dateTime",
                "operation": "after"
              },
              "leftValue": "={{ $json.lastmod }}",
              "rightValue": "={{ $('Configuration').item.json.modified_after }}"
            }
          ]
        }
      },
      "typeVersion": 2.3
    },
    {
      "id": "093a6adb-d208-4cf9-b255-595c8a4f9e2f",
      "name": "Aggregate URLs",
      "type": "n8n-nodes-base.aggregate",
      "position": [
        1344,
        0
      ],
      "parameters": {
        "options": {},
        "fieldsToAggregate": {
          "fieldToAggregate": [
            {
              "renameField": true,
              "outputFieldName": "urlList",
              "fieldToAggregate": "loc"
            }
          ]
        }
      },
      "typeVersion": 1
    },
    {
      "id": "1c45c4f1-dcbc-42ab-9425-a68cb6207b92",
      "name": "Send URLs to IndexNow",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1568,
        0
      ],
      "parameters": {
        "url": "https://api.indexnow.org/indexnow",
        "method": "POST",
        "options": {},
        "sendBody": true,
        "bodyParameters": {
          "parameters": [
            {
              "name": "host",
              "value": "={{ $('Configuration').item.json.sitemap_url.extractDomain() }}"
            },
            {
              "name": "key",
              "value": "={{ $('Configuration').item.json.indexnow_key }}"
            },
            {
              "name": "keyLocation",
              "value": "=https://{{ $('Configuration').item.json.sitemap_url.extractDomain() }}/{{ $('Configuration').item.json.indexnow_key }}.txt"
            },
            {
              "name": "urlList",
              "value": "={{ $json.urlList }}"
            }
          ]
        }
      },
      "typeVersion": 4.3
    },
    {
      "id": "0f3a430b-fd33-42e2-b963-5eda88c55fd0",
      "name": "Configuration",
      "type": "n8n-nodes-base.set",
      "position": [
        224,
        0
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "c842ea3f-a4b1-43a5-b517-87573ef7f7eb",
              "name": "sitemap_url",
              "type": "string",
              "value": "https://example.com/sitemap.xml"
            },
            {
              "id": "fa030335-3323-47bc-ae4f-a5bdc06c0e53",
              "name": "modified_after",
              "type": "string",
              "value": "={{ $now.minus(1, 'week').toISO() }}"
            },
            {
              "id": "55ff9efe-e537-4bc9-bdd2-764495fbeb01",
              "name": "indexnow_key",
              "type": "string",
              "value": "4262631fe57245bd9bd1cef01d1c3fa4"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "e415a830-b8ec-4dd1-8e96-1ce54205862d",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -224,
        -640
      ],
      "parameters": {
        "width": 608,
        "height": 800,
        "content": "## Index your website using IndexNow and XML sitemap\n\nStop waiting for search engines to discover your content updates. This workflow automates the process of notifying search engines (Bing, Yandex, etc.) about new or updated pages using the IndexNow protocol.\n\nBy parsing your XML sitemap and filtering for pages modified within a specific timeframe (e.g., the last week), it ensures your crawl budget is used efficiently and your latest content appears in search results almost instantly.\n\n### Setup steps:\n\n1. **Host your Key:** Generate an IndexNow key and upload the `.txt` file to your website's root directory.\n2. **Setup Configuration Node:**\n   * Enter your `sitemap_url` (e.g., https://yoursite.com/sitemap.xml).\n   * Enter your `indexnow_key`.\n   * Set the `modified_after` variable to define your lookback window (e.g., -7d or a specific ISO date).\n3. **Schedule:** Adjust the Schedule Trigger to your preferred frequency (default is daily).\n4. **Activate:** Once configured, turn the workflow on to start proactive indexing.\n\n\nFor a deep dive into how this workflow works and why it's a game-changer for your SEO strategy, check out our full guide on n8nplaybook.com.\n[Read the full Playbook Article here](https://n8nplaybook.com/post/2026/02/automate-indexnow-seo-n8n-workflow/)"
      },
      "typeVersion": 1
    },
    {
      "id": "9b6fb884-d2f3-4664-922a-aabbd6222b3f",
      "name": "Run Daily Indexing",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        0,
        0
      ],
      "parameters": {
        "rule": {
          "interval": [
            {}
          ]
        }
      },
      "typeVersion": 1.3
    },
    {
      "id": "7d8532ce-8c6a-4b3e-83a5-d174cb43efb3",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        384,
        -112
      ],
      "parameters": {
        "color": 5,
        "width": 672,
        "height": 272,
        "content": "## Get URLs from website\nRead sitemap.xml, parse it and split out URLs from it"
      },
      "typeVersion": 1
    },
    {
      "id": "b386ea7e-d814-4760-9234-f6e558d5b558",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1056,
        -112
      ],
      "parameters": {
        "color": 4,
        "width": 448,
        "height": 272,
        "content": "## Prepare URLs from submission\nFilter last modified URLs and convert them into array"
      },
      "typeVersion": 1
    },
    {
      "id": "86baa662-9ba8-42cf-bf4e-174a40289794",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1504,
        -112
      ],
      "parameters": {
        "color": 2,
        "height": 272,
        "content": "## Submit"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "settings": {
    "availableInMCP": false,
    "executionOrder": "v1"
  },
  "versionId": "9110280b-dcb7-488b-9f85-912a5dcd7035",
  "connections": {
    "Parse XML": {
      "main": [
        [
          {
            "node": "Split Out URLs",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Read Sitemap": {
      "main": [
        [
          {
            "node": "Parse XML",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Configuration": {
      "main": [
        [
          {
            "node": "Read Sitemap",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Aggregate URLs": {
      "main": [
        [
          {
            "node": "Send URLs to IndexNow",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Split Out URLs": {
      "main": [
        [
          {
            "node": "Filter Last Modified Pages",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Run Daily Indexing": {
      "main": [
        [
          {
            "node": "Configuration",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Filter Last Modified Pages": {
      "main": [
        [
          {
            "node": "Aggregate URLs",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}