关于 landing-page-audit
Landing Page Audit 是用于评估广告落地页的 Agent 技能,结合速度与 Core Web Vitals 分析,以及广告信息相关性和转化效果评估。
主要功能
- 01Core Web Vitals 与速度评估
- 02广告与页面信息匹配检查
- 03CTA 与表单阻力分析
- 04移动端适配及信任信号检查
- 05按优先级整理转化建议
适用场景
- 01调查落地页转化率偏低的问题
- 02评估 Google Ads Quality Score 的页面体验
- 03检查广告文案变更后的信息一致性
- 04发现移动端性能和表单问题
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ itallstartedwithaidea/ agent-skills --skill landing-page-audit安装后在 Claude Code 中输入/landing-page-audit确认已加载。
详细介绍
着陆页审计
属于 Agent Skills™,由 googleadsagent.ai™ 提供
描述
着陆页审计技能会全面评估点击后的体验,将技术性能分析与转化率优化(CRO)评估相结合。着陆页质量会直接影响 Google Ads 质量得分、转化率,并最终影响每一笔广告支出的盈利能力。此技能会审查着陆页效果的三大支柱:速度、相关性和说服力。
技术性能分析以核心网页指标为核心,包括最大内容绘制(LCP)、首次输入延迟(FID)/交互到下一次绘制(INP)和累积布局偏移(CLS)。Google 会将这些指标作为着陆页体验评分的直接信号。此技能会测量不同设备上的实际性能,识别阻塞渲染的资源,分析关键渲染路径,并提供可执行的速度优化建议,同时估算对质量得分的影响。
相关性和 CRO 评估层会评估广告文案与着陆页内容之间的信息匹配度、号召性用语的清晰度和醒目程度、表单设计和阻力点、移动设备适配情况以及信任信号(评论、认证、安全标识),并根据行业最佳实践对转化要素进行基准评估。输出内容包括评分评估,以及按预期转化率影响排序的优先改进建议。
适用场景
- 用户要求进行“着陆页审计”或“页面评审”
- 用户提到质量得分中的“着陆页体验”组成部分
- 用户希望“提高转化率”或进行“CRO 分析”
- 用户询问“页面速度”或“核心网页指标”
- 用户提到特定页面的“转化率低”
- 用户希望“提高质量得分”中的着陆页组成部分评分
- 用户询问“移动着陆页”的性能
- 用户提到广告与着陆页之间的“信息匹配度”
- 用户希望获得“表单优化”或“CTA 优化”建议
架构
flowchart TD
A[Landing Page URL] --> B[Parallel Analysis Pipeline]
B --> C[Technical Performance]
B --> D[Content & Relevance]
B --> E[CRO Assessment]
C --> C1[Core Web Vitals\nLCP, INP, CLS]
C --> C2[Page Speed\nTTFB, FCP, SI]
C --> C3[Resource Analysis\nRender-blocking, Images]
C --> C4[Mobile Performance\nViewport, Touch Targets]
D --> D1[Message Match Scoring\nAd Copy vs Page Content]
D --> D2[Keyword Relevance\nTarget Keywords in Content]
D --> D3[Content Quality\nReadability, Depth]
D --> D4[SEO Alignment\nMeta Tags, Headers]
E --> E1[CTA Analysis\nVisibility, Clarity, Urgency]
E --> E2[Form Audit\nField Count, Friction]
E --> E3[Trust Signals\nReviews, Badges, Social Proof]
E --> E4[Visual Hierarchy\nAbove-Fold Content, Layout]
C1 --> F[Scoring Engine]
C2 --> F
C3 --> F
C4 --> F
D1 --> F
D2 --> F
D3 --> F
D4 --> F
E1 --> F
E2 --> F
E3 --> F
E4 --> F
F --> G[Overall Landing Page Score]
G --> H[Prioritized Recommendations]
G --> I[Estimated QS Impact]
G --> J[Estimated CVR Improvement]
实现
核心网页指标和技术性能分析:
async function auditLandingPage(url, config) {
const { adCopyText, targetKeywords, device = 'both' } = config;
const [technical, content, cro] = await Promise.all([
runTechnicalAudit(url, device),
runContentAudit(url, adCopyText, targetKeywords),
runCROAudit(url, device)
]);
const overallScore = calculateOverallScore(technical, content, cro);
return {
url,
overallScore,
technical,
content,
cro,
recommendations: prioritizeRecommendations(technical, content, cro),
estimatedQSImpact: estimateQualityScoreImpact(overallScore),
estimatedCVRImprovement: estimateCVRImprovement(cro)
};
}
async function runTechnicalAudit(url, device) {
const mobileMetrics = device !== 'desktop' ? await measurePerformance(url, 'mobile') : null;
const desktopMetrics = device !== 'mobile' ? await measurePerformance(url, 'desktop') : null;
const metrics = mobileMetrics || desktopMetrics;
return {
coreWebVitals: {
lcp: { value: metrics.lcp, rating: rateLCP(metrics.lcp) },
inp: { value: metrics.inp, rating: rateINP(metrics.inp) },
cls: { value: metrics.cls, rating: rateCLS(metrics.cls) }
},
additionalMetrics: {
ttfb: metrics.ttfb,
fcp: metrics.fcp,
speedIndex: metrics.speedIndex,
totalBlockingTime: metrics.tbt
},
resourceAnalysis: {
renderBlockingResources: metrics.renderBlocking,
unoptimizedImages: metrics.unoptimizedImages,
unusedCSS: metrics.unusedCSS,
unusedJS: metrics.unusedJS,
totalPageWeight: metrics.totalBytes
},
mobileUsability: {
viewportConfigured: metrics.hasViewport,
textReadable: metrics.fontSizeAdequate,
touchTargetsSized: metrics.touchTargetsAdequate,
contentFitsViewport: metrics.noHorizontalScroll
}
};
}
function rateLCP(ms) {
if (ms <= 2500) return { score: 'good', color: 'green' };
if (ms <= 4000) return { score: 'needs_improvement', color: 'orange' };
return { score: 'poor', color: 'red' };
}
function rateINP(ms) {
if (ms <= 200) return { score: 'good', color: 'green' };
if (ms <= 500) return { score: 'needs_improvement', color: 'orange' };
return { score: 'poor', color: 'red' };
}
function rateCLS(value) {
if (value <= 0.1) return { score: 'good', color: 'green' };
if (value <= 0.25) return { score: 'needs_improvement', color: 'orange' };
return { score: 'poor', color: 'red' };
}
信息匹配度和 CRO 评估:
function scoreMessageMatch(adCopy, pageContent) {
const adHeadlines = adCopy.headlines.map(h => h.toLowerCase());
const adDescriptions = adCopy.descriptions.map(d => d.toLowerCase());
const pageText = pageContent.toLowerCase();
let matchScore = 0;
const headlineMatches = adHeadlines.filter(h =>
pageText.includes(h) || fuzzyMatch(h, pageText) > 0.8
);
matchScore += (headlineMatches.length / adHeadlines.length) * 40;
const keyPhrases = extractKeyPhrases([...adHeadlines, ...adDescriptions]);
const phraseMatches = keyPhrases.filter(p => pageText.includes(p));
matchScore += (phraseMatches.length / keyPhrases.length) * 30;
const aboveFoldContent = pageContent.aboveFold?.toLowerCase() || '';
const aboveFoldRelevance = keyPhrases.filter(p => aboveFoldContent.includes(p));
matchScore += (aboveFoldRelevance.length / keyPhrases.length) * 30;
return {
score: Math.round(matchScore),
headlinePresence: headlineMatches,
missingPhrases: keyPhrases.filter(p => !pageText.includes(p)),
aboveFoldRelevance: aboveFoldRelevance.length / keyPhrases.length
};
}
function auditCTA(pageData) {
return {
ctaPresent: pageData.ctaElements.length > 0,
ctaAboveFold: pageData.ctaElements.some(cta => cta.yPosition < pageData.viewportHeight),
ctaContrast: pageData.ctaElements.map(cta => ({
text: cta.text,
contrastRatio: calculateContrast(cta.color, cta.backgroundColor),
meetsWCAG: calculateContrast(cta.color, cta.backgroundColor) >= 4.5
})),
ctaClarity: evaluateCTAText(pageData.ctaElements),
ctaCount: pageData.ctaElements.length,
recommendation: pageData.ctaElements.length === 0
? 'Add a clear, prominent CTA above the fold'
: pageData.ctaElements.length > 3
? 'Reduce CTA options to avoid choice paralysis'
: 'CTA count is appropriate'
};
}
function auditForm(formData) {
return {
fieldCount: formData.fields.length,
frictionScore: calculateFormFriction(formData),
recommendations: [
formData.fields.length > 5 && 'Reduce form fields to 3-5 for higher completion rates',
!formData.hasProgressIndicator && formData.steps > 1 && 'Add progress indicator for multi-step forms',
!formData.hasInlineValidation && 'Add inline validation to reduce submission errors',
formData.requiredFields > formData.fields.length * 0.8 && 'Mark fewer fields as required to reduce friction'
].filter(Boolean)
};
}
与 Buddy™ Agent 集成
着陆页审计技能在 Buddy™ Agent 中充当点击后质量保障层。当 Google Ads Audit 检测到高支出关键词的着陆页体验评分“低于平均水平”时,Buddy™ 会自动针对相关网址启动着陆页审计,并预先载入相关广告文案和关键词,以便分析信息匹配度。
Buddy™ 会维护着陆页性能数据库,追踪每个接收广告流量的网址的核心网页指标和转化率。它会检测性能退化(速度下降、网站更新后 CLS 增加),并在质量得分受到实际影响前提醒用户。平台还会在广告文案变更时监测信息匹配度,确保着陆页内容与更新后的信息保持一致。
对于管理多个客户的代理机构,Buddy™ 会汇总不同账户的着陆页洞察,找出可大规模解决的系统性问题(常见的 CMS 性能问题、共享模板的弱点)。
最佳实践
- 将移动端 LCP 控制在 2.5 秒以内,这是最具影响力的速度指标
- 确保移动端和桌面端的主要 CTA 都显示在首屏
- 着陆页使用表现最佳的广告标题中的原文
- 将表单字段限制在最低必要数量——每增加一个字段,转化率就会降低 4-7%
- 至少包含三种信任信号:客户评价、安全徽章、行业认证
- 在真实移动设备上测试页面,而不只是查看响应式桌面预览
- 将图片压缩为 WebP 格式,并为首屏以下的内容实现延迟加载
- 每个页面区块使用一个清晰明确的 CTA,避免用户决策困难
- 每季度以及每次重大网站更新后审核着陆页
- 使用足够的流量对着陆页的不同版本进行 A/B 测试(每个版本至少 500 次会话)
平台兼容性
| 平台 | 支持 |
|---|---|
| Claude Code | ✅ |
| Cursor | ✅ |
| Codex | ✅ |
| Gemini | ✅ |
相关技能
- 质量得分优化 - 着陆页体验是质量得分的三个子项之一
- 广告文案生成 - 广告文案与着陆页内容之间的信息匹配度会影响相关性和转化
- 转化跟踪 - 着陆页转化率优化改进会直接影响转化率和跟踪准确性
- 长周期工作流 - 多页面网站审核可从分阶段、设有检查点的工作流执行中获益
关键词
着陆页审核、核心 Web 指标、页面速度、转化率优化、CRO、信息匹配度、CTA 优化、表单优化、移动端着陆页、着陆页体验、质量得分着陆页、LCP、INP、CLS、页面性能
© 2026 googleadsagent.ai™ | Agent Skills™ | MIT License