SEO
Will anyone actually find your Lovable site?
The three things Lovable does not do for search, and the half hour that fixes them.
You built the site in a weekend. It looks sharp, the client is happy, the domain is connected. Three weeks later you type the business name into Google and get a Facebook page, a directory listing from 2019, and nothing else.
Nothing is broken. Lovable did exactly what it was asked to do, which was build a website. Nobody asked it to make the website findable, so it didn't.
That gap is smaller than the internet makes it sound. It is three things, and you can close all three before your coffee goes cold.
Why a good-looking site can be invisible
When you open a Lovable site, your browser downloads a small HTML file and a large bundle of JavaScript. The JavaScript runs, and the page appears. You never notice, because it takes a fraction of a second.
A crawler is not a browser. It asks for the page, reads whatever HTML comes back, and moves on. If the words only exist after the JavaScript runs, a lot of crawlers never see them. Google will come back later and run the script, eventually, when it has a spare moment. Most AI crawlers will not come back at all.
So the question is never "is my site good?" It is "what is in the HTML before anything runs?"

Which kind of Lovable project do you have?
This matters more than it used to. Lovable changed its foundations in spring 2026, and there are now two kinds of project in the wild.
| Older projects | Newer projects | |
|---|---|---|
| How pages are built | In the visitor's browser | On the server, per request |
| What crawlers get | A snapshot taken when you publish | Finished HTML for fixed pages |
| Text written into the page | Visible | Visible |
| Content loaded from a database | Missing | Missing, unless you ask for it |
| Your move | Run the test below | Still run the test below |
The last two rows are the ones to read twice. A newer project does not make the problem go away. It moves it. Your About page will be fine. Your blog posts, your listings, your menu items pulled from a table? Probably not.
Thing one: what the crawler actually sees
Time 5 minutes. No tools, no accounts.
- Open your live site in Chrome. Not the preview, the real domain.
- Press Cmd Option U on a Mac or Ctrl U on Windows. This is View Source, not the Inspect panel. Inspect shows you the page after JavaScript has run, which is exactly the thing we are trying not to look at.
- Press Cmd F and search for a sentence from the middle of your homepage. Not the title. A real sentence from the body.
- Do the same on one page that loads its content from a database: a blog post, a product, a team member.
If you find your sentence both times, you are in good shape. Skip to thing two.
If you find it on the homepage but not on the database page, that is the most common result we see, and it is a one-prompt fix:
Every public page must include its full text content in the initial HTML response, before any JavaScript runs. For pages that load content from the database, fetch that content on the server in the route loader, not in the browser after the page mounts. Do not change the design. When you are done, list every route and tell me whether its content is in the initial HTML.
That last sentence is doing real work. Asking the tool to report back is how you find out it skipped three pages.
If you find your sentence on neither page, you are on an older project and the publish-time snapshot is not reaching you. Republish first. It is boring advice, and it works about half the time. If it doesn't, ask Lovable to migrate the project to the server-rendered stack. It costs credits, so duplicate the project before you do it.
"What is in the HTML before anything runs?" is the only SEO question that matters in the first week. Everything else is polish.
Thing two: every page has the same name
Time 15 minutes. This is the big one.
Open five pages of your site in five tabs and look at the tab titles. On most Lovable sites we review, they all say the same thing. Usually the project name. Once, memorably, "my-awesome-app".

