Why is nobody using the app you built?
Building the app got dramatically easier. Getting found did not. This is what stands between a working app and its first real users, on Google and inside ChatGPT.
Have Licheo make it findableMost vibe-coded apps are invisible for one of two reasons. Either crawlers receive an empty JavaScript shell instead of your content, which is a platform question with a different answer on Lovable, Bolt, Base44, Replit and v0. Or the app is a single page, which means there is exactly one question it can be the answer to. Fix the first, then spend your real effort on the second.
Why is nobody using my app?
The honest answer is that nobody has been given a reason to arrive. You shared it in two or three places, the people who saw it were being polite, and the traffic those posts produced ended the day they scrolled off the feed. Nothing about your app is broken. It simply has no front door that a stranger could walk through.
There are only two things that keep a working app from being found, and they are worth separating because they have completely different fixes. The first is that machines cannot read it. The second is that machines can read it perfectly well and there is nothing on it worth citing.
People who worry about the wrong one of these lose months. They rebuild in a different framework when the rendering was already fine, or they write twenty pages that no crawler can see. Work out which situation you are in before you spend anything.
Can search engines actually read your app?
Open your deployed app, right click, and choose View page source. Look for your own words in the raw HTML: your headline, a feature name, any real sentence. If they are there, a server is sending real content and rendering is not your problem. If you see an empty div and a script tag, your content only exists after JavaScript runs.
One important warning. This test is reliable on Replit, on v0, and on anything you host yourself, but it is misleading on Lovable, which serves a fully rendered version to verified crawlers while showing your browser the shell. On that platform, view source will frighten you for no reason. Use Google Search Console instead, where you can inspect a URL and read the HTML Google itself received.
The same trap catches free SEO checkers. Most of them are not on any verified crawler list, so they report an empty page accurately while Google is receiving something completely different.
Where does your platform leave you?
The platforms in this category have made genuinely different decisions, and the gap between the best and the worst is large. Knowing which one you are on tells you how much work is left.
- Base44 does the most for you: crawlers get fully rendered pages including structured data, and it generates both sitemap.xml and robots.txt automatically.
- Lovable renders on the server for apps created from 13 May 2026, and pre-renders for verified crawlers on older ones. Sitemaps and per-route metadata are still yours.
- Bolt keeps its SEO Boost pre-rendering behind a paid plan and a custom domain, and it does nothing until you explicitly ask for the metadata.
- v0 gives you Next.js on Vercel, so server rendering and a proper metadata system come free. One stray line can silently switch the metadata off.
- Replit has no opinion at all. It runs the code you gave it, so your rendering is whatever you built.
- Cursor is an editor and hosts nothing, so your situation was decided by the framework chosen in the first minute of the project.
Why does a new domain get nothing from Google?
A brand new domain has no history and no links pointing at it, which is exactly the condition under which Google is slowest to trust anything. The advice to be patient is not wrong, but it is bad advice to act on alone, because it tells you to wait through the only period when waiting costs you the most.
AI assistants behave differently. They do not weigh domain age the way classical search does. If your page is the clearest available answer to the question somebody asked, it can be cited while the domain is still weeks old.
This changes what is worth preparing at launch. The assistant channel can open in weeks while the search channel takes months, so the pages that answer real questions are the ones to write first.
Can ChatGPT send traffic to a brand new domain?
Kurli is a small AI app that recommends hairstyles from a selfie. Its domain, kurli.me, was registered on 27 July 2026, which is a matter of public record in WHOIS.
In the first 25 days of that domain existing, ChatGPT sent it 56 visitors and Google Search sent 23. The AI assistant was the larger front door by more than two to one, on a domain younger than a month.
The absolute numbers are small and we will not pretend otherwise. The ratio is the interesting part, and the reason behind it is not clever technique. Kurli did not build one page saying "AI hairstyle tool". It built guides organised by face shape, by hair type, by length, separately for men and women, plus sections on colour, on bangs, on thinning hair, on styles that work with glasses. Every one of those is a question a real person asks.
Why can a one-page app never rank?
Think about what a search engine or an assistant is actually doing. Somebody asks a question, and the system looks for the clearest available answer to that specific question. An app with one page offers one answer, so it can match at most one question, while your potential users are asking dozens of different ones.
Worse, the one question your homepage answers is "what is this product", which nobody asks, because they have never heard of your product. People search for their problem, in the words of somebody who has that problem and does not yet know what the solution is called.
Somebody with a messy spreadsheet does not search for "AI spreadsheet cleaner". They search "how do I merge two lists in excel without duplicates". Somebody unhappy with their hair does not search "AI hairstyle tool". They search "what haircut suits a heart shaped face". If your only page is about your product rather than their problem, there is no question you are the best answer to.
How do you find the questions worth answering?
This part costs nothing but an afternoon, and it is the highest-value work available to you.
- Write down twenty questions about the problem your app solves, phrased the way somebody would phrase them before they know what the solution is called.
- Type each one into Google and read the People Also Ask box and the Related Searches at the bottom. Both are lists of real questions real people ask. You will finish with thirty or forty.
- Ask ChatGPT the five most important ones and note who gets cited. That is your actual competition, and it is often not who you assumed.
- Pick ten and write real pages. Real means several hundred words at minimum, written by somebody who understands the subject.
- Link each page to your tool. Somebody who has just read four hundred words about their exact problem is in a good frame of mind to try something that solves it.
What technical SEO does a vibe-coded app actually need?
None of this makes you findable on its own. It makes you readable, which is the prerequisite. Do it in this order, because doing it out of order is how people end up paying for a plan and seeing no change.
- Buy your own domain before you publish content. Moving published pages later means redirects, and redirects arranged in a hurry lose things.
- Make sure crawlers receive real HTML, by whatever mechanism your platform uses.
- Give every page its own title and description, each written as the answer to that page’s question rather than as a brand slogan.
- Add a sitemap at /sitemap.xml, generated from the same source as your pages if they are data-driven, then submit it in Google Search Console.
- Check robots.txt is not blocking you. The classic failure is a Disallow: / left over from development, which removes you from search entirely and reports no error anywhere.
- Decide deliberately whether you allow GPTBot, ClaudeBot, PerplexityBot and Google-Extended. An assistant cannot cite a site it is not allowed to read.
- Add structured data where it truthfully applies: SoftwareApplication on the homepage, Article on guides, FAQPage where there are genuine questions and answers.
Every part of this, in detail
Each section below is a full guide of its own, on one specific piece of the problem.
- Lovable: Somebody told you to run a free SEO checker and it came back saying your site is empty. According to Lovable’s own documentation, that tool was looking at something Google never sees.
- Bolt: Bolt documents exactly what it does, which is unusual in this category. The trouble is that the defaults leave a new app completely unreadable to search engines until you take three deliberate steps.
- v0: v0 builds Next.js on Vercel, so server rendering and the Metadata API come free. That makes the traps that do still apply worth knowing precisely, because they are quiet ones.
- Replit: Lovable, Bolt and Base44 all decide how your app is served to crawlers. Replit decides nothing. It runs your code, so the first question is not which setting to change but what you actually built.
- Base44: Most articles about getting a vibe-coded app found are, underneath, articles about rendering. On Base44 you can skip essentially all of it, which is uncomfortable, because it leaves the actual reason nobody is finding you.
- Cursor: Cursor writes code with you. It hosts nothing, serves nothing to a crawler, and has no SEO features to enable or overlook. Whatever is happening to your app in search was decided somewhere else.
Questions people ask
- Why is my vibe-coded app not showing up on Google?
- Either crawlers cannot read it or there is nothing on it worth ranking. If your page source shows an empty div and a script tag, the content only exists after JavaScript runs and Google is receiving nothing. If the content is there and you still get no traffic, the app is almost certainly a single page, and one page can only be found for one thing.
- How do I check whether Google can read my app?
- Use Google Search Console rather than a third-party checker. Inspect a specific URL, test the live URL, and read the rendered HTML Google itself fetched. That is the only definitive evidence. Free SEO scanners are not on most verified crawler lists, so they frequently report an empty page while Google receives your full content.
- Which vibe coding platform is best for SEO?
- Base44 does the most automatically: pre-rendering for crawlers with structured data included, plus an automatic sitemap and robots.txt on both free and paid tiers. v0 gives you the strongest foundation through Next.js server rendering. Bolt requires a paid plan and a custom domain before crawlers see anything at all.
- Can ChatGPT send traffic to a brand new website?
- Yes, and often before Google does. Kurli registered its domain on 27 July 2026 and received 56 visitors from ChatGPT against 23 from Google Search in the first 25 days. Assistants do not weight domain age the way classical search does, so a genuinely useful page can be cited while the domain is still new.
- How many pages does my app need?
- Ten pages answering ten real questions will do more than any platform setting. The number matters less than the specificity. Each page should correspond to a question somebody actually types or asks an assistant, and each should be substantial enough to be worth reading. Thin pages produced in bulk are a known way to get a whole site treated as low quality.
- Do I need a custom domain?
- Yes, and buy it before you publish content rather than after. On Bolt it is a hard requirement, because SEO Boost will not turn on without one. On Base44 the entire SEO arrangement assumes one. Everywhere else, any reputation a platform subdomain accumulates belongs to the platform rather than to you, and moving later means redirects.
- Should I rebuild my app in Next.js to fix SEO?
- Usually not. If your pages are known ahead of time, pre-rendering them at build time is far cheaper and gets you the same result. A migration is only worth it when your pages genuinely depend on data that changes per request. Many people rebuild when their rendering was never the problem in the first place.
- How long before any of this works?
- The assistant channel can open within weeks, because citation depends on being the clearest answer rather than on domain authority. Classical search on a new domain usually takes months. Install analytics before you start changing things, otherwise you will work for a month with no way of telling whether any of it helped.
Keep reading
Would you rather somebody just did this
We will look at what search engines and AI assistants are actually receiving from your app, tell you plainly what is missing, and build the pages that answer the questions your users are asking.
Have Licheo make it findable See the case study