All posts Guides

    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.

    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.

    The scorecard

    • Overall, weighted for agency hand-over41/100FailWeighted the way an SEO tool would (SEO 60%, speed 40%), the same page scores 63.
    At a glance
    • Lighthouse SEO92/100PassOne failed check: a relative canonical URL
    • Mobile LCP (slow 4G)2.9 sBorderlineGoogle counts 2.5 s as good. Desktop was 0.7 s
    • Copy: sounds human4/10FailTemplate phrasing and no proof the business is real
    • Copy: would get the call6/10WarningThe price above the fold does a lot of work
    • Alert on a new leadNoneFailQuote requests wait in a database table
    • Build cost9.8 creditsThree prompts, 7m 46s of build time

    Sources: PageSpeed Insights, Seobility, the Fable copy audit and Lovable's build log, all from 27 September 2026.

    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.

    Lovable landing page audit results. Raw reports for every row are in the downloads section.
    CheckResultVerdictWhat the client sees
    Served HTMLServer-rendered: the H1, headline and 444 words arrive before any JavaScriptPassGoogle reads the whole page on the first fetch
    Titles and metaTitle 616px (limit 580), description 1,325px (limit 1,000)WeakBoth get cut off in search results
    Social previewsog:title and og:image set, og:url is a relative "/"Mostly passThe share card works; one tag is malformed
    SpeedMobile: LCP 2.9s, CLS 0.045, TBT 0ms (score 90). Desktop: LCP 0.7s (score 99)BorderlineInstant on desktop; on a phone over slow 4G the main content takes 2.9s, past Google's 2.5s "good" line
    IndexingIndexable, robots.txt valid; canonical is a relative "/", and /sitemap.xml is a 404WeakGoogle can index it, but the canonical tag is invalid
    Structured dataNoneFailNo LocalBusiness data for Google's local results
    CopyConversion 6/10, human 4/10WeakTemplate copy and no proof: 0 photos, 0 reviews, no Gas Safe number
    Visible bugs2FailAn unreadable areas card on desktop, and the Lovable badge over the mobile Quote button
    Lead handlingLeads save to a backend table; no alert when one arrives; the quote form's honeypot (a hidden field meant to catch bots) is never checkedFailA lead can sit unseen until someone logs in to look
    Credits9.8 credits over three prompts, 7m 46s of build timeCheapCheap 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

    From brief to report: the audit pipeline
    1. Write one client-style briefA homepage for Brindle Lane Plumbing, a made-up two-person plumbing business in Leeds that wants emergency calls from Google Ads and its Business Profile. The brief, quoted in full below, was pasted as is, with no follow-up prompts on the first build.
    2. Build and iterate in LovableThree prompts: the brief, then a reviews page, then a feedback form. We logged each one with its credits and build time.
    3. Publish to a live URLbrindle-lane-plumbing-leeds.lovable.app, the address Lovable published it to. Tools only see what is actually served, so no localhost and no preview links.
    4. Run the same tools a client wouldPageSpeed Insights, Seobility, a raw fetch of the HTML as Googlebot and as Chrome, and a copy review, all on 27 September 2026.
    5. Export everythingEvery report, the served HTML, and the prompt log are in the downloads section, so the numbers can be re-checked without trusting us.

    Built on Lovable's free plan and audited on 27 September 2026.

    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
    The whole build in 35 seconds: the three prompts in Lovable, then the published homepage and the reviews page with its six made-up reviews. Page scroll sped up 2x.
    What we checked, and with which tool
    CheckToolWhat it tells a clientPass bar
    Served HTMLcurl, fetched as Googlebot and as ChromeWhat Google receives before any JavaScript runsHeadline, body copy and links present in the raw HTML
    Titles and metaSeobilityWhether the page has its own title, description and canonicalUnique, present, under length limits
    Social previewsThe served HTML's Open Graph tagsHow the link looks when the client shares itPage-specific OG title, description and image
    Speed (mobile)PageSpeed Insights (Lighthouse), mobile and desktopCore Web Vitals (LCP, CLS), with TBT as the lab stand-in for INPLCP under 2.5s and CLS under 0.1 on a mobile profile; TBT under 200ms on the same run
    IndexingPageSpeed Insights SEO audit, plus robots.txt and sitemap.xml fetched directlyWhether Google can and did index the pageIndexable, valid canonical, listed in a sitemap
    Structured dataThe served HTML (JSON-LD blocks)Eligibility for rich results (local business, FAQ)Valid schema, no errors
    CopyFable (Claude), with a written rubricWhether each section would get the call, and whether it sounds like a real businessScored 0 to 10 per section; the full report is published

    The 41 at the top comes from five categories, weighted like this:

    How the 41 is worked out
    CategoryWeightScore (0 to 100)AddsBased on
    Lead handling30%257.5The form saves leads; no alert, spam check not enforced, no lead view for the client
    Copy25%5012.5Fable's whole-page scores: 6/10 for conversion, 4/10 for sounding human
    SEO (our five checks)25%5513.75Served HTML passes, social previews mostly pass, titles and indexing are weak, structured data fails
    Speed10%757.5Desktop LCP passes; mobile LCP is borderline
    Visible polish10%00Two bugs a client sees in the first minute
    Overall100%4141.25Rounded 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.

    PageSpeed Insights report for brindle-lane-plumbing-leeds.lovable.app on mobile, run 27 September 2026: Performance 90, Accessibility 91, Best Practices 100, SEO 92, next to a phone screenshot of the hero
    Mobile: 90 for performance, 92 for SEO. Desktop scored 99 and 92. There is no real-user data yet, because the page is new.

    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.

    PageSpeed Insights mobile metrics: First Contentful Paint 2.9 s and Largest Contentful Paint 2.9 s in orange, Total Blocking Time 0 ms, Cumulative Layout Shift 0.045 and Speed Index 2.9 s in green, captured on an emulated Moto G Power with slow 4G throttling
    Mobile, slow 4G: LCP 2.9 s is the only metric outside Google's "good" range.

    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.

    The SEO section of the PageSpeed Insights report: one failed check, 'Document does not have a valid rel=canonical, is not an absolute URL (/)', above eight passed audits including indexing, title, meta description, crawlable links and robots.txt
    Lighthouse's only failed SEO check on this page.

    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.

    Seobility's title and meta description checks. The title 'Brindle Lane Plumbing, Leeds Plumbers, 24/7 Emergency Call-Out' is flagged at 616 pixels against a 580 limit, and the meta description at 1,325 pixels against a 1,000 limit
    Both would be truncated in Google's results. The title also joins its two halves with an em dash, the same tell the copy audit found six times on the page.

    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.

    Seobility on-page score of 56%, broken down as meta data 65%, page structure 100%, server 0%, page quality 58%, links 92% and external factors 3%
    Seobility's 56%. Page structure scored 100%; the server and external-factor scores say more about a day-old lovable.app page than about Lovable.
    • 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.

    The Brindle Lane Plumbing hero on desktop, with six numbered orange boxes marking the Reviews nav link, the headline, the subheadline, the trust row, the call and quote buttons, and the call card showing £85 daytime and £120 after 6pm prices
    The hero scored 8/10 for conversion and 5/10 for sounding human. The layout and the price above the fold work. The headline turns on an em dash, and the trust row makes three claims with no proof behind any of them.
    Copy scores by section, out of 10 (Fable, per-section rubric)
    SectionConversionHumanMain problem
    Header and hero85No photo, no review stars, no registration badge
    Services63Four cards built on the same sentence pattern
    Pricing84Honest and low-risk, but the headline reads like a slide title
    About and areas32Repeats the hero, names nobody, and the areas card is unreadable
    Quote form75Right length, but 'as soon as we can' is the callback promise
    Footer47No address, company number, Gas Safe number or email
    Whole page64A 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.

    The services section headed 'Four jobs, done properly', with four numbered cards for boiler repairs, leaking pipes and taps, blocked drains and bathroom fitting, each marked with an orange box, and the Made with Lovable badge overlapping the second card
    Services scored 3/10 for sounding human. Every card opens with a list of three.
    What we counted on the live page
    CheckWhat we foundWhy a client cares
    Photos0 (two SVG icons only)Nothing proves the two plumbers exist
    Review stars on the page0 (reviews live on a separate /reviews page)Paid visitors rarely click away and come back
    Gas Safe mention0, on a page selling boiler repairsUK 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 timesA claim repeated six times and proven zero times reads as filler
    Em dashes6A Leeds plumber does not type em dashes
    Call links6 phone links, 2 quote links and a sticky mobile call barGood: 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.

    The about section on desktop: on the right, the service areas card for Leeds, Horsforth, Headingley and Pudsey is white text on an off-white background and barely visible
    The areas card as it renders on desktop. The text is there; you just cannot read it.
    The page on a 390px-wide phone. At the bottom, the sticky bar holds a Call button and a Quote button, and the Made with Lovable badge covers half of the Quote button
    On a phone, the Lovable badge covers half of the Quote button on every screen.

    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.

    What happens to a lead
    • Lead notificationsOffFailNo email or text when a quote request arrives. Turning it on is another prompt.
    • Spam protectionNot enforcedFailThe quote form has a hidden honeypot field, but the submit code never reads it; the lead is saved either way. The feedback form checks its honeypot, but only in the browser.
    • Where the client sees leadsA database tableFailRows in quote_requests under Cloud, then Database, in the Lovable editor. No inbox a client could be given.

    Both forms write to the database straight from the page, so a bot does not need the form at all. Read from the live page's JavaScript on 27 September 2026. Lovable's own suggested next step was "Add spam protection and validation to the customer feedback form".

    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.

    Credits and build time per prompt, read from each build's details panel in Lovable
    EditPromptsCreditsBuild time
    First build from the brief (after picking a design direction)12.803m 17s
    "Add another page" (a reviews page)13.502m 34s
    Google review link and a feedback form13.501m 55s
    Total so far39.807m 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.

    What client-ready would cost on top (estimate; prices from lovable.dev/pricing on 27 September 2026, viewed from the UK)
    To getWhat it takesCost
    No "Made with Lovable" badgePro plan; the free plan keeps the badge£22 a month
    The client's own domainPro planIncluded in Pro
    An email on every new leadOne prompt, plus an email sender set upAbout 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 promptsAbout 3 to 7 credits
    A leads page the client can log in toOne or two prompts: a login and a table viewAbout 4 to 7 credits
    TotalPro, 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.

    The pricing section headed 'Transparent pricing. No surprises.', with numbered boxes on the headline, the line 'you can walk away if it's not for you', a £85 daytime card and a £120 after-hours card
    The pricing section scored 8/10 for conversion. The walk-away line is the best sentence on the page; the headline is the weakest part.

    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:

    1. 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.
    2. Paste the link into a social preview checker and look at the card the client will see.
    3. Run a mobile speed test and note the LCP, not the overall score.
    4. Check that the canonical tag is a full URL and that /sitemap.xml exists. Neither was right on our page.
    5. Read every number and testimonial on the page and ask where it came from. Delete anything nobody can source.
    6. 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.

    No credit card required.