Landing Page Workflow
Build high-converting landing pages with proven templates, components, and optimization strategies
The Landing Page workflow guides you through creating a compelling landing page that converts visitors into users. From hero sections to CTAs, this workflow provides templates, best practices, and optimization strategies.
Overview#
| Property | Value |
|---|---|
| Sections | 8 core sections |
| Tier | Free |
| Typical Duration | 2-5 days |
| Best For | Product launches, waitlists, marketing campaigns |
Outcomes#
A successful landing page workflow results in:
- High-converting landing page with clear value proposition
- Mobile-responsive design with fast load times
- Integrated analytics and conversion tracking
- A/B testing framework for optimization
- SEO-optimized meta tags and content
Page Structure#
A high-converting landing page follows this proven structure:
┌─────────────────────────────────────────┐
│ Navigation │
├─────────────────────────────────────────┤
│ │
│ Hero Section │
│ (Value Proposition + CTA) │
│ │
├─────────────────────────────────────────┤
│ Social Proof │
│ (Logos, testimonials) │
├─────────────────────────────────────────┤
│ │
│ Problem / Pain │
│ (Identify the problem) │
│ │
├─────────────────────────────────────────┤
│ │
│ Solution │
│ (How you solve it) │
│ │
├─────────────────────────────────────────┤
│ │
│ Features │
│ (What you offer) │
│ │
├─────────────────────────────────────────┤
│ Pricing │
├─────────────────────────────────────────┤
│ │
│ FAQ │
│ │
├─────────────────────────────────────────┤
│ Final CTA │
├─────────────────────────────────────────┤
│ Footer │
└─────────────────────────────────────────┘
Section 1: Hero#
The hero is your first impression. Make it count.
Hero Checklist#
- Clear headline - What you do in 6-10 words
- Supporting subheadline - How you do it or for whom
- Primary CTA - One clear action to take
- Visual - Product screenshot, illustration, or video
- Social proof snippet - Trust indicator
Hero Component#
1// components/marketing/Hero.tsx
2'use client';
3
4import { Button } from '@/components/ui/button';
5
6interface HeroProps {
7 headline: string;
8 subheadline: string;
9 ctaText: string;
10 ctaHref: string;
11 image?: string;
12 socialProof?: string;
13}
14
15export function Hero({
16 headline,
17 subheadline,
18 ctaText,
19 ctaHref,
20 image,
21 socialProof
22}: HeroProps) {
23 return (
24 <section className="relative overflow-hidden py-20 lg:py-32">
25 <div className="container mx-auto px-4">
26 <div className="grid lg:grid-cols-2 gap-12 items-center">
27 <div className="space-y-8">
28 <h1 className="text-4xl lg:text-6xl font-bold tracking-tight">
29 {headline}
30 </h1>
31 <p className="text-xl text-muted-foreground max-w-lg">
32 {subheadline}
33 </p>
34 <div className="flex flex-col sm:flex-row gap-4">
35 <Button size="lg" asChild>
36 <a href={ctaHref}>{ctaText}</a>
37 </Button>
38 <Button size="lg" variant="outline">
39 Watch Demo
40 </Button>
41 </div>
42 {socialProof && (
43 <p className="text-sm text-muted-foreground">
44 {socialProof}
45 </p>
46 )}
47 </div>
48 {image && (
49 <div className="relative">
50 <img
51 src={image}
52 alt="Product screenshot"
53 className="rounded-lg shadow-2xl"
54 />
55 </div>
56 )}
57 </div>
58 </div>
59 </section>
60 );
61}Headline Formulas#
| Formula | Example |
|---|---|
| [Action] + [Outcome] | "Build landing pages that convert" |
| [Tool] for [Audience] | "Analytics for indie hackers" |
| [Pain] without [Problem] | "Ship faster without the complexity" |
| [Number] + [Benefit] | "10x your development speed" |
Section 2: Social Proof#
Build trust immediately after your hero.
Social Proof Types#
- Logo bar - Companies using your product
- Testimonials - Quotes from real users
- Metrics - Numbers that demonstrate traction
- Awards/Press - Recognition from trusted sources
1// components/marketing/LogoBar.tsx
2export function LogoBar({ logos }: { logos: string[] }) {
3 return (
4 <section className="py-12 border-y bg-muted/50">
5 <div className="container mx-auto px-4">
6 <p className="text-center text-sm text-muted-foreground mb-8">
7 Trusted by teams at
8 </p>
9 <div className="flex flex-wrap justify-center items-center gap-8 lg:gap-16">
10 {logos.map((logo, i) => (
11 <img
12 key={i}
13 src={logo}
14 alt="Company logo"
15 className="h-8 opacity-60 hover:opacity-100 transition-opacity"
16 />
17 ))}
18 </div>
19 </div>
20 </section>
21 );
22}Section 3: Problem Statement#
Articulate the pain your users feel before showing your solution.
Problem Framework#
1// components/marketing/Problem.tsx
2export function Problem() {
3 const problems = [
4 {
5 title: "Manual processes waste time",
6 description: "Hours spent on repetitive tasks that should be automated"
7 },
8 {
9 title: "Scattered information",
10 description: "Data lives in spreadsheets, emails, and sticky notes"
11 },
12 {
13 title: "No visibility",
14 description: "Can't see what's working without digging through reports"
15 }
16 ];
17
18 return (
19 <section className="py-20">
20 <div className="container mx-auto px-4">
21 <div className="text-center mb-12">
22 <h2 className="text-3xl font-bold mb-4">
23 Sound familiar?
24 </h2>
25 <p className="text-muted-foreground max-w-2xl mx-auto">
26 You're not alone. These challenges affect teams everywhere.
27 </p>
28 </div>
29 <div className="grid md:grid-cols-3 gap-8">
30 {problems.map((problem, i) => (
31 <div key={i} className="p-6 rounded-lg border bg-card">
32 <h3 className="font-semibold mb-2">{problem.title}</h3>
33 <p className="text-muted-foreground">{problem.description}</p>
34 </div>
35 ))}
36 </div>
37 </div>
38 </section>
39 );
40}Section 4: Solution#
Now show how you solve the problem.
Solution Narrative#
Connect each problem to your solution:
| Problem | Your Solution |
|---|---|
| Manual processes | Automation that runs in the background |
| Scattered information | Single source of truth |
| No visibility | Real-time dashboards |
Section 5: Features#
Showcase your key features with benefits, not just capabilities.
Feature Display Patterns#
- Grid layout - 3-6 features with icons
- Alternating sections - Feature + screenshot pairs
- Tabs - Interactive feature exploration
- Comparison - Before/after or vs. competitors
1// components/marketing/Features.tsx
2const features = [
3 {
4 icon: "Zap",
5 title: "Lightning Fast",
6 description: "Built for speed. See results in milliseconds, not seconds."
7 },
8 {
9 icon: "Shield",
10 title: "Enterprise Security",
11 description: "SOC 2 compliant with end-to-end encryption."
12 },
13 {
14 icon: "Puzzle",
15 title: "Integrations",
16 description: "Connect with 100+ tools your team already uses."
17 }
18];
19
20export function Features() {
21 return (
22 <section className="py-20 bg-muted/50">
23 <div className="container mx-auto px-4">
24 <div className="text-center mb-12">
25 <h2 className="text-3xl font-bold mb-4">
26 Everything you need
27 </h2>
28 <p className="text-muted-foreground max-w-2xl mx-auto">
29 Powerful features that grow with your business
30 </p>
31 </div>
32 <div className="grid md:grid-cols-3 gap-8">
33 {features.map((feature, i) => (
34 <div key={i} className="p-6 rounded-lg bg-card border">
35 <div className="w-12 h-12 rounded-lg bg-primary/10 flex items-center justify-center mb-4">
36 {/* Icon */}
37 </div>
38 <h3 className="font-semibold mb-2">{feature.title}</h3>
39 <p className="text-muted-foreground">{feature.description}</p>
40 </div>
41 ))}
42 </div>
43 </div>
44 </section>
45 );
46}Section 6: Pricing#
Be transparent about pricing to filter qualified leads.
Pricing Best Practices#
- Show 3 tiers max (Good-Better-Best)
- Highlight recommended plan
- Include feature comparison
- Add FAQ about pricing
- Show annual discount if applicable
Section 7: FAQ#
Address objections and reduce friction.
Common FAQ Topics#
- How does pricing work?
- Is there a free trial?
- How is my data protected?
- What integrations do you support?
- How do I get support?
1// components/marketing/FAQ.tsx
2import {
3 Accordion,
4 AccordionContent,
5 AccordionItem,
6 AccordionTrigger,
7} from "@/components/ui/accordion";
8
9const faqs = [
10 {
11 question: "Is there a free trial?",
12 answer: "Yes! Start with our 14-day free trial. No credit card required."
13 },
14 // ... more FAQs
15];
16
17export function FAQ() {
18 return (
19 <section className="py-20">
20 <div className="container mx-auto px-4 max-w-3xl">
21 <h2 className="text-3xl font-bold text-center mb-12">
22 Frequently Asked Questions
23 </h2>
24 <Accordion type="single" collapsible>
25 {faqs.map((faq, i) => (
26 <AccordionItem key={i} value={`item-${i}`}>
27 <AccordionTrigger>{faq.question}</AccordionTrigger>
28 <AccordionContent>{faq.answer}</AccordionContent>
29 </AccordionItem>
30 ))}
31 </Accordion>
32 </div>
33 </section>
34 );
35}Section 8: Final CTA#
Close with a strong call to action.
1export function FinalCTA() {
2 return (
3 <section className="py-20 bg-primary text-primary-foreground">
4 <div className="container mx-auto px-4 text-center">
5 <h2 className="text-3xl font-bold mb-4">
6 Ready to get started?
7 </h2>
8 <p className="text-lg mb-8 opacity-90 max-w-2xl mx-auto">
9 Join thousands of teams already using our platform.
10 </p>
11 <Button size="lg" variant="secondary">
12 Start Free Trial
13 </Button>
14 </div>
15 </section>
16 );
17}Recommended Agents#
| Phase | Agent | Purpose |
|---|---|---|
| Copy | copywriting-expert | Headlines, descriptions, CTAs |
| Design | ui-ux-expert | Layout, visual hierarchy |
| Development | frontend-expert | Component implementation |
| Optimization | performance-expert | Load time optimization |
| Analytics | analytics-expert | Conversion tracking setup |
Conversion Optimization#
Track These Metrics#
1// lib/analytics.ts
2export function trackLandingPageMetrics() {
3 // Time on page
4 analytics.track('page_view_duration', {
5 page: 'landing',
6 duration: getTimeOnPage()
7 });
8
9 // Scroll depth
10 trackScrollDepth([25, 50, 75, 100]);
11
12 // CTA clicks
13 document.querySelectorAll('[data-cta]').forEach(el => {
14 el.addEventListener('click', () => {
15 analytics.track('cta_clicked', {
16 cta: el.getAttribute('data-cta'),
17 position: el.getAttribute('data-position')
18 });
19 });
20 });
21}A/B Testing Ideas#
| Element | Variation A | Variation B |
|---|---|---|
| Headline | Benefit-focused | Feature-focused |
| CTA text | "Start Free Trial" | "Get Started" |
| Hero image | Screenshot | Illustration |
| Social proof | Logos | Testimonials |
| Pricing | Monthly default | Annual default |
Best Practices#
- One goal per page - Focus on a single conversion action
- Above the fold matters - Your best content should be visible immediately
- Mobile first - Design for mobile, then adapt for desktop
- Fast loads - Every second of delay costs conversions
- Test continuously - Small improvements compound over time
Related Workflows#
- Pre-Launch Checklist - Prepare for launch
- Waitlist System - Capture signups
- Launch Day - Execute your launch
- Product-Market Fit - Measure success