{"id": "WETMyIJCbD3et6Rh", "name": "High-Level Service Page SEO Blueprint Report", "nodes": [{"id": "49aa0dd2-1d64-4047-9988-8e4f386d557a", "name": "Convert URLs to Items", "type": "n8n-nodes-base.code", "position": [600, 500], "parameters": {"jsCode": "// Get the raw input string from the \"Start\" node\nconst input = $('Start').item.json.Competitors;\n\n// Split the string by line breaks and filter out any empty lines\nconst urls = input\n .split('\\n')\n .map(url => url.trim())\n .filter(url => url.length > 0);\n\n// Return the array as output with \"competitor_url\" field\nreturn urls.map(url => ({ json: { competitor_url: url } }));"}, "typeVersion": 2}, {"id": "ec7b74db-43fc-4041-b63e-02ff21b9442e", "name": "Start", "type": "n8n-nodes-base.formTrigger", "position": [240, 500], "webhookId": "dafbc2ba-7397-4f83-b84d-630294e636b0", "parameters": {"options": {}, "formTitle": "Competitors Analysis for Service-Based Queries", "formFields": {"values": [{"fieldType": "textarea", "fieldLabel": "Competitors", "placeholder": "competitor1.com\ncompetitor2.com", "requiredField": true}, {"fieldLabel": "Target Keyword", "requiredField": true}, {"fieldType": "textarea", "fieldLabel": "Services Offered", "requiredField": true}, {"fieldLabel": "Brand Name", "requiredField": true}, {"fieldType": "dropdown", "fieldLabel": "Is Homepage?", "fieldOptions": {"values": [{"option": "Yes"}, {"option": "No"}]}}]}, "formDescription": "Generate a high-level service page content blueprint report to follow to beat the competition. \n\nNote: Do not add more than 5 competitors otherwise this could dilute the context and quality of the final report."}, "typeVersion": 2.2}, {"id": "c517d397-4962-4281-962e-a57e3a12bea0", "name": "Loop Over Items", "type": "n8n-nodes-base.splitInBatches", "position": [880, 500], "parameters": {"options": {}}, "typeVersion": 3}, {"id": "ac532215-626d-4690-9c99-d11f09fa86dc", "name": "Get URL HTML", "type": "n8n-nodes-base.httpRequest", "onError": "continueErrorOutput", "maxTries": 5, "position": [1100, 340], "parameters": {"url": "=https://r.jina.ai/{{ $json.competitor_url }}", "options": {}, "sendHeaders": true, "headerParameters": {"parameters": [{"name": "Authorization", "value": "=Bearer {{ $('Edit Fields').first().json['JINA Reader API Key'] }}"}, {"name": "X-Return-Format", "value": "html"}]}}, "executeOnce": false, "retryOnFail": true, "typeVersion": 4.2, "waitBetweenTries": 5000}, {"id": "ed03887c-9996-4dfb-b46a-a745bc64864a", "name": "Extract HTML Elements", "type": "n8n-nodes-base.code", "position": [1300, 340], "parameters": {"jsCode": "// Function to remove inner HTML tags and decode common HTML entities\nfunction cleanText(text) {\n // Remove any HTML tags inside the text\n let cleaned = text.replace(/<\\/?[^>]+(>