A Lovable landing page gets the technical SEO basics mostly right and falls down where a client actually looks, in the copy and in any proof that the business is real. Weighted for what an agency hands a client, it scores 41 out of 100. We built one for a made-up Leeds plumber, published it, and ran it through the tools a client's SEO consultant would reach for. Google's Lighthouse gave it 92/100 for SEO and 90 for mobile performance. The copy scored 6/10 for conversion and 4/10 for sounding human. The whole build took three prompts and 9.8 credits. The rest of this post is the evidence, and the raw files are at the bottom so you can check every number.
A Lovable landing page scored 92 on Google's SEO audit and 41 overall
We gave Lovable a plumber's brief, published what it built, and ran it through the tools a client's SEO consultant would use. Every raw report is attached, so you can check our working.
We expected SEO to be the weak column. It mostly passed: the page is server-rendered, indexable and quick on desktop, and every SEO miss is a tag that takes a minute to fix. The copy and the lead handling are where it fell down, and fixing the copy needs facts only the business has.
| Check | Result | Verdict | What the client sees |
|---|---|---|---|
| Served HTML | Server-rendered: the H1, headline and 444 words arrive before any JavaScript | Pass | Google reads the whole page on the first fetch |
| Titles and meta | Title 616px (limit 580), description 1,325px (limit 1,000) | Weak | Both get cut off in search results |
| Social previews | og:title and og:image set, og:url is a relative "/" | Mostly pass | The share card works; one tag is malformed |
| Speed | Mobile: LCP 2.9s, CLS 0.045, TBT 0ms (score 90). Desktop: LCP 0.7s (score 99) | Borderline | Instant on desktop; on a phone over slow 4G the main content takes 2.9s, past Google's 2.5s "good" line |
| Indexing | Indexable, robots.txt valid; canonical is a relative "/", and /sitemap.xml is a 404 | Weak | Google can index it, but the canonical tag is invalid |
| Structured data | None | Fail | No LocalBusiness data for Google's local results |
| Copy | Conversion 6/10, human 4/10 | Weak | Template copy and no proof: 0 photos, 0 reviews, no Gas Safe number |
| Visible bugs | 2 | Fail | An unreadable areas card on desktop, and the Lovable badge over the mobile Quote button |
| Lead handling | Leads save to a backend table; no alert when one arrives; the quote form's honeypot (a hidden field meant to catch bots) is never checked | Fail | A lead can sit unseen until someone logs in to look |
| Credits | 9.8 credits over three prompts, 7m 46s of build time | Cheap | Cheap to build. Handing it to a client adds £22 a month for Pro, plus an estimated 10 to 18 credits of fixes |
How we ran the Lovable landing page audit
Make a website for my plumbing business. We're Brindle Lane Plumbing in Leeds. Family run, 2 plumbers, been going since 2011. We do boiler repairs, leaking pipes and taps, blocked drains and bathroom fitting. Emergency call outs 24/7, £85 call-out fee in the day, £120 after 6pm. We cover Leeds, Horsforth, Headingley and Pudsey. Phone 0113 496 0721. I want people to call us or fill in a form to get a quote.
The full brief, pasted into Lovable as written
| Check | Tool | What it tells a client | Pass bar |
|---|---|---|---|
| Served HTML | curl, fetched as Googlebot and as Chrome | What Google receives before any JavaScript runs | Headline, body copy and links present in the raw HTML |
| Titles and meta | Seobility | Whether the page has its own title, description and canonical | Unique, present, under length limits |
| Social previews | The served HTML's Open Graph tags | How the link looks when the client shares it | Page-specific OG title, description and image |
| Speed (mobile) | PageSpeed Insights (Lighthouse), mobile and desktop | Core Web Vitals (LCP, CLS), with TBT as the lab stand-in for INP | LCP under 2.5s and CLS under 0.1 on a mobile profile; TBT under 200ms on the same run |
| Indexing | PageSpeed Insights SEO audit, plus robots.txt and sitemap.xml fetched directly | Whether Google can and did index the page | Indexable, valid canonical, listed in a sitemap |
| Structured data | The served HTML (JSON-LD blocks) | Eligibility for rich results (local business, FAQ) | Valid schema, no errors |
| Copy | Fable (Claude), with a written rubric | Whether each section would get the call, and whether it sounds like a real business | Scored 0 to 10 per section; the full report is published |
The 41 at the top comes from five categories, weighted like this:
| Category | Weight | Score (0 to 100) | Adds | Based on |
|---|---|---|---|---|
| Lead handling | 30% | 25 | 7.5 | The form saves leads; no alert, spam check not enforced, no lead view for the client |
| Copy | 25% | 50 | 12.5 | Fable's whole-page scores: 6/10 for conversion, 4/10 for sounding human |
| SEO (our five checks) | 25% | 55 | 13.75 | Served HTML passes, social previews mostly pass, titles and indexing are weak, structured data fails |
| Speed | 10% | 75 | 7.5 | Desktop LCP passes; mobile LCP is borderline |
| Visible polish | 10% | 0 | 0 | Two bugs a client sees in the first minute |
| Overall | 100% | 41 | 41.25 | Rounded down to 41 |
Each check scores 1 for a pass, 0.75 for mostly passing, 0.5 for weak or borderline and 0 for a fail. The weights are ours, set by what an agency is judged on after hand-over: whether leads arrive, then whether the client signs off on the copy. Re-weight it however you like; every input is in the scorecard above and the sections below. The gap between 41 and the 63 an SEO-only weighting gives is the finding: the parts SEO tools do not check are where this page fails.
Lovable SEO: what Google actually receives
We went in expecting the classic single-page-app problem: a near-empty HTML shell that only fills in once JavaScript runs. This page does not have it. We fetched the live URL twice, once as Googlebot and once as Chrome, and both got the same 31 KB of server-rendered HTML, with the H1, the headline and 444 words of copy in it before a single script runs. The raw response is in the downloads below.
Mobile is where speed slips. Under Lighthouse's slow 4G phone profile, the main content (LCP) takes 2.9 seconds against the 2.5 Google counts as good. Lighthouse puts most of that on render-blocking requests (an estimated 960 ms to save) and 104 KiB of unused JavaScript. Layout shift is 0.045 and blocking time is zero, so once it paints, it is stable. On desktop, LCP is 0.7 seconds.
Lighthouse's SEO audit passes eight checks and fails one: the canonical tag. Lovable set it to "/", a relative path, where Google expects a full URL. The Open Graph og:url tag has the same problem. It is the kind of detail the argument in our earlier post on Lovable was worried about: tags someone has to remember on every page, and nobody checks until an audit does.
Seobility is harsher, at 56% on-page, and some of that is fair. The title is 616 pixels wide against a limit of about 580, and the meta description is 1,325 against 1,000, so both get cut off in search results. Seobility also flags that the words in the H1 barely appear in the body text.
The rest of the 56% is less fair. "Server 0%" comes from a www versus non-www check, but on a lovable.app subdomain the www address does not even complete a secure connection, so there is nothing to redirect. That check only matters once a custom domain is attached. "External factors 3%" is backlinks, which no page has on its first day.
- Sitemap and robots.txt: robots.txt exists and allows Googlebot and Bingbot. /sitemap.xml returns a 404.
- Structured data: none. There is no LocalBusiness block, so Google gets no address, hours or service area in machine-readable form, and the page shows no street address either.
- Headings: one H1, "Leaks, boilers & blocked drains, sorted fast" (with an em dash where that comma is). It names the services but not Leeds.
- Image alt text: nothing to check. The page has no images at all, so Lighthouse marks the audit as not applicable. That is the copy audit's zero-photos finding, seen from the SEO side.
None of these is hard: an absolute canonical, a shorter title and description, a sitemap and a LocalBusiness block. We did not run a fix round, but each is one short prompt. For what a local service page needs to rank in the first place, see our guide to local SEO for service businesses.
Copy: would the client sign off on it?
A client does not read the code. They read the headline, then look for proof that the business is real. We gave the copy, exactly as Lovable wrote it, to Fable (Anthropic's Claude model) with a two-part rubric and had it score every section out of 10. Conversion asks whether a Leeds homeowner with water on the floor would call the number. Human asks whether it reads like the plumber wrote it, or like a model filled in a local-business template.
Yes, that is an AI grading a page an AI wrote. So the full report, with every note, is in the downloads below, and the claims we lean on hardest are counts: photos, reviews, em dashes and repeated phrases. You can recount all of them on the live page.
| Section | Conversion | Human | Main problem |
|---|---|---|---|
| Header and hero | 8 | 5 | No photo, no review stars, no registration badge |
| Services | 6 | 3 | Four cards built on the same sentence pattern |
| Pricing | 8 | 4 | Honest and low-risk, but the headline reads like a slide title |
| About and areas | 3 | 2 | Repeats the hero, names nobody, and the areas card is unreadable |
| Quote form | 7 | 5 | Right length, but 'as soon as we can' is the callback promise |
| Footer | 4 | 7 | No address, company number, Gas Safe number or email |
| Whole page | 6 | 4 | A sound layout with no proof in it |
The pattern is clearest in the services grid. Every card follows the same shape: three symptoms, then "we" plus two verbs. Read the four aloud and the rhythm is identical. No boiler brands are named, even though boiler repair is the most valuable job on the page.
| Check | What we found | Why a client cares |
|---|---|---|
| Photos | 0 (two SVG icons only) | Nothing proves the two plumbers exist |
| Review stars on the page | 0 (reviews live on a separate /reviews page) | Paid visitors rarely click away and come back |
| Gas Safe mention | 0, on a page selling boiler repairs | UK gas work needs a Gas Safe registered engineer, and careful customers check |
| Repeated claims | 'since 2011' 5 times, '24/7' 6 times, 'no call centres' 3 times | A claim repeated six times and proven zero times reads as filler |
| Em dashes | 6 | A Leeds plumber does not type em dashes |
| Call links | 6 phone links, 2 quote links and a sticky mobile call bar | Good: the number is reachable from anywhere on the page |
Swap "Brindle Lane" for any other plumber in any other city and every sentence on the page still works. Nothing on it could only have come from this business: no names, no street, no boiler brands, no photo, no story about a job.
Some of that is on the brief. It gave no names, no Gas Safe number, no photos and no reviews, so Lovable had no proof to put on the page. But that is what a real client brief looks like, and the page shows what the model did with the gaps. It repeated the few facts it had ("since 2011" five times). It invented one it did not have: the brief never mentions a van, but "two plumbers, one van" is in both the hero subhead and the about section's headline. And when we asked for a reviews page, it filled it with six five-star reviews under placeholder names.
I don't have your real customer reviews yet, so the six on the page are made-up examples with placeholder names.
Lovable, in the chat after building the reviews page
To be fair to Lovable, it said so both times, in the chat. After the first build it pointed out the "one van" line and offered to change it. After the reviews page it wrote that the six reviews were made-up examples that "need swapping before the site goes public". The problem for an agency is where that warning lives. It is in a chat transcript the client never reads, while the made-up reviews were already live on the public lovable.app address when we audited it. Nothing on the page itself marks them as placeholders, and it never asked for the Gas Safe number at all.
Two problems a client would find in their first minute are not about copy at all. On desktop, the service areas card renders white text on an off-white background, so a whole section is invisible. On a phone, the "Made with Lovable" badge sits on the sticky call bar and covers half of the Quote button, which is the page's second call to action. Removing it needs Lovable's Pro plan, at £22 a month.
Lead handling: nobody is told when a quote comes in
The form itself is fine. Lovable tested it end to end, and every submission lands in a database table in its backend. What it does not do out of the box is tell anyone. After the first build, Lovable offered to "set up email notifications for new quote requests", which means they were not on. For an emergency plumber, a lead nobody sees for three hours has already gone to whoever answered the phone.
Cost: 9.8 credits to build, £22 a month to hand over
For an agency the first build is rarely the expensive part; the work after it is. Here is what this page cost to build, and our estimate of what it would take to hand it to a client.
| Edit | Prompts | Credits | Build time |
|---|---|---|---|
| First build from the brief (after picking a design direction) | 1 | 2.80 | 3m 17s |
| "Add another page" (a reviews page) | 1 | 3.50 | 2m 34s |
| Google review link and a feedback form | 1 | 3.50 | 1m 55s |
| Total so far | 3 | 9.80 | 7m 46s |
Small follow-ups cost more than the first build: adding a reviews page and a link cost 3.5 credits each, against 2.8 for the whole site. And every change is a full agent run that reads files, edits them and tests the result, so even a one-line fix is minutes of build time and a few credits.
| To get | What it takes | Cost |
|---|---|---|
| No "Made with Lovable" badge | Pro plan; the free plan keeps the badge | £22 a month |
| The client's own domain | Pro plan | Included in Pro |
| An email on every new lead | One prompt, plus an email sender set up | About 3 to 4 credits |
| Spam protection that works (submit through a server function with a rate limit or CAPTCHA, instead of writing straight to the database) | One or two prompts | About 3 to 7 credits |
| A leads page the client can log in to | One or two prompts: a login and a table view | About 4 to 7 credits |
| Total | Pro, plus three to five more prompts | £22 a month plus roughly 10 to 18 credits |
The credit figures are estimates, not measurements: we did not run those prompts. They use what comparable feature prompts cost on this project (2.8 to 3.5 credits each), with Lovable's own examples as a floor (1.2 credits to add login, per its pricing page). Pro's 100 monthly credits cover them easily. On the free plan's 5 credits a day, it is two or three days of waiting, and the badge stays. Hosting a page this size is covered by the plan's included Cloud grant.
Download the raw reports
We make Simplepages, which competes with Lovable for this job, so you should not take our summary on trust. That is why nothing here was scored by hand. These are the unedited files every number above came from. Run the same tools on the live page and you should get the same results, give or take normal variation in speed tests.
When a Lovable page is still the right call
If the page is a prototype for a client meeting, or the traffic comes from paid ads and never needs to rank, most of the SEO column above stops mattering. And some of what Lovable built is right for an emergency trade page: the call-out price sits above the fold, which is rare. The phone number appears in the header, the hero, beside the form and in a sticky bar on mobile. Both hero buttons fit above the fold on a 390px phone, the form asks for only four things, and the pricing includes the best line on the page, "you can walk away if it's not for you". If you want the broader comparison, it is on our Lovable vs Simplepages comparison page.
Run the same audit on your own client pages
You do not need our files to do this. Before the next Lovable page goes to a client, run these, in this order:
- Open view-source on the live URL and search for the headline. If it is not there, check what Google indexed before promising the client rankings.
- Paste the link into a social preview checker and look at the card the client will see.
- Run a mobile speed test and note the LCP, not the overall score.
- Check that the canonical tag is a full URL and that /sitemap.xml exists. Neither was right on our page.
- Read every number and testimonial on the page and ask where it came from. Delete anything nobody can source.
- Submit the quote form yourself and check who gets told. If the answer is nobody, the page is not finished.
If you run this for a living, the Simplepages agency plan emails you on every form submission and keeps leads in an inbox, with no prompt needed.
FAQ
For the technical basics, mostly yes. The page we built was server-rendered, indexable and fast on desktop (mobile LCP was 2.9 seconds on slow 4G), and scored 92/100 on Google's Lighthouse SEO audit. It missed smaller things an SEO consultant would flag: a relative canonical URL, no sitemap, no LocalBusiness structured data, and a title and description too long for search results.
Leads that reach you, not a database table
Simplepages emails you on every form submission, keeps leads in an inbox, and filters obvious spam before it lands. Nothing to prompt for.