The title is the headline Google shows in results. It is also the strongest hint a page gives about what it is for. Give five pages the same one and they compete with each other and all lose.
Paste this:
Give every page a unique title tag under 60 characters and a unique meta description under 155 characters. The homepage title should start with what the business does and where, not the business name. Add a self-referencing canonical tag to every page using https://www.example.com as the base. Show me the full list as a table before you apply anything.
Then actually read the table. This is the "without switching off your brain" part. The first draft will be bland. Here is what we got back for a bakery site, and what we changed it to:
| Page | Lovable's first draft | What we shipped |
|---|---|---|
| Home | Sourdough bakery in Utrecht, baked fresh daily | |
| Menu | Bread, pastries and cakes: the full Korst menu | |
| Wholesale | Wholesale sourdough for Utrecht cafés and restaurants | |
| Contact | Find Korst Bakery: opening hours, map and phone |
Nothing clever happened there. We said what each page is, using the words a hungry person would type.
The three-copies problem
While you are in here, there is a quieter issue. Your site probably exists at three addresses:
https://www.example.comhttps://example.comhttps://your-project.lovable.app
Google can index all three, and each one waters down the others. Pick one as the real address (we use www, for no better reason than habit), make sure the other redirects to it, and ask Lovable to mark the lovable.app version as noindex. The canonical tag in the prompt above handles the rest.
Thing three: nobody told Google you exist
Time 10 minutes, and then some patience.
A new site has no links pointing at it. Google finds new pages by following links. You can see the problem. You have to introduce yourself.
Hand over a map
Ask Lovable for two small files:
Create a sitemap.xml in the public folder listing every public page with its full https://www.example.com URL. Regenerate it whenever a page is added. Also create a robots.txt in the public folder that allows all crawlers and points to the sitemap.
The robots.txt you get back should look roughly like this. If it is much longer, something has been over-thought.
User-agent: *
Allow: /
Sitemap: https://www.example.com/sitemap.xml
Check one thing: that nothing in there says Disallow: /assets/. That folder holds the JavaScript. Block it and Google cannot run your site even when it wants to.
Connect Search Console
Google Search Console is free and it is the only place Google tells you, in plain words, what it thinks of your site.
- Add your domain as a property. Choose the Domain option, not URL prefix, so
wwwand non-wwware covered together. - Verify it with the DNS record it gives you. Wherever you bought the domain will have a DNS page. It is one line.
- Go to Sitemaps and submit
sitemap.xml. - Paste your homepage address into the bar at the top and press Request indexing. Do the same for your two or three most important pages.

And then, the hard part: close the tab. Indexing takes days, sometimes a couple of weeks. Requesting it again does not move you up a queue. Go and do something useful, like writing a page that answers a question your customers keep asking. That page is worth more than everything else in this post.
What about ChatGPT and the AI crawlers?
A fair number of your future visitors will never see a results page. They will ask an assistant for "a good sourdough bakery near Utrecht Centraal" and get an answer with two or three names in it.
Here is the good news. The crawlers behind those assistants are simpler than Google, not smarter. They almost never run JavaScript. They read the HTML and leave. Which means thing one, the view-source test, is also your AI visibility test. Pass it, and you have done most of what can be done.
Two small extras help:
- Say plain things plainly. "We are a sourdough bakery in Utrecht, open Tuesday to Sunday from 7:00" is easy to quote. "Crafting moments of joy since 2019" is not.
- Add structured data. Ask Lovable to add
LocalBusinessschema (orOrganization, orArticlefor posts) as JSON-LD in the page head. It is the same information, in a form machines don't have to guess at.
We are sceptical of anyone selling "AI SEO" as a separate discipline right now. So far it looks a lot like regular SEO with the excuses removed.
The half-hour checklist
Print it, paste it in your project notes, send it to the client. Whatever gets it done.
0 of 10 done
If a box won't tick, that is useful too. Knowing which box is most of the diagnosis.
Questions we get asked
Is Lovable bad for SEO?
No. It is unfinished for SEO, which is different. The platform is not penalised and the sites can rank normally. What you get by default is a good-looking site with incomplete metadata and, sometimes, content that crawlers cannot read. Both are fixable from inside the builder in well under an hour.
How long until my site shows up on Google?
For a brand-new domain with Search Console connected, expect your homepage within three to ten days and the rest over two to four weeks. Ranking for anything competitive takes months, and depends on your content, not your tooling. If nothing at all appears after three weeks, rerun the view-source test.
Do I need a paid prerendering service?
Usually not, for a brochure site. Those services exist for apps with thousands of pages built from live data. If your site is ten pages of text and images, the fixes in this post cover it. If you are running a directory or a big catalogue, it becomes worth a look.
Should I just rebuild it in something else?
Only if search is your main source of customers and you publish a lot. A content-heavy site is better served by something that produces plain HTML files, which is why our own site runs on Astro. For a local business with a handful of pages, moving is more work than it saves. We wrote more about that trade-off in Stop asking which AI tool is best.
Does the Lovable SEO review catch all of this?
It catches a useful amount: missing descriptions, headings, alt text, the sitemap. It only inspects pages it can see at publish time, though, so it will happily pass a blog whose posts arrive empty. Treat it as a spell-checker. Helpful, and not the same as someone reading the page.
The short version
Your Lovable site is not invisible because of something you did wrong. It is invisible because finding it was never part of the brief. Check what the crawler receives, give every page its own name, and introduce yourself to Google. Half an hour, three prompts, one closed tab.
Then go and write the page only you can write. That part no tool is going to do for you, and honestly, it shouldn't.