8
n8n 中文网amn8n.com

使用Claude 4智能体系统的落地页分析与优化

高级

这是一个自动化工作流,包含 24 个节点。主要使用 Set, Code, Gmail, FormTrigger, HttpRequest 等节点。 使用Claude 4智能体系统的落地页分析与优化

前置要求
  • Google 账号和 Gmail API 凭证
  • 可能需要目标 API 的认证凭证
  • Anthropic API Key

分类

-
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
  "nodes": [
    {
      "id": "37802015-cc2f-4d43-8e1e-aef2dded5757",
      "name": "表单提交",
      "type": "n8n-nodes-base.formTrigger",
      "position": [
        -816,
        544
      ],
      "webhookId": "lp-analyzer-form-001",
      "parameters": {
        "options": {},
        "formTitle": "Free Landing Page Audit - By Evervise",
        "formFields": {
          "values": [
            {
              "fieldLabel": "Landing Page URL",
              "placeholder": "https://yourwebsite.com/landing-page",
              "requiredField": true
            },
            {
              "fieldLabel": "What's your industry?",
              "placeholder": "e.g., SaaS, E-commerce, Real Estate, Coaching"
            },
            {
              "fieldType": "dropdown",
              "fieldLabel": "Primary goal of this page",
              "fieldOptions": {
                "values": [
                  {
                    "option": "Generate Leads"
                  },
                  {
                    "option": "Drive Sales"
                  },
                  {
                    "option": "Get Sign-ups"
                  },
                  {
                    "option": "Book Appointments"
                  },
                  {
                    "option": "Download Resource"
                  },
                  {
                    "option": "Other"
                  }
                ]
              },
              "requiredField": true
            },
            {
              "fieldLabel": "Current conversion rate (if known)",
              "placeholder": "e.g., 2.5% or 'I don't know'"
            },
            {
              "fieldType": "textarea",
              "fieldLabel": "Biggest frustration with current page",
              "placeholder": "e.g., Low conversions, high bounce rate, unclear messaging"
            },
            {
              "fieldType": "email",
              "fieldLabel": "Your Email",
              "placeholder": "your@email.com",
              "requiredField": true
            }
          ]
        },
        "formDescription": "Get a $2,000 professional landing page audit in 90 seconds. Powered by 4 AI specialists who analyze design, copy, SEO, and conversion strategy."
      },
      "typeVersion": 2.3
    },
    {
      "id": "8b45a002-5364-43bf-a709-f32a7fd7a93d",
      "name": "初始化变量",
      "type": "n8n-nodes-base.set",
      "position": [
        -576,
        544
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "url",
              "name": "landing_page_url",
              "type": "string",
              "value": "={{ $json['Landing Page URL'] }}"
            },
            {
              "id": "industry",
              "name": "industry",
              "type": "string",
              "value": "={{ $json[\"What's your industry?\"] || 'General' }}"
            },
            {
              "id": "goal",
              "name": "primary_goal",
              "type": "string",
              "value": "={{ $json['Primary goal of this page'] }}"
            },
            {
              "id": "conv_rate",
              "name": "current_conversion",
              "type": "string",
              "value": "={{ $json['Current conversion rate (if known)'] || 'Unknown' }}"
            },
            {
              "id": "frustration",
              "name": "biggest_frustration",
              "type": "string",
              "value": "={{ $json['Biggest frustration with current page'] || 'Not specified' }}"
            },
            {
              "id": "email",
              "name": "user_email",
              "type": "string",
              "value": "={{ $json['Your Email'] }}"
            },
            {
              "id": "timestamp",
              "name": "analysis_timestamp",
              "type": "string",
              "value": "={{ new Date().toISOString() }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "62118bdb-a453-4ef1-ab38-1a0f8444eb52",
      "name": "获取页面 HTML",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -304,
        464
      ],
      "parameters": {
        "url": "={{ $json.landing_page_url }}",
        "options": {
          "timeout": 10000,
          "response": {
            "response": {
              "neverError": true,
              "fullResponse": true
            }
          }
        }
      },
      "typeVersion": 4.1,
      "continueOnFail": true
    },
    {
      "id": "cd78cefa-76e9-4238-b47d-9ab09ac86a31",
      "name": "提取页面元素",
      "type": "n8n-nodes-base.code",
      "position": [
        -112,
        464
      ],
      "parameters": {
        "jsCode": "// Extract key HTML elements for analysis\nconst html = $json.body || '';\nconst url = $('Initialize Variables').item.json.landing_page_url;\n\n// Extract title\nconst titleMatch = html.match(/<title[^>]*>([^<]+)<\\/title>/i);\nconst pageTitle = titleMatch ? titleMatch[1].trim() : 'No title found';\n\n// Extract meta description\nconst metaDescMatch = html.match(/<meta[^>]*name=[\"']description[\"'][^>]*content=[\"']([^\"']+)[\"']/i);\nconst metaDescription = metaDescMatch ? metaDescMatch[1] : 'No meta description';\n\n// Extract headings\nconst h1Matches = html.match(/<h1[^>]*>([^<]+)<\\/h1>/gi) || [];\nconst h1s = h1Matches.map(h => h.replace(/<[^>]*>/g, '').trim()).slice(0, 5);\n\nconst h2Matches = html.match(/<h2[^>]*>([^<]+)<\\/h2>/gi) || [];\nconst h2s = h2Matches.map(h => h.replace(/<[^>]*>/g, '').trim()).slice(0, 10);\n\n// Extract CTAs (buttons and links with common CTA text)\nconst ctaPattern = /(get started|buy now|sign up|subscribe|download|learn more|contact|book|try|start|join)/gi;\nconst buttonMatches = html.match(/<button[^>]*>([^<]+)<\\/button>/gi) || [];\nconst linkMatches = html.match(/<a[^>]*>([^<]+)<\\/a>/gi) || [];\nconst allCTAs = [...buttonMatches, ...linkMatches]\n  .map(cta => cta.replace(/<[^>]*>/g, '').trim())\n  .filter(text => ctaPattern.test(text))\n  .slice(0, 10);\n\n// Count forms\nconst formCount = (html.match(/<form/gi) || []).length;\n\n// Check for common frameworks/tools\nconst hasReact = html.includes('react');\nconst hasBootstrap = html.includes('bootstrap');\nconst hasTailwind = html.includes('tailwind');\nconst hasGA = html.includes('google-analytics') || html.includes('gtag');\nconst hasFBPixel = html.includes('facebook');\n\n// Extract word count (rough estimate)\nconst textContent = html.replace(/<script[^>]*>.*?<\\/script>/gi, '')\n  .replace(/<style[^>]*>.*?<\\/style>/gi, '')\n  .replace(/<[^>]*>/g, ' ')\n  .replace(/\\s+/g, ' ')\n  .trim();\nconst wordCount = textContent.split(/\\s+/).length;\n\n// Check mobile viewport\nconst hasMobileViewport = html.includes('viewport');\n\n// Extract images\nconst imgMatches = html.match(/<img[^>]*>/gi) || [];\nconst imageCount = imgMatches.length;\nconst hasAltTags = imgMatches.filter(img => /alt=[\"'][^\"']+[\"']/i.test(img)).length;\n\nreturn {\n  url: url,\n  page_title: pageTitle,\n  meta_description: metaDescription,\n  h1_headings: h1s,\n  h2_headings: h2s,\n  cta_buttons: allCTAs,\n  form_count: formCount,\n  word_count: wordCount,\n  image_count: imageCount,\n  images_with_alt: hasAltTags,\n  has_mobile_viewport: hasMobileViewport,\n  detected_tech: {\n    react: hasReact,\n    bootstrap: hasBootstrap,\n    tailwind: hasTailwind,\n    google_analytics: hasGA,\n    facebook_pixel: hasFBPixel\n  },\n  html_preview: html.substring(0, 3000),\n  analysis_ready: true\n};"
      },
      "typeVersion": 2
    },
    {
      "id": "df38cf0a-46aa-4809-8dc4-51ab15850274",
      "name": "设计评论模型",
      "type": "@n8n/n8n-nodes-langchain.lmChatAnthropic",
      "position": [
        256,
        768
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "claude-sonnet-4-5-20250929",
          "cachedResultName": "Claude Sonnet 4.5"
        },
        "options": {
          "topP": 0.9,
          "temperature": 0.4
        }
      },
      "credentials": {
        "anthropicApi": {
          "id": "rFsH3A7ko19Tb8xL",
          "name": "Anthropic account"
        }
      },
      "typeVersion": 1.3
    },
    {
      "id": "f7ea425f-fe5e-48d8-be60-3fee1d52e5fe",
      "name": "文案撰写模型",
      "type": "@n8n/n8n-nodes-langchain.lmChatAnthropic",
      "position": [
        704,
        768
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "claude-sonnet-4-5-20250929",
          "cachedResultName": "Claude Sonnet 4.5"
        },
        "options": {
          "topP": 0.9,
          "temperature": 0.5
        }
      },
      "credentials": {
        "anthropicApi": {
          "id": "rFsH3A7ko19Tb8xL",
          "name": "Anthropic account"
        }
      },
      "typeVersion": 1.3
    },
    {
      "id": "ddb9e4b0-27b6-4521-bf94-a7cf93a049be",
      "name": "SEO 专家模型",
      "type": "@n8n/n8n-nodes-langchain.lmChatAnthropic",
      "position": [
        1088,
        800
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "claude-sonnet-4-5-20250929",
          "cachedResultName": "Claude Sonnet 4.5"
        },
        "options": {
          "topP": 0.85,
          "temperature": 0.3
        }
      },
      "credentials": {
        "anthropicApi": {
          "id": "rFsH3A7ko19Tb8xL",
          "name": "Anthropic account"
        }
      },
      "typeVersion": 1.3
    },
    {
      "id": "620861fa-3cfc-467f-a4f4-eaf6dd4e6ff6",
      "name": "增长策略模型",
      "type": "@n8n/n8n-nodes-langchain.lmChatAnthropic",
      "position": [
        1488,
        768
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "claude-sonnet-4-5-20250929",
          "cachedResultName": "Claude Sonnet 4.5"
        },
        "options": {
          "topP": 0.95,
          "temperature": 0.6
        }
      },
      "credentials": {
        "anthropicApi": {
          "id": "rFsH3A7ko19Tb8xL",
          "name": "Anthropic account"
        }
      },
      "typeVersion": 1.3
    },
    {
      "id": "cfd48ca9-5cea-40d4-9fca-7a846659d8dd",
      "name": "代理 1:设计评论",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        288,
        528
      ],
      "parameters": {
        "text": "=Landing Page Data:\n- URL: {{ $('Extract Page Elements').item.json.url }}\n- Industry: {{ $('Initialize Variables').item.json.industry }}\n- Goal: {{ $('Initialize Variables').item.json.primary_goal }}\n- Title: {{ $('Extract Page Elements').item.json.page_title }}\n- H1 Headings: {{ JSON.stringify($('Extract Page Elements').item.json.h1_headings) }}\n- CTA Buttons: {{ JSON.stringify($('Extract Page Elements').item.json.cta_buttons) }}\n- Form Count: {{ $('Extract Page Elements').item.json.form_count }}\n- Image Count: {{ $('Extract Page Elements').item.json.image_count }}\n- Images with Alt Tags: {{ $('Extract Page Elements').item.json.images_with_alt }}\n- Mobile Viewport: {{ $('Extract Page Elements').item.json.has_mobile_viewport }}\n- Detected Tech: {{ JSON.stringify($('Extract Page Elements').item.json.detected_tech) }}\n\nAnalyze this landing page from a DESIGN and USER EXPERIENCE perspective.\n\nProvide detailed feedback on:\n1. Visual hierarchy and layout\n2. CTA design and placement\n3. Use of whitespace\n4. Color scheme effectiveness\n5. Mobile responsiveness indicators\n6. Trust signals (testimonials, badges, etc.)\n7. Above-the-fold content\n8. Overall design cohesion\n\nScore each area 0-10 and provide specific improvement recommendations.",
        "options": {
          "systemMessage": "You are a senior UX/UI designer and conversion optimization expert with 15+ years experience analyzing landing pages.\n\nYou evaluate pages based on:\n- Visual hierarchy (F-pattern, Z-pattern)\n- CTA prominence and clarity\n- Color psychology for the industry\n- Trust indicators and social proof placement\n- Mobile-first design principles\n- Whitespace and breathing room\n- Professional polish vs. amateur mistakes\n\nOutput your analysis in this structure:\n\n📊 DESIGN SCORES (0-10 each):\n- Visual Hierarchy: X/10\n- CTA Design: X/10  \n- Mobile Responsiveness: X/10\n- Trust Signals: X/10\n- Professional Polish: X/10\n\n🎨 KEY FINDINGS:\n[3-5 bullet points of main design issues or strengths]\n\n🔥 CRITICAL DESIGN FLAWS:\n[List any deal-breaker design problems]\n\n✨ QUICK WINS:\n[3-5 easy design improvements that would have immediate impact]\n\n💡 ADVANCED RECOMMENDATIONS:\n[Bigger picture design strategy suggestions]\n\nBe specific, honest, and constructive. Reference actual elements from the page data provided."
        },
        "promptType": "define"
      },
      "typeVersion": 2.2
    },
    {
      "id": "6652677e-f99b-4413-aa77-0c873585680e",
      "name": "代理 2:文案撰写",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        688,
        528
      ],
      "parameters": {
        "text": "=Landing Page Data:\n- URL: {{ $('Extract Page Elements').item.json.url }}\n- Industry: {{ $('Initialize Variables').item.json.industry }}\n- Goal: {{ $('Initialize Variables').item.json.primary_goal }}\n- Title: {{ $('Extract Page Elements').item.json.page_title }}\n- Meta Description: {{ $('Extract Page Elements').item.json.meta_description }}\n- H1 Headings: {{ JSON.stringify($('Extract Page Elements').item.json.h1_headings) }}\n- H2 Headings: {{ JSON.stringify($('Extract Page Elements').item.json.h2_headings) }}\n- CTA Buttons: {{ JSON.stringify($('Extract Page Elements').item.json.cta_buttons) }}\n- Word Count: {{ $('Extract Page Elements').item.json.word_count }}\n\nAnalyze this landing page from a COPYWRITING and MESSAGING perspective.\n\nProvide detailed feedback on:\n1. Headline effectiveness (does it hook attention?)\n2. Value proposition clarity\n3. Benefit vs. feature focus\n4. Emotional triggers and persuasion\n5. CTA copy (is it compelling?)\n6. Overall message clarity\n7. Voice and tone for the industry\n8. Scannability and readability\n\nScore each area 0-10 and provide specific copy improvements.",
        "options": {
          "systemMessage": "You are a world-class copywriter and conversion expert specializing in landing pages.\n\nYou evaluate copy based on:\n- Headline formulas (curiosity, benefit, urgency)\n- Value proposition clarity (can a 5-year-old understand it?)\n- Benefits-focused language vs. feature-dumping\n- Emotional triggers (fear, desire, curiosity, belonging)\n- CTA psychology (action-oriented, value-driven)\n- Readability (Flesch score, sentence length)\n- Voice & tone match to audience\n- Objection handling\n\nOutput your analysis in this structure:\n\n📊 COPY SCORES (0-10 each):\n- Headline Impact: X/10\n- Value Proposition Clarity: X/10\n- Benefit Focus: X/10\n- CTA Effectiveness: X/10\n- Overall Persuasiveness: X/10\n\n✍️ KEY FINDINGS:\n[3-5 bullet points of main copy issues or strengths]\n\n🚨 CRITICAL COPY PROBLEMS:\n[List any messaging deal-breakers]\n\n⚡ QUICK COPY FIXES:\n[3-5 easy rewrites that would boost conversions]\n\n🎯 REWRITE SUGGESTIONS:\n[Provide specific headline and CTA alternatives]\n\n💬 MESSAGING STRATEGY:\n[Overall approach to improve persuasion]\n\nBe specific and provide actual rewrite examples. Reference the goal and industry context."
        },
        "promptType": "define"
      },
      "typeVersion": 2.2
    },
    {
      "id": "98167b63-508a-4728-a05b-32904dc80519",
      "name": "代理 3:SEO 和技术",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        1088,
        528
      ],
      "parameters": {
        "text": "=Landing Page Data:\n- URL: {{ $('Extract Page Elements').item.json.url }}\n- Title: {{ $('Extract Page Elements').item.json.page_title }}\n- Meta Description: {{ $('Extract Page Elements').item.json.meta_description }}\n- H1 Count: {{ $('Extract Page Elements').item.json.h1_headings.length }}\n- Word Count: {{ $('Extract Page Elements').item.json.word_count }}\n- Image Count: {{ $('Extract Page Elements').item.json.image_count }}\n- Images with Alt: {{ $('Extract Page Elements').item.json.images_with_alt }}\n- Mobile Viewport: {{ $('Extract Page Elements').item.json.has_mobile_viewport }}\n- Has Analytics: {{ $('Extract Page Elements').item.json.detected_tech.google_analytics }}\n\nAnalyze this landing page from an SEO and TECHNICAL perspective.\n\nProvide detailed feedback on:\n1. Title tag optimization\n2. Meta description quality\n3. Heading structure (H1, H2 hierarchy)\n4. Image optimization (alt tags)\n5. Mobile-friendliness\n6. Page speed indicators\n7. Analytics tracking\n8. Technical SEO basics\n\nScore each area 0-10 and provide specific technical improvements.",
        "options": {
          "systemMessage": "You are a technical SEO expert and web performance specialist.\n\nYou evaluate pages based on:\n- On-page SEO fundamentals\n- Title tag best practices (50-60 chars, keyword placement)\n- Meta description optimization (150-160 chars)\n- Proper heading hierarchy\n- Image optimization (alt tags, lazy loading)\n- Mobile-first indexing requirements\n- Core Web Vitals\n- Analytics and tracking setup\n- Accessibility standards\n\nOutput your analysis in this structure:\n\n📊 SEO & TECHNICAL SCORES (0-10 each):\n- Title Tag Optimization: X/10\n- Meta Description: X/10\n- Heading Structure: X/10\n- Image Optimization: X/10\n- Mobile Readiness: X/10\n- Technical Health: X/10\n\n🔍 KEY FINDINGS:\n[3-5 bullet points of main SEO/technical issues]\n\n⚠️ CRITICAL SEO ISSUES:\n[List any red flags that hurt rankings]\n\n⚡ QUICK TECHNICAL WINS:\n[3-5 easy fixes for immediate SEO improvement]\n\n🛠️ TECHNICAL RECOMMENDATIONS:\n[Deeper technical improvements]\n\n📈 SEO STRATEGY:\n[Overall approach to improve search visibility]\n\nBe specific and actionable. Provide exact character counts for meta elements."
        },
        "promptType": "define"
      },
      "typeVersion": 2.2
    },
    {
      "id": "ea6867b0-33ea-4e3f-990c-7b7e41bf7f1b",
      "name": "代理 4:增长策略",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        1488,
        528
      ],
      "parameters": {
        "text": "=Original Request:\n- Industry: {{ $('Initialize Variables').item.json.industry }}\n- Goal: {{ $('Initialize Variables').item.json.primary_goal }}\n- Current Conversion: {{ $('Initialize Variables').item.json.current_conversion }}\n- Biggest Frustration: {{ $('Initialize Variables').item.json.biggest_frustration }}\n\nDesign Analysis:\n{{ $('Agent 1: Design Critic').item.json.output }}\n\nCopy Analysis:\n{{ $('Agent 2: Copywriter').item.json.output }}\n\nSEO Analysis:\n{{ $('Agent 3: SEO & Technical').item.json.output }}\n\nAs the growth strategist, synthesize all analyses and provide:\n1. Overall landing page grade (A+ to F) with explanation\n2. Top 5 priorities ranked by impact\n3. Estimated conversion lift potential\n4. Strategic recommendations\n5. Comprehensive score card across all dimensions\n\nBe brutally honest but constructive.",
        "options": {
          "systemMessage": "You are a growth strategist and conversion rate optimization (CRO) expert who synthesizes design, copy, and technical insights into actionable business strategy.\n\nYour job is to:\n- Assign an overall grade (A+ to F) based on all agent feedback\n- Prioritize improvements by ROI (impact vs. effort)\n- Estimate realistic conversion lift potential\n- Provide strategic, business-focused recommendations\n- Create a balanced scorecard\n\nOutput your analysis in this EXACT structure:\n\n🎯 OVERALL LANDING PAGE GRADE\n━━━━━━━━━━━━━━━━━━━━━━━━━━━\nGrade: [A+, A, A-, B+, B, B-, C+, C, C-, D, F]\nScore: X/100\n\n[2-3 sentence explanation of the grade]\n\n📊 COMPREHENSIVE SCORECARD\n━━━━━━━━━━━━━━━━━━━━━━━━━━━\n\nDesign & UX: X/10\n[Brief justification]\n\nCopywriting & Messaging: X/10\n[Brief justification]\n\nSEO & Technical: X/10\n[Brief justification]\n\nConversion Potential: X/10\n[Brief justification]\n\nMobile Experience: X/10\n[Brief justification]\n\nTrust & Credibility: X/10\n[Brief justification]\n\n━━━━━━━━━━━━━━━━━━━━━━━━━━━\n\n🔥 TOP 5 PRIORITIES (Ranked by Impact)\n━━━━━━━━━━━━━━━━━━━━━━━━━━━\n\n1. [Priority 1]\n   Impact: [High/Medium/Low] | Effort: [Easy/Medium/Hard]\n   Expected Lift: X-Y%\n   [Why this matters]\n\n2. [Priority 2]\n   Impact: [High/Medium/Low] | Effort: [Easy/Medium/Hard]\n   Expected Lift: X-Y%\n   [Why this matters]\n\n[... continue for all 5]\n\n📈 CONVERSION LIFT POTENTIAL\n━━━━━━━━━━━━━━━━━━━━━━━━━━━\n\nConservative Estimate: +X%\nRealistic Target: +Y%\nOptimistic Scenario: +Z%\n\n[2-3 sentences explaining the basis for these estimates]\n\n💪 KEY STRENGTHS\n━━━━━━━━━━━━━━━━━━━━━━━━━━━\n• [Strength 1]\n• [Strength 2]\n• [Strength 3]\n\n⚠️ CRITICAL WEAKNESSES\n━━━━━━━━━━━━━━━━━━━━━━━━━━━\n• [Weakness 1]\n• [Weakness 2]\n• [Weakness 3]\n\n🚀 STRATEGIC RECOMMENDATIONS\n━━━━━━━━━━━━━━━━━━━━━━━━━━━\n\n[3-5 paragraphs of strategic, high-level recommendations that tie everything together]\n\n💡 NEXT STEPS\n━━━━━━━━━━━━━━━━━━━━━━━━━━━\n1. [Immediate action item]\n2. [Short-term improvement]\n3. [Long-term strategy]\n\nBe honest but motivating. Focus on business outcomes, not just metrics."
        },
        "promptType": "define"
      },
      "typeVersion": 2.2
    },
    {
      "id": "06598f25-cf72-4735-901a-2b127ab72eff",
      "name": "格式化电子邮件报告",
      "type": "n8n-nodes-base.code",
      "position": [
        1808,
        528
      ],
      "parameters": {
        "jsCode": "// Format the comprehensive email report\nconst designAnalysis = $('Agent 1: Design Critic').item.json.output;\nconst copyAnalysis = $('Agent 2: Copywriter').item.json.output;\nconst seoAnalysis = $('Agent 3: SEO & Technical').item.json.output;\nconst strategyAnalysis = $('Agent 4: Growth Strategist').item.json.output;\n\nconst userData = $('Initialize Variables').item.json;\nconst pageData = $('Extract Page Elements').item.json;\n\n// Extract grade and score from strategy analysis\nconst gradeMatch = strategyAnalysis.match(/Grade:\\s*([A-F][+-]?)/i);\nconst grade = gradeMatch ? gradeMatch[1] : 'N/A';\n\nconst scoreMatch = strategyAnalysis.match(/Score:\\s*(\\d+)\\/100/i);\nconst score = scoreMatch ? scoreMatch[1] : '0';\n\n// Determine grade color\nconst getGradeColor = (grade) => {\n  if (grade.startsWith('A')) return '#28a745';\n  if (grade.startsWith('B')) return '#17a2b8';\n  if (grade.startsWith('C')) return '#ffc107';\n  if (grade.startsWith('D')) return '#fd7e14';\n  return '#dc3545';\n};\n\nconst gradeColor = getGradeColor(grade);\n\n// Format sections for email\nconst formatSection = (content, title, icon, color) => {\n  return `\n    <div style=\"margin: 30px 0; padding: 20px; background: #f8f9fa; border-left: 4px solid ${color}; border-radius: 4px;\">\n      <h2 style=\"margin: 0 0 15px 0; color: ${color}; font-size: 20px;\">${icon} ${title}</h2>\n      <div style=\"white-space: pre-line; line-height: 1.8; color: #333;\">${content}</div>\n    </div>\n  `;\n};\n\nconst emailHtml = `\n<!DOCTYPE html>\n<html>\n<head>\n<meta charset=\"UTF-8\">\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n<style>\n  body { \n    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;\n    line-height: 1.6; \n    color: #333; \n    background: #f5f5f5; \n    margin: 0;\n    padding: 0;\n  }\n  .container { \n    max-width: 800px; \n    margin: 0 auto; \n    background: white;\n  }\n  .header { \n    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);\n    color: white; \n    padding: 40px 30px; \n    text-align: center;\n  }\n  .header h1 { \n    margin: 0; \n    font-size: 32px; \n    font-weight: 700;\n  }\n  .header p { \n    margin: 10px 0 0 0; \n    opacity: 0.95;\n    font-size: 16px;\n  }\n  .grade-banner {\n    background: white;\n    text-align: center;\n    padding: 40px 20px;\n    border-bottom: 2px solid #e9ecef;\n  }\n  .grade-circle {\n    width: 180px;\n    height: 180px;\n    border-radius: 50%;\n    border: 8px solid ${gradeColor};\n    display: inline-flex;\n    flex-direction: column;\n    align-items: center;\n    justify-content: center;\n    margin-bottom: 20px;\n  }\n  .grade-letter {\n    font-size: 72px;\n    font-weight: 700;\n    color: ${gradeColor};\n    line-height: 1;\n  }\n  .grade-score {\n    font-size: 20px;\n    color: #6c757d;\n    margin-top: 5px;\n  }\n  .content { \n    padding: 30px;\n  }\n  .cta-box {\n    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);\n    color: white;\n    padding: 40px;\n    text-align: center;\n    margin: 40px 0;\n    border-radius: 8px;\n  }\n  .cta-box h2 {\n    margin: 0 0 15px 0;\n    font-size: 28px;\n  }\n  .cta-box p {\n    margin: 0 0 25px 0;\n    font-size: 18px;\n    opacity: 0.95;\n  }\n  .cta-button {\n    display: inline-block;\n    background: white;\n    color: #667eea;\n    padding: 15px 40px;\n    text-decoration: none;\n    border-radius: 6px;\n    font-weight: 700;\n    font-size: 18px;\n    transition: transform 0.2s;\n  }\n  .cta-button:hover {\n    transform: translateY(-2px);\n  }\n  .footer { \n    background: #2c3e50;\n    color: white;\n    padding: 30px;\n    text-align: center;\n  }\n  .footer p {\n    margin: 10px 0;\n    opacity: 0.9;\n  }\n  .footer a {\n    color: #3498db;\n    text-decoration: none;\n  }\n  @media only screen and (max-width: 600px) {\n    .header h1 { font-size: 24px; }\n    .grade-circle { width: 150px; height: 150px; }\n    .grade-letter { font-size: 60px; }\n    .content { padding: 20px; }\n  }\n</style>\n</head>\n<body>\n<div class=\"container\">\n  <!-- Header -->\n  <div class=\"header\">\n    <h1>🎯 Your Landing Page Audit</h1>\n    <p>Professional analysis from 4 AI specialists</p>\n    <p style=\"font-size: 14px; margin-top: 15px; opacity: 0.8;\">${new Date().toLocaleDateString('en-US', { weekday: 'long', year: 'numeric', month: 'long', day: 'numeric' })}</p>\n  </div>\n  \n  <!-- Grade Banner -->\n  <div class=\"grade-banner\">\n    <div class=\"grade-circle\">\n      <div class=\"grade-letter\">${grade}</div>\n      <div class=\"grade-score\">${score}/100</div>\n    </div>\n    <h2 style=\"margin: 0; color: #2c3e50;\">Landing Page: ${pageData.page_title}</h2>\n    <p style=\"color: #6c757d; margin: 10px 0 0 0;\">${userData.landing_page_url}</p>\n    <p style=\"color: #6c757d; margin: 5px 0 0 0;\">Industry: ${userData.industry} | Goal: ${userData.primary_goal}</p>\n  </div>\n  \n  <!-- Content -->\n  <div class=\"content\">\n    <!-- Strategic Overview -->\n    ${formatSection(strategyAnalysis, 'Strategic Overview & Score Card', '🚀', '#667eea')}\n    \n    <!-- Design Analysis -->\n    ${formatSection(designAnalysis, 'Design & User Experience Analysis', '🎨', '#e74c3c')}\n    \n    <!-- Copy Analysis -->\n    ${formatSection(copyAnalysis, 'Copywriting & Messaging Analysis', '✍️', '#3498db')}\n    \n    <!-- SEO Analysis -->\n    ${formatSection(seoAnalysis, 'SEO & Technical Analysis', '🔍', '#2ecc71')}\n    \n    <!-- CTA Box -->\n    <div class=\"cta-box\">\n      <h2>Want Us To Fix It For You?</h2>\n      <p>Our team of experts can implement all these recommendations and boost your conversions.</p>\n      <a href=\"https://evervise.com/landing-page-optimization\" class=\"cta-button\">Get a Custom Quote →</a>\n      <p style=\"font-size: 14px; margin-top: 20px;\">Or book a free 30-minute strategy call</p>\n    </div>\n    \n    <!-- What's Next -->\n    <div style=\"background: #fff3cd; padding: 25px; border-left: 4px solid #ffc107; border-radius: 4px; margin: 30px 0;\">\n      <h3 style=\"margin: 0 0 15px 0; color: #856404;\">📋 What To Do With This Report</h3>\n      <ol style=\"margin: 0; padding-left: 20px; color: #856404;\">\n        <li style=\"margin: 10px 0;\"><strong>Start with Quick Wins:</strong> Implement the easy improvements first for immediate results</li>\n        <li style=\"margin: 10px 0;\"><strong>Prioritize by Impact:</strong> Focus on the TOP 5 PRIORITIES listed in the strategic overview</li>\n        <li style=\"margin: 10px 0;\"><strong>Track Results:</strong> Measure conversion rate before and after each change</li>\n        <li style=\"margin: 10px 0;\"><strong>Need Help?</strong> Our team can handle all implementation and testing for you</li>\n      </ol>\n    </div>\n    \n    <!-- Page Stats -->\n    <div style=\"background: #f8f9fa; padding: 20px; border-radius: 8px; margin: 30px 0;\">\n      <h3 style=\"margin: 0 0 15px 0; color: #495057;\">📊 Page Statistics</h3>\n      <div style=\"display: grid; grid-template-columns: repeat(2, 1fr); gap: 15px;\">\n        <div>\n          <strong>Total Words:</strong> ${pageData.word_count.toLocaleString()}<br>\n          <strong>CTAs Found:</strong> ${pageData.cta_buttons.length}<br>\n          <strong>Forms:</strong> ${pageData.form_count}\n        </div>\n        <div>\n          <strong>Images:</strong> ${pageData.image_count}<br>\n          <strong>With Alt Tags:</strong> ${pageData.images_with_alt}<br>\n          <strong>Mobile Viewport:</strong> ${pageData.has_mobile_viewport ? 'Yes ✅' : 'No ❌'}\n        </div>\n      </div>\n    </div>\n  </div>\n  \n  <!-- Footer -->\n  <div class=\"footer\">\n    <h3 style=\"margin: 0 0 15px 0; color: white;\">Evervise - Digital Marketing & Automation Experts</h3>\n    <p>This audit was automatically generated by our AI-powered landing page analyzer.</p>\n    <p>We specialize in landing page optimization, automation, and digital transformation.</p>\n    <p style=\"margin-top: 25px;\">\n      <a href=\"https://evervise.com\">Visit Our Website</a> | \n      <a href=\"https://evervise.com/contact\">Contact Us</a> | \n      <a href=\"https://evervise.com/services\">Our Services</a>\n    </p>\n    <p style=\"font-size: 12px; margin-top: 25px; opacity: 0.7;\">\n      © ${new Date().getFullYear()} Evervise. All rights reserved.\n    </p>\n  </div>\n</div>\n</body>\n</html>\n`;\n\nreturn {\n  email_html: emailHtml,\n  email_subject: `🎯 Your Landing Page Grade: ${grade} (${score}/100) - ${pageData.page_title}`,\n  user_email: userData.user_email,\n  grade: grade,\n  score: score,\n  url: userData.landing_page_url,\n  timestamp: userData.analysis_timestamp\n};"
      },
      "typeVersion": 2
    },
    {
      "id": "31e31d74-9817-4ef2-86a3-5fb6e6a3c06b",
      "name": "发送邮件报告",
      "type": "n8n-nodes-base.gmail",
      "position": [
        2048,
        528
      ],
      "webhookId": "f9ff0b16-ca94-48ba-9ad7-a34cdfaa221b",
      "parameters": {
        "sendTo": "={{ $json.user_email }}",
        "message": "={{ $json.email_html }}",
        "options": {},
        "subject": "={{ $json.email_subject }}"
      },
      "credentials": {
        "gmailOAuth2": {
          "id": "bq6dHs6Lgfuy6wjr",
          "name": "Sofia Wagner"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "db412da7-45fa-44ba-b364-c7f728a44ffa",
      "name": "工作流概览",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1296,
        320
      ],
      "parameters": {
        "color": 6,
        "width": 380,
        "height": 448,
        "content": "## 📋 工作流概述"
      },
      "typeVersion": 1
    },
    {
      "id": "b718f132-5650-4c65-a8dd-d8674e7c1972",
      "name": "表单部分",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -832,
        128
      ],
      "parameters": {
        "color": 7,
        "width": 380,
        "height": 348,
        "content": "## 📝 表单收集"
      },
      "typeVersion": 1
    },
    {
      "id": "b1eb9a2c-e5db-44e0-9a23-e266b83eb083",
      "name": "爬取部分",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -320,
        -16
      ],
      "parameters": {
        "color": 7,
        "width": 380,
        "height": 412,
        "content": "## 🌐 网页爬取"
      },
      "typeVersion": 1
    },
    {
      "id": "fb53207e-ce36-46a3-92bb-102041ad396e",
      "name": "代理 1 信息",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        208,
        0
      ],
      "parameters": {
        "color": 7,
        "width": 336,
        "height": 452,
        "content": "## 🤖 代理 1:设计评论"
      },
      "typeVersion": 1
    },
    {
      "id": "6fd26a4d-3303-48dc-b458-b8bdf7bf8caf",
      "name": "代理 2 信息",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        624,
        0
      ],
      "parameters": {
        "color": 7,
        "width": 320,
        "height": 452,
        "content": "## 🤖 代理 2:文案撰写"
      },
      "typeVersion": 1
    },
    {
      "id": "2b7122a0-1ff0-4e87-b95d-bf7488651475",
      "name": "代理 3 信息",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1040,
        -32
      ],
      "parameters": {
        "color": 7,
        "width": 320,
        "height": 500,
        "content": "## 🤖 代理 3:SEO 专家"
      },
      "typeVersion": 1
    },
    {
      "id": "61323126-f5c4-44a1-878f-ff9bcd96adde",
      "name": "代理 4 信息",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1424,
        -32
      ],
      "parameters": {
        "color": 7,
        "width": 360,
        "height": 500,
        "content": "## 🤖 代理 4:增长策略"
      },
      "typeVersion": 1
    },
    {
      "id": "9be846cb-17df-456e-b824-fbcb0f0d5b99",
      "name": "电子邮件部分",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2256,
        352
      ],
      "parameters": {
        "color": 7,
        "width": 340,
        "height": 468,
        "content": "## 📧 电子邮件交付"
      },
      "typeVersion": 1
    },
    {
      "id": "e618ef54-48a8-4ec8-9ea1-5f13da5c13a6",
      "name": "爬取单个 URL",
      "type": "@apify/n8n-nodes-apify.apify",
      "position": [
        -304,
        624
      ],
      "parameters": {
        "url": "={{ $('Initialize Variables').item.json.landing_page_url }}",
        "operation": "Scrape single URL"
      },
      "credentials": {
        "apifyApi": {
          "id": "gH6V2jP74FDZnpKe",
          "name": "Apify account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "349d5b3b-b8c6-4802-8d83-8144ab4b4128",
      "name": "Crawl4AI",
      "type": "n8n-nodes-base.httpRequest",
      "onError": "continueRegularOutput",
      "position": [
        -304,
        848
      ],
      "parameters": {
        "url": "Crawl4AIInstanceLink/crawl",
        "method": "POST",
        "options": {},
        "jsonBody": "={\n  \"urls\": [\"{{ $('Initialize Variables').item.json.landing_page_url }}\"],\n  \"browser_config\": {\n    \"params\": { \"headless\": true }\n  },\n  \"priority\": 10,\n  \"crawler_config\": {\n    \"type\": \"CrawlerRunConfig\",\n    \"params\": { \"cache_mode\": \"bypass\" },\n    \"max_pages\":10,\n    \"max_depth\":2\n  }\n}",
        "sendBody": true,
        "specifyBody": "json",
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth"
      },
      "credentials": {
        "httpHeaderAuth": {
          "id": "tR2mchCCFunmDNxj",
          "name": "EthScan"
        }
      },
      "typeVersion": 4.2
    }
  ],
  "connections": {
    "Crawl4AI": {
      "main": [
        [
          {
            "node": "Extract Page Elements",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Fetch Page HTML": {
      "main": [
        [
          {
            "node": "Extract Page Elements",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Form Submission": {
      "main": [
        [
          {
            "node": "Initialize Variables",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Copywriter Model": {
      "ai_languageModel": [
        [
          {
            "node": "Agent 2: Copywriter",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Scrape single URL": {
      "main": [
        [
          {
            "node": "Extract Page Elements",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Agent 2: Copywriter": {
      "main": [
        [
          {
            "node": "Agent 3: SEO & Technical",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Design Critic Model": {
      "ai_languageModel": [
        [
          {
            "node": "Agent 1: Design Critic",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Format Email Report": {
      "main": [
        [
          {
            "node": "Send Email Report",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Initialize Variables": {
      "main": [
        [
          {
            "node": "Fetch Page HTML",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "SEO Specialist Model": {
      "ai_languageModel": [
        [
          {
            "node": "Agent 3: SEO & Technical",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Extract Page Elements": {
      "main": [
        [
          {
            "node": "Agent 1: Design Critic",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Agent 1: Design Critic": {
      "main": [
        [
          {
            "node": "Agent 2: Copywriter",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Growth Strategist Model": {
      "ai_languageModel": [
        [
          {
            "node": "Agent 4: Growth Strategist",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Agent 3: SEO & Technical": {
      "main": [
        [
          {
            "node": "Agent 4: Growth Strategist",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Agent 4: Growth Strategist": {
      "main": [
        [
          {
            "node": "Format Email Report",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
常见问题

如何使用这个工作流?

复制上方的 JSON 配置代码,在您的 n8n 实例中创建新工作流并选择「从 JSON 导入」,粘贴配置后根据需要修改凭证设置即可。

这个工作流适合什么场景?

高级

需要付费吗?

本工作流完全免费,您可以直接导入使用。但请注意,工作流中使用的第三方服务(如 OpenAI API)可能需要您自行付费。

工作流信息
难度等级
高级
节点数量24
分类-
节点类型9
难度说明

适合高级用户,包含 16+ 个节点的复杂工作流

外部链接
在 n8n.io 查看

分享此工作流