{
  "schema": "ldwf",
  "version": 1,
  "name": "SEO-Optimierung für Blog",
  "meta": {
    "exportedAt": "2025-11-16T16:49:36.678Z",
    "exporter": "client"
  },
  "graph": {
    "nodes": [
      {
        "type": "action",
        "data": {
          "comment": "🔔 SCHRITT 4: CONTENT-TEAM BENACHRICHTIGEN\n\n🎯 BESCHREIBUNG:\nSendet eine Slack-Nachricht an das Content-Team mit Draft-Titel, SEO-Score und Hinweis auf die detaillierten Empfehlungen im CMS.\n\n⚙️ SETUP (WICHTIG):\n1. Slack-Verbindung einrichten:\n   - Gehen Sie zu Einstellungen > Integrationen\n   - Fügen Sie eine Slack-Verbindung hinzu\n   - Autorisieren Sie Langdock für Ihren Workspace\n\n2. Channel anpassen:\n   - Aktuell: #content-team\n   - Ändern Sie dies zu Ihrem tatsächlichen Channel-Namen\n   - Format: #channel-name oder @username für DMs\n   - Stellen Sie sicher, dass der Bot Zugriff auf den Channel hat\n\n3. Verbindung auswählen:\n   - Nach dem Einrichten der Slack-Verbindung\n   - Wählen Sie die Verbindung in diesem Node aus\n\n🎨 PERSONALISIERUNG:\n1. NACHRICHTENINHALT:\n   - Prompt anpassen für anderen Ton/Stil\n   - Mehr/weniger Details einfügen\n   - Emojis hinzufügen/entfernen\n   - Erwähnungen (@mentions) einbauen\n\n2. MEHRERE CHANNELS:\n   - Workflow duplizieren für verschiedene Teams\n   - Condition-Node davor: Verschiedene Channels je nach SEO-Score\n\n3. ALTERNATIVE BENACHRICHTIGUNG:\n   - Statt Slack: Microsoft Teams, Email, etc.\n   - Mehrere Benachrichtigungen parallel",
          "executionId": null,
          "errorHandling": {
            "strategy": "stop"
          },
          "slug": "notifyContentTeam",
          "actionId": "26a39d11-d5fe-4f46-b776-973dd20b8147",
          "config": {
            "connectionId": null,
            "requiresConfirmation": false,
            "modelId": "c968689a-c0d9-49de-aa76-b10ed15ebb0e",
            "fields": {
              "text": {
                "mode": "prompt",
                "prompt": "Create a friendly message to notify the content team that SEO analysis is complete for a blog draft. Include: 1) The draft title from the webhook, 2) The SEO score, 3) A brief mention that detailed recommendations are available as a comment in the CMS, 4) A link to the draft if available in the webhook output. Use this data: Webhook: {{cmsDraftWebhook.output}} and SEO Analysis: {{seoAnalyzer.output.structured}}"
              },
              "channel": {
                "mode": "manual",
                "value": "#content-team"
              }
            }
          }
        },
        "id": "ad9b7dfa-957c-4022-88c0-a472edfa5eea",
        "position": {
          "x": 1120,
          "y": 7050
        }
      },
      {
        "type": "trigger",
        "data": {
          "comment": "📥 SCHRITT 1: DRAFT-DATEN EMPFANGEN\n\n🎯 BESCHREIBUNG:\nWebhook empfängt CMS-Benachrichtigungen bei neuen Blog-Drafts und startet den SEO-Workflow.\n\n⚙️ SETUP:\n1. Webhook-URL kopieren (nach Speichern sichtbar)\n2. In Ihrem CMS (WordPress, Contentful, etc.) Webhook einrichten:\n   - Event: \"Draft erstellt\" / \"Status = Review/Entwurf\"\n   - Methode: POST, Content-Type: application/json\n3. Erforderliche Felder: draft_id, title, content, meta_description, status\n4. Optional: draft_url, author, created_at\n\n🔒 SICHERHEIT:\nOptional Secret hinzufügen - CMS muss es dann im Header senden (X-Webhook-Secret)\n\n🎨 PERSONALISIERUNG:\n- Secret: Zufälliges, sicheres Secret für Authentifizierung\n- Name: An Ihr CMS anpassen (z.B. \"WordPress Draft Webhook\")\n\n💡 BEISPIEL PAYLOAD:\n{\n  \"draft_id\": \"12345\",\n  \"title\": \"10 SEO-Tipps\",\n  \"content\": \"<h1>...</h1><p>...</p>\",\n  \"meta_description\": \"SEO-Strategien\",\n  \"status\": \"Review\",\n  \"draft_url\": \"https://cms.example.com/drafts/12345\"\n}",
          "executionId": null,
          "errorHandling": {
            "strategy": "stop"
          },
          "slug": "cmsDraftWebhook",
          "name": "CMS Draft Webhook",
          "kind": "webhook"
        },
        "id": "ce07333d-bb69-4076-bffc-8c752d5c038a",
        "position": {
          "x": 20,
          "y": 7240
        }
      },
      {
        "type": "http_request",
        "data": {
          "comment": "📝 SCHRITT 3: SEO-FEEDBACK IM CMS HINTERLEGEN\n\n🎯 BESCHREIBUNG:\nSendet die SEO-Analyse als strukturierten Kommentar zurück ins CMS, damit das Content-Team die Empfehlungen direkt beim Draft sieht.\n\n⚙️ SETUP (WICHTIG - MUSS ANGEPASST WERDEN):\n1. URL anpassen:\n   - Aktuell: Platzhalter mit Webhook-Daten\n   - Ändern zu: Ihrer CMS-API-Endpunkt\n   - Beispiele:\n     * WordPress: https://ihr-blog.com/wp-json/wp/v2/posts/DRAFT_ID/comments\n     * Contentful: https://api.contentful.com/spaces/SPACE_ID/entries/DRAFT_ID/comments\n     * Custom: https://api.ihr-cms.com/drafts/DRAFT_ID/comments\n   - Verwenden Sie Webhook-Daten für dynamische IDs\n\n2. Authorization Header anpassen:\n   - Aktuell: \"Bearer YOUR_CMS_API_KEY\"\n   - Ersetzen Sie YOUR_CMS_API_KEY mit Ihrem echten API-Key\n   - Alternative Auth: Basic Auth, API Key Header, OAuth\n\n3. Body-Format prüfen:\n   - KI generiert automatisch passendes JSON\n   - Falls Ihr CMS spezifisches Format braucht, Prompt anpassen\n\n🎨 PERSONALISIERUNG:\n- Kommentar-Format: Prompt für andere Strukturierung anpassen\n- Zusätzliche Headers: X-Custom-Header hinzufügen\n- Fehlerbehandlung: Strategy auf \"continue\" setzen, falls CMS offline sein kann",
          "executionId": null,
          "errorHandling": {
            "strategy": "stop"
          },
          "name": "Post SEO Comment to CMS",
          "slug": "postSeoComment",
          "url": {
            "mode": "manual",
            "value": "{{cmsDraftWebhook.output}}"
          },
          "method": "POST",
          "body": {
            "mode": "prompt",
            "prompt": "Create a JSON body to post a comment to the CMS. The comment should contain the complete SEO analysis from the analyzer. Use the draft_id from the webhook output to identify which draft to comment on. Format the SEO feedback in a clear, structured way with sections for: SEO Score, Keyword Analysis, Heading Structure, Meta Description, Readability, and Priority Recommendations. Include all the detailed analysis from: {{seoAnalyzer.output.structured}}"
          },
          "queryParams": [],
          "headers": [
            {
              "key": "Content-Type",
              "value": "application/json"
            },
            {
              "key": "Authorization",
              "value": "Bearer YOUR_CMS_API_KEY"
            }
          ]
        },
        "id": "d9cc0394-ab43-44ce-a547-9da97185db8f",
        "position": {
          "x": 1120,
          "y": 7430
        }
      },
      {
        "type": "agent",
        "data": {
          "comment": "🤖 SCHRITT 2: KI-GESTÜTZTE SEO-ANALYSE\n\n🎯 BESCHREIBUNG:\nKI-Agent analysiert den Draft-Inhalt auf SEO-Faktoren: Keywords, Überschriften-Struktur, Meta-Description, Lesbarkeit und Content-Qualität. Generiert strukturierte Empfehlungen mit Priorität.\n\n⚙️ SETUP:\nKeine zusätzliche Konfiguration nötig - funktioniert out-of-the-box mit Webhook-Daten.\n\n🎨 PERSONALISIERUNG:\n1. ANALYSE-SCHWERPUNKTE anpassen:\n   - Im Prompt Fokus ändern (z.B. mehr Gewicht auf Lesbarkeit)\n   - Spezifische Branchen-Keywords vorgeben\n   - Zielgruppen-spezifische Kriterien hinzufügen\n\n2. OUTPUT-SCHEMA erweitern:\n   - Weitere Felder hinzufügen (z.B. \"competitor_analysis\", \"image_seo\")\n   - SEO-Score-Gewichtung anpassen\n\n3. MODELL wechseln:\n   - Aktuell: Standard-Modell\n   - Alternative: Leistungsstärkeres Modell für detailliertere Analysen\n\n4. TOOLS hinzufügen:\n   - Web Search: Für Keyword-Trend-Recherche\n   - Knowledge Base: Firmen-spezifische SEO-Guidelines\n\n💡 AUSGABE:\nStrukturiert mit 8 Feldern: SEO-Score, Keyword-Analyse, Überschriften, Meta-Description, Lesbarkeit, Empfehlungen, vollständiger Report, Erfolgs-Status",
          "executionId": null,
          "errorHandling": {
            "strategy": "stop"
          },
          "slug": "seoAnalyzer",
          "assistantId": null,
          "mode": "create",
          "name": "SEO Analyzer",
          "prompt": {
            "mode": "manual",
            "value": "You are an expert SEO analyst. Analyze the following blog draft and provide comprehensive SEO feedback.\n\n**Blog Draft Data:**\n{{cmsDraftWebhook.output}}\n\n**Your Analysis Should Include:**\n\n1. **Keyword Analysis:**\n   - Identify the main keyword/topic\n   - Analyze keyword density and placement\n   - Check if keywords appear in title, headings, and first paragraph\n\n2. **Heading Structure:**\n   - Evaluate H1, H2, H3 hierarchy\n   - Check if headings are descriptive and include keywords\n   - Verify proper nesting and structure\n\n3. **Meta Description Quality:**\n   - Check length (should be 150-160 characters)\n   - Verify it includes main keyword\n   - Assess if it's compelling and actionable\n\n4. **Readability:**\n   - Evaluate sentence and paragraph length\n   - Check for clear, concise language\n   - Assess overall flow and structure\n\n5. **Content Quality:**\n   - Check content depth and comprehensiveness\n   - Verify internal linking opportunities\n   - Assess if content answers user intent\n\nProvide specific, actionable recommendations prioritized by impact. The blog draft data will contain fields like title, content, meta_description, status, draft_id, and other relevant CMS metadata."
          },
          "attachmentIds": [],
          "output": "structured",
          "connectionOverrides": {},
          "outputSchema": [
            {
              "id": "28d01e74-37ad-4d65-8239-fb396d90f1b7",
              "name": "seo_score",
              "description": "Overall SEO score from 0-100",
              "type": "number",
              "required": true
            },
            {
              "id": "2382228a-6ff3-428e-a3e0-500f098fc268",
              "name": "keyword_analysis",
              "description": "Analysis of keyword usage and density",
              "type": "string",
              "required": true
            },
            {
              "id": "e21e1d2e-4ed5-4990-96fa-bb75e2088b5b",
              "name": "heading_structure_analysis",
              "description": "Evaluation of heading hierarchy and structure",
              "type": "string",
              "required": true
            },
            {
              "id": "850caaf3-ac27-4591-8669-3c166751a3a1",
              "name": "meta_description_feedback",
              "description": "Feedback on meta description quality and length",
              "type": "string",
              "required": true
            },
            {
              "id": "e62b0bfc-8b57-4e19-8730-ec1500aab06f",
              "name": "readability_assessment",
              "description": "Assessment of content readability and flow",
              "type": "string",
              "required": true
            },
            {
              "id": "190cf8c1-238b-4ebc-ac6e-51e37ff77a6f",
              "name": "priority_recommendations",
              "description": "Top 5 prioritized, actionable SEO recommendations",
              "type": "string",
              "required": true
            },
            {
              "id": "2ebf616a-38cf-4606-8b0b-dd323af6ec1b",
              "name": "output",
              "description": "Complete formatted SEO analysis report",
              "type": "string",
              "required": true
            },
            {
              "id": "b09d64ce-a069-46af-96c6-e35558337c21",
              "name": "success",
              "description": "Whether the analysis was completed successfully",
              "type": "boolean",
              "required": true
            }
          ],
          "modelId": "c968689a-c0d9-49de-aa76-b10ed15ebb0e",
          "tools": [],
          "maxSteps": 25
        },
        "id": "c2fe4277-8fe8-4dbe-adb7-d0eef8bac49e",
        "position": {
          "x": 560,
          "y": 7240
        }
      }
    ],
    "edges": [
      {
        "id": "cd6d4d97-bfcf-4278-a078-8be889d9a8dd",
        "source": "ce07333d-bb69-4076-bffc-8c752d5c038a",
        "target": "c2fe4277-8fe8-4dbe-adb7-d0eef8bac49e",
        "animated": false,
        "sourceHandle": "output-success",
        "targetHandle": "input-default",
        "conditionId": null
      },
      {
        "id": "710906f5-8003-44e1-b388-041878bfaf0f",
        "source": "c2fe4277-8fe8-4dbe-adb7-d0eef8bac49e",
        "target": "d9cc0394-ab43-44ce-a547-9da97185db8f",
        "animated": false,
        "sourceHandle": "output-success",
        "targetHandle": "input-default",
        "conditionId": null
      },
      {
        "id": "1d60c5c0-cee3-41c8-a85d-133a0d284cee",
        "source": "c2fe4277-8fe8-4dbe-adb7-d0eef8bac49e",
        "target": "ad9b7dfa-957c-4022-88c0-a472edfa5eea",
        "animated": false,
        "sourceHandle": "output-success",
        "targetHandle": "input-default",
        "conditionId": null
      }
    ]
  }
}