← All posts
Playbook· 7 min read

How to fix a vibe-coded landing page in one afternoon

A step-by-step fix list for landing pages built with Lovable, Bolt or v0: rewrite the hero, kill the default styling, add real proof, close the security holes, and re-score the page.

A vibe-coded landing page usually fails in the same six places. None of them take long to fix — they just need someone to name them. Here's the order I'd work in, highest impact first.

1. Rewrite the hero into one literal sentence

AI-generated heroes reach for abstractions: "Transform your workflow", "AI-powered platform for modern teams". Replace yours with the plainest possible version: [Product] lets [audience] [do the specific thing] without [the specific pain]. If a stranger can't repeat what you do after two seconds, nothing below the fold matters.

2. Make the CTA ask for the actual action

"Get started" and "Learn more" are placeholders that survived to production. Name the outcome instead: "Roast my landing page", "Generate my first invoice", "Book a 15-minute call". One primary button, repeated down the page. No competing secondary CTA next to it.

3. Add one piece of real proof above the fold

Not a fake testimonial from "Sarah, CTO". A screenshot of real output, a quoted DM, a usage number, a logo you're actually allowed to use. One honest proof element beats a grid of invented ones, and invented ones actively cost you trust when a visitor looks closely.

4. Break the template look

Default Inter, an indigo-to-purple gradient on white, and untouched shadcn cards are a visible watermark. Change two things and the page stops looking generated: pick a display typeface that isn't Inter or Poppins, and pick one accent colour that isn't blue or purple. Tighten the heading sizes while you're in there.

5. Close the security holes your builder left open

Check your client bundle for API keys and environment variables — AI builders ship them more often than you'd like. Confirm your database has row-level security enabled, and that your responses set basic security headers. See our security checklist for the full pass.

6. Fix the metadata nobody set

Default titles, missing descriptions, no social preview image and no sitemap are why your page looks broken when it's shared and invisible when it's searched. Give every page a unique title under 60 characters and a description under 160.

Then re-score it

Run the page through a landing page audit before and after. Fix the two lowest metrics, re-run, repeat. Most pages move 20–30 points in a single afternoon of this.

Ready for the audit?

Paste your URL. Get a vibe score and a roast in 30 seconds. Free.

Roast my site →