Your canonical tag points to lovable.app or vercel.app: point it at your own domain

Updated Oct 27, 2026 · Pewterkit Guides

<link rel="canonical"> tells Google which address is the main copy of a page. If yours still says https://yourapp.lovable.app/ or https://yourapp.vercel.app/ after you moved to your own domain, you are asking Google to credit the builder's address instead of yours. Change the canonical to the full address on your custom domain, make the custom domain your primary one, and send the old address there with a redirect.

What canonical does

Google's duplicate-URL guide calls rel="canonical" "A strong signal that the specified URL should become canonical", and a permanent redirect is "A strong signal that the target of the redirect should become canonical" too. Two details:

  • The element "is only accepted if it appears in the <head> section" of the HTML.
  • "Use absolute paths rather than relative paths", for example https://www.example.com/pricing.

The fix

<!-- before: copied from the template or the first publish -->
<link rel="canonical" href="https://acme-shifts.lovable.app/" />

<!-- after -->
<link rel="canonical" href="https://www.acmeshifts.com/" />

Then keep the signals consistent:

  1. Make your domain the primary one. Lovable: "You can choose one primary domain", and other connected domains redirect to it. On other hosts, set the custom domain as the production domain and redirect the platform address to it where the host offers that.
  2. Match og:url to the same address.
  3. Use the custom domain in sitemap.xml; see add a sitemap.xml.
  4. Per-page canonicals in a single-page app come from code that runs after load. Keep the index.html default pointed at your domain's homepage, and for inner pages set each page's own address, not the homepage's. Lovable's SEO review flags "Canonical URLs point to the homepage" for exactly this.

Reading Search Console

The Page indexing report statuses you may see while this settles:

  • "Duplicate without user-selected canonical": "This page is a duplicate of another page, although it doesn't indicate a preferred canonical page." Add a canonical.
  • "Alternate page with proper canonical tag": "This page correctly points to the canonical page, which is indexed, so there is nothing you need to do."
  • "Duplicate, Google chose different canonical than user": Google thinks another URL is the better canonical. Check your redirects, sitemap and internal links all agree.

What Pewterkit Check looks for

A free check reads the <link rel="canonical"> in your homepage's HTML. It flags a canonical on a builder or platform host (lovable.app, vercel.app, netlify.app, pages.dev, replit.app and similar) when the page is served from your own domain, and notes a canonical pointing at a different site.

FAQ

What's a canonical tag example?

<link rel="canonical" href="https://www.example.com/pricing" /> in the <head> of the pricing page, with the full address.

Does every page need a canonical?

Google calls none of the methods required. It helps when the same page answers on several addresses, which is the case for any app that also lives on a builder's subdomain.

Will my lovable.app address hurt my domain?

It splits the signals when both addresses serve the same pages. Pointing the canonical at your domain, making it the primary domain and redirecting the old address brings them together.

How do I fix "Alternate page with proper canonical tag"?

Search Console says there's nothing to fix: the page correctly points to an indexed canonical.

Sources

  1. Google Search Central: How to specify a canonical URL — read 27 Oct 2026: rel=canonical in the head, absolute URLs, redirects as signals
  2. Search Console Help: Page indexing report — read 27 Oct 2026: duplicate and alternate page statuses
  3. Lovable docs: Automatic SEO features — read 27 Oct 2026: primary domain, canonical findings

How this page was made: drafted with AI from the sources listed, reviewed by Pewterkit. Docs checked Oct 27, 2026. Spotted something out of date? Tell us.

Related guides