Conversion Audit
Version: 1.0.0
Updated: 2026-05-24
Category: audit
Status: stable
Requires: Respira for WordPress plugin 7.1+ + MCP server
Description
Audit a WordPress site for conversion-rate friction. Reads the landing pages, the homepage, the pricing page (if any), the contact page, and any pages that are linked from the main navigation. Identifies friction points across six dimensions: above-the-fold clarity, CTA hierarchy, form length, social proof placement, page speed (using existing Respira SpeedScan), and trust signals.
This is a CRO check, not a redesign. The output is a prioritized list of fixes the user can apply — each with a one-line "what to change" + "why" + "expected impact." No rewriting; recommendations only.
What it audits (the six dimensions)
Above-the-fold clarity. Does the hero answer "what is this and why does it matter to me"? Within ~5 seconds, can a first-time visitor articulate the offer back? Common failures: jargon-heavy headline, image-first instead of message-first, no concrete value proposition.
CTA hierarchy. Is there one primary CTA per screen, or are there 4 competing buttons? Are CTAs visually distinguished from the secondary navigation? Is the CTA action clear ("Get a quote" vs "Submit")?
Form length. For forms found on the page: how many required fields? Common failures: asking for phone number when email would do, asking for company size for an MVP landing page, address before there's any commitment, 8+ fields when 3 would convert.
Social proof placement. Where are testimonials / customer logos / case-study links relative to the CTA? Common failure: social proof in the footer where nobody scrolls. Strong pattern: one testimonial above the fold, customer logos below the hero, full case study links by the pricing section.
Page speed. Pulls existing SpeedScan or runs respira_analyze_pagespeed if available. Slow pages don't convert. LCP > 2.5s, CLS > 0.1, FID > 100ms are conversion drags.
Trust signals. Does the page show: company name / logo, contact information, privacy policy link, secure checkout indicators (if commerce), real photos vs stock, named team / founder (vs faceless)?
When to Use
- Quarterly CRO review
- Before launching a paid traffic campaign — don't drive paid clicks to a leaky page
- After a redesign — verify nothing important got dropped
- When conversion drops without an obvious cause
- For a new landing page review before publish
Trigger Phrases
- "audit my conversion rate"
- "cro check"
- "find conversion leaks"
- "review my landing pages"
- "audit for conversion"
- "what's hurting my conversion"
- "conversion audit"
Execution Workflow
Step 1 — Confirm site + scope
Call respira_get_active_site. Ask the user: "Audit a single page, the main flow (home + pricing + contact), or all top-nav pages?" Default to "the main flow" if unclear.
Step 2 — Identify pages to audit
- Single page mode: the user names the page.
- Main flow mode: homepage,
/pricing/ or /plans/ if present, /contact/ or /get-in-touch/ if present, plus any page marked as a landing page (page_template == 'landing').
- Top-nav mode: call
respira_list_menus then respira_list_menu_items for the primary menu; audit each linked page.
For each page, call respira_extract_builder_content(page_id).
Step 3 — Run each audit dimension
For each page, walk the builder content and score each dimension. The scoring rubric:
Above-the-fold clarity (0–3):
- 3: clear value prop in headline, supporting sub-headline, primary CTA, visual that supports the message
- 2: headline + CTA but value prop unclear or visual fights the message
- 1: jargon-heavy or image-first, no concrete benefit
- 0: empty hero or missing CTA entirely
CTA hierarchy (0–3):
- 3: one primary CTA, visually distinct, action verb, repeated below the fold
- 2: primary CTA present but competing with 2+ other equally-prominent buttons
- 1: 3+ competing CTAs or generic verbs ("Submit", "Click here")
- 0: no clear CTA
Form length (0–3, skip if no forms):
- 3: 1–3 required fields, no asks beyond the minimum
- 2: 4–5 required fields with one optional
- 1: 6+ required fields OR asks for phone before commitment
- 0: 8+ fields or asks for sensitive data (DOB, SSN, address) without commitment
Social proof placement (0–3):
- 3: one testimonial / logo bar above the fold, more below the hero, named with photo + company
- 2: testimonials present but only below the fold or unnamed
- 1: footer-only social proof
- 0: none visible
Page speed (0–3, from SpeedScan):
- 3: LCP < 2.5s, CLS < 0.1, page weight < 2MB
- 2: one metric mildly off
- 1: two metrics off
- 0: LCP > 4s or CLS > 0.25 (conversion killer)
Trust signals (0–3):
- 3: named company, contact info visible, privacy link, real photos, named team
- 2: most present, one or two missing
- 1: faceless brand, stock photos, only generic contact
- 0: anonymous, no company info, no contact, no privacy
Page total: 0–18.
Step 4 — Output the report
## Conversion audit for {site_url}
Pages audited: {n_pages}
### Summary
| Page | Score | Top issue |
|---|---|---|
| / | 14 / 18 | CTA hierarchy: 3 competing primary CTAs in hero |
| /pricing/ | 11 / 18 | Form length: pricing form asks for 7 fields |
| /contact/ | 10 / 18 | Above-the-fold: no value prop, only "Get in touch" |
| ... | | |
### Prioritized fixes (highest impact first)
**1. {page_url} · CTA hierarchy**
- Current: 3 competing primary buttons in hero ("Get started", "See pricing", "Book a demo")
- Change to: one primary ("Get started"), demote others to secondary text links
- Why: competing CTAs split attention and drop CTR by ~30% in typical landing page tests
**2. {page_url} · Form length**
- Current: 7 required fields including phone + company size
- Change to: 3 required (name, email, what brings you here) + optional phone
- Why: every required field beyond 3 drops form completion by ~7%
**3. {page_url} · Above-the-fold clarity**
- Current: headline "Solutions for modern teams" — generic, no concrete offer
- Change to: headline that names what the user gets ("X for Y, in Z minutes" pattern)
- Why: visitors decide within ~5 seconds whether the page is for them; vague heroes lose them
(... continue for top 5–8 fixes ...)
### What's working
(Quick callouts of strong patterns the audit found, so the user knows what NOT to change.)
- {page}: above-the-fold clarity is strong — headline + sub + supporting visual all reinforce the offer.
- {page}: social proof placement is exemplary — named testimonial above the fold with photo and company.
### Speed signals (from SpeedScan)
| Page | LCP | CLS | Total weight |
|---|---|---|---|
| / | 2.1s ✓ | 0.08 ✓ | 1.8MB ✓ |
| /pricing/ | 3.4s ✗ | 0.15 ✗ | 3.2MB ✗ |
Step 5 — Offer to act on a chosen fix
Ask: "Want me to apply one of these now? I can duplicate the page (SafeEdit) and make the change for review."
If yes, route to the appropriate edit flow (usually respira_create_page_duplicate + targeted respira_update_element).
Hard rules
- Recommendations, not redesigns. This skill suggests changes; it does not apply them autonomously. Every applied change is a SafeEdit-protected duplicate, reviewed before promotion.
- Score is directional, not gospel. Use the score to prioritize, not as a verdict. A 14/18 page with a critical CTA bug is more urgent than a 10/18 page with diffuse issues.
- Form audits use builder-native parsing. If the form is a Gravity Forms shortcode, parse the GF form definition (not the rendered HTML). If WPForms, ditto. If Contact Form 7, ditto. Raw HTML parsing of form fields produces wrong field counts.
- Speed signals come from SpeedScan if present, not from re-running a fresh audit. Re-running is slow and costly. If the SpeedScan is more than 30 days old, note that and offer to refresh.
- Trust signal checks include checking for the privacy / terms / contact pages existing. Use
respira_list_pages to verify, not just visually scan the page.
Telemetry
Records: site URL hash, n_pages audited, score distribution, top issue categories detected, success/failure, total duration. No page content, no recommendations, no scores per page sent.
Endpoint: POST https://www.respira.press/api/skills/track-usage
1---2name: conversion-audit-23description: Audit a WordPress site for conversion-rate friction across six dimensions: above-the-fold clarity, CTA hierarchy, form length, social proof placement, page speed, and trust signals. Prioritized fixes with expected impact — recommendations, not redesigns.4license: MIT5---6
7# Conversion Audit
8
9**Version:** 1.0.0
10**Updated:** 2026-05-24
11**Category:** audit
12**Status:** stable
13**Requires:** Respira for WordPress plugin 7.1+ + MCP server
14
15---
16
17## Description
18
19Audit a WordPress site for conversion-rate friction. Reads the landing pages, the homepage, the pricing page (if any), the contact page, and any pages that are linked from the main navigation. Identifies friction points across six dimensions: above-the-fold clarity, CTA hierarchy, form length, social proof placement, page speed (using existing Respira SpeedScan), and trust signals.
20
21This is a CRO check, not a redesign. The output is a prioritized list of fixes the user can apply — each with a one-line "what to change" + "why" + "expected impact." No rewriting; recommendations only.
22
23---
24
25## What it audits (the six dimensions)
26
271. **Above-the-fold clarity.** Does the hero answer "what is this and why does it matter to me"? Within ~5 seconds, can a first-time visitor articulate the offer back? Common failures: jargon-heavy headline, image-first instead of message-first, no concrete value proposition.
28
292. **CTA hierarchy.** Is there one primary CTA per screen, or are there 4 competing buttons? Are CTAs visually distinguished from the secondary navigation? Is the CTA action clear ("Get a quote" vs "Submit")?
30
313. **Form length.** For forms found on the page: how many required fields? Common failures: asking for phone number when email would do, asking for company size for an MVP landing page, address before there's any commitment, 8+ fields when 3 would convert.
32
334. **Social proof placement.** Where are testimonials / customer logos / case-study links relative to the CTA? Common failure: social proof in the footer where nobody scrolls. Strong pattern: one testimonial above the fold, customer logos below the hero, full case study links by the pricing section.
34
355. **Page speed.** Pulls existing SpeedScan or runs `respira_analyze_pagespeed` if available. Slow pages don't convert. LCP > 2.5s, CLS > 0.1, FID > 100ms are conversion drags.
36
376. **Trust signals.** Does the page show: company name / logo, contact information, privacy policy link, secure checkout indicators (if commerce), real photos vs stock, named team / founder (vs faceless)?
38
39---
40
41## When to Use
42
43- Quarterly CRO review
44- Before launching a paid traffic campaign — don't drive paid clicks to a leaky page
45- After a redesign — verify nothing important got dropped
46- When conversion drops without an obvious cause
47- For a new landing page review before publish
48
49---
50
51## Trigger Phrases
52
53- "audit my conversion rate"
54- "cro check"
55- "find conversion leaks"
56- "review my landing pages"
57- "audit for conversion"
58- "what's hurting my conversion"
59- "conversion audit"
60
61---
62
63## Execution Workflow
64
65### Step 1 — Confirm site + scope
66
67Call `respira_get_active_site`. Ask the user: *"Audit a single page, the main flow (home + pricing + contact), or all top-nav pages?"* Default to "the main flow" if unclear.
68
69### Step 2 — Identify pages to audit
70
71- **Single page mode:** the user names the page.
72- **Main flow mode:** homepage, `/pricing/` or `/plans/` if present, `/contact/` or `/get-in-touch/` if present, plus any page marked as a landing page (`page_template == 'landing'`).
73- **Top-nav mode:** call `respira_list_menus` then `respira_list_menu_items` for the primary menu; audit each linked page.
74
75For each page, call `respira_extract_builder_content(page_id)`.
76
77### Step 3 — Run each audit dimension
78
79For each page, walk the builder content and score each dimension. The scoring rubric:
80
81**Above-the-fold clarity (0–3):**
82- 3: clear value prop in headline, supporting sub-headline, primary CTA, visual that supports the message
83- 2: headline + CTA but value prop unclear or visual fights the message
84- 1: jargon-heavy or image-first, no concrete benefit
85- 0: empty hero or missing CTA entirely
86
87**CTA hierarchy (0–3):**
88- 3: one primary CTA, visually distinct, action verb, repeated below the fold
89- 2: primary CTA present but competing with 2+ other equally-prominent buttons
90- 1: 3+ competing CTAs or generic verbs ("Submit", "Click here")
91- 0: no clear CTA
92
93**Form length (0–3, skip if no forms):**
94- 3: 1–3 required fields, no asks beyond the minimum
95- 2: 4–5 required fields with one optional
96- 1: 6+ required fields OR asks for phone before commitment
97- 0: 8+ fields or asks for sensitive data (DOB, SSN, address) without commitment
98
99**Social proof placement (0–3):**
100- 3: one testimonial / logo bar above the fold, more below the hero, named with photo + company
101- 2: testimonials present but only below the fold or unnamed
102- 1: footer-only social proof
103- 0: none visible
104
105**Page speed (0–3, from SpeedScan):**
106- 3: LCP < 2.5s, CLS < 0.1, page weight < 2MB
107- 2: one metric mildly off
108- 1: two metrics off
109- 0: LCP > 4s or CLS > 0.25 (conversion killer)
110
111**Trust signals (0–3):**
112- 3: named company, contact info visible, privacy link, real photos, named team
113- 2: most present, one or two missing
114- 1: faceless brand, stock photos, only generic contact
115- 0: anonymous, no company info, no contact, no privacy
116
117Page total: 0–18.
118
119### Step 4 — Output the report
120
121```markdown
122## Conversion audit for {site_url}
123
124Pages audited: {n_pages}
125
126### Summary
127
128| Page | Score | Top issue |
129|---|---|---|
130| / | 14 / 18 | CTA hierarchy: 3 competing primary CTAs in hero |
131| /pricing/ | 11 / 18 | Form length: pricing form asks for 7 fields |
132| /contact/ | 10 / 18 | Above-the-fold: no value prop, only "Get in touch" |
133| ... | | |
134
135### Prioritized fixes (highest impact first)
136
137**1. {page_url} · CTA hierarchy**
138- Current: 3 competing primary buttons in hero ("Get started", "See pricing", "Book a demo")
139- Change to: one primary ("Get started"), demote others to secondary text links
140- Why: competing CTAs split attention and drop CTR by ~30% in typical landing page tests
141
142**2. {page_url} · Form length**
143- Current: 7 required fields including phone + company size
144- Change to: 3 required (name, email, what brings you here) + optional phone
145- Why: every required field beyond 3 drops form completion by ~7%
146
147**3. {page_url} · Above-the-fold clarity**
148- Current: headline "Solutions for modern teams" — generic, no concrete offer
149- Change to: headline that names what the user gets ("X for Y, in Z minutes" pattern)
150- Why: visitors decide within ~5 seconds whether the page is for them; vague heroes lose them
151
152(... continue for top 5–8 fixes ...)
153
154### What's working
155
156(Quick callouts of strong patterns the audit found, so the user knows what NOT to change.)
157
158- {page}: above-the-fold clarity is strong — headline + sub + supporting visual all reinforce the offer.
159- {page}: social proof placement is exemplary — named testimonial above the fold with photo and company.
160
161### Speed signals (from SpeedScan)
162
163| Page | LCP | CLS | Total weight |
164|---|---|---|---|
165| / | 2.1s ✓ | 0.08 ✓ | 1.8MB ✓ |
166| /pricing/ | 3.4s ✗ | 0.15 ✗ | 3.2MB ✗ |
167```
168
169### Step 5 — Offer to act on a chosen fix
170
171Ask: *"Want me to apply one of these now? I can duplicate the page (SafeEdit) and make the change for review."*
172
173If yes, route to the appropriate edit flow (usually `respira_create_page_duplicate` + targeted `respira_update_element`).
174
175---
176
177## Hard rules
178
179- **Recommendations, not redesigns.** This skill suggests changes; it does not apply them autonomously. Every applied change is a SafeEdit-protected duplicate, reviewed before promotion.
180- **Score is directional, not gospel.** Use the score to prioritize, not as a verdict. A 14/18 page with a critical CTA bug is more urgent than a 10/18 page with diffuse issues.
181- **Form audits use builder-native parsing.** If the form is a Gravity Forms shortcode, parse the GF form definition (not the rendered HTML). If WPForms, ditto. If Contact Form 7, ditto. Raw HTML parsing of form fields produces wrong field counts.
182- **Speed signals come from SpeedScan if present, not from re-running a fresh audit.** Re-running is slow and costly. If the SpeedScan is more than 30 days old, note that and offer to refresh.
183- **Trust signal checks include checking for the privacy / terms / contact pages existing.** Use `respira_list_pages` to verify, not just visually scan the page.
184
185---
186
187## Telemetry
188
189Records: site URL hash, n_pages audited, score distribution, top issue categories detected, success/failure, total duration. No page content, no recommendations, no scores per page sent.
190
191Endpoint: `POST https://www.respira.press/api/skills/track-usage`