Ten pages sharing one title look like one page repeated
This is the most common real defect in vibe-coded apps, it is invisible while you use the site, and it is entirely fixable in an afternoon.
Run the free checkMost AI-built apps ship a single set of meta tags in one HTML file, so every route shares one title, one description and one preview image. A search engine reading ten pages with identical labels sees something that looks like one page repeated. Each route needs its own title and description, written as an answer to the question that route addresses rather than as a slogan.
Why this happens by default
A single-page app has one HTML file. The title and description live in that file, in the head. Every route your app serves is that same file, so every route carries the same title.
When you use the site this is invisible, because the browser tab is not something anybody studies. It becomes visible only where it matters: in search results, in shared links, and to anything reading your pages programmatically.
Lovable's documentation is explicit that unique per-route values for the social preview tags are the developer's responsibility rather than something the platform provides. That is representative of the category rather than a criticism of one platform.
What a search engine concludes
Put yourself on the other side of it. A crawler fetches ten addresses on your domain. Every one returns the same title and the same description.
The most reasonable interpretation available is that these are ten addresses for the same page, which is a pattern search engines are specifically built to detect and collapse, because it is what low-quality sites do.
So the cost is not merely that your titles are unhelpful. It is that your ten genuinely different pages are being read as one, and nine of them are competing with the tenth rather than adding to it.
Fixing it in the code
The mechanism depends on your stack and the shape is the same everywhere: set the document title and the meta tags per page, at the point where that page renders.
In a plain React app, a small hook that sets document.title and updates the relevant meta elements, called at the top of each page component with values specific to that page, is enough. If you are asking an AI builder to do it, ask for exactly that and then check the result on a deep route rather than the homepage.
In a framework with a metadata system, use the system rather than manipulating the document yourself, because the framework will handle the server-rendered case that a browser-side hook cannot.
The check afterwards is simple. Visit three different routes and read the browser tab. If it changes, it works.
Writing a title when nobody knows your brand
Here is where most builders go wrong even after fixing the technical part, because they write titles for a brand that has recognition it has not earned yet.
A title leading with your product name is spending the most valuable position on a word the reader has never seen. They are scanning results for something that matches what they asked, and your name matches nothing in their head.
Lead with the answer or the subject instead, and put the brand at the end if at all. Not Kurli, the AI hairstyle advisor, but which haircut suits a round face, and the shape of that title tells the reader you answer their question.
Write it as the thing the person was looking for. That is the whole discipline, and it is the same discipline that makes a page citable by an AI assistant.
The description, and what it is really for
The meta description is not a ranking factor in any direct sense, and it is worth writing carefully anyway, because it is often what decides the click.
Search engines frequently replace it with a passage from your page that better matches the search. That is not a failure, and it means the description is a proposal rather than a guarantee.
Write it as a specific promise about what the page contains. Concrete details work better than adjectives here for the same reason they work everywhere: they tell the reader whether this page answers their question. A description saying comprehensive guide tells them nothing, and one saying the four checks, with the exact settings to change in each, tells them plenty.
Keep it to roughly one or two sentences. Longer gets truncated, and a truncated description that stops mid-thought reads as carelessness.
Doing the whole set in one pass
Once the mechanism works, write the values for every route in a single session, in one document, side by side. This matters more than it sounds.
Written one at a time over weeks, titles drift into repetition without you noticing, and you end up with four pages whose titles all begin with the same three words. Written together, the overlaps are obvious and you can differentiate them deliberately.
A useful test at the end: cover the addresses and read only the titles. If you cannot tell which page is which from the title alone, neither can a search engine, and neither can a person scanning a page of results.
Part of a larger guide
This page is one part of The fixes. The other parts:
Questions people ask
- Why do all my pages have the same title?
- Because a single-page app has one HTML file and the title lives in that file's head, so every route serves the same one. It is invisible while you use the site and becomes visible exactly where it matters, in search results and shared links.
- What does Google do with duplicate titles across pages?
- The most reasonable interpretation available is that these are several addresses for the same page, which is a pattern search engines are built to detect and collapse. The cost is not just unhelpful titles, it is that your different pages are read as one and end up competing with each other.
- Should my product name go in the title?
- At the end, if at all, while your brand is unknown. Leading with a name the reader has never seen spends the most valuable position on a word that matches nothing they are looking for. Lead with the answer or the subject instead.
- Does the meta description affect rankings?
- Not directly, and it often decides the click, which is why it is worth writing carefully. Search engines frequently replace it with a passage from your page that better matches the search, so treat it as a proposal rather than a guarantee.
- How long should a meta description be?
- Roughly one or two sentences. Longer gets truncated, and a description that stops mid-thought reads as carelessness. Concrete specifics work better than adjectives, because they tell the reader whether this page answers their question.
- How do I check my titles are actually unique?
- Visit three different routes and read the browser tab to confirm the mechanism works. Then write every route's title in one document side by side, cover the addresses, and read only the titles. If you cannot tell which page is which, neither can a search engine.
Keep reading
Find out how many of your pages share a title
The free Get Found Check reads your routes and reports duplicate titles and descriptions, along with the rest of the technical list.
Run the free check Have Licheo do it for you