Control every public route.

Single page apps need route-level metadata: title, description, canonical, Open Graph and sitemap should all describe the same public URL.

Lovable SEO · 8 min read · Updated 2026-06-06

Per-route metadata

Create one metadata definition per public route and update the document head when the route changes. Dynamic records need a safe fallback when a slug is missing or a record cannot be loaded.

  • Keep the title under a useful search-result length.
  • Describe the actual page, not only the company.
  • Use one canonical URL format with HTTPS and the preferred host.
  • Set og:title and og:description to match the page.
  • Use noindex for intentional utility or private routes.

Sitemap and robots.txt

Include only indexable canonical URLs in the sitemap. Robots.txt can guide crawling, but it is not access control and should not be used to hide private data. Protect private routes through authentication.

  1. List public routes from the content model.
  2. Generate or maintain their canonical URLs.
  3. Check the published sitemap for staging or duplicate hosts.
  4. Submit it in Search Console and inspect priority pages.
If a route is rendered only after a client request, test what a crawler receives and consider a rendering strategy that exposes the primary answer reliably.

Metadata audit sequence

Work through these steps in order. Each one builds on the last, so resist skipping ahead even if a step feels familiar.

  1. Export every public route and its current title and description.
  2. Flag duplicates, missing values and titles copied from a template.
  3. Confirm each canonical points to itself, not to the homepage or a staging host.
  4. Check Open Graph images resolve to a real, absolute URL.
  5. Re-crawl after fixes and diff the results against the original export.

Common canonical mistakes

This comes down to a handful of concrete details. Work through the list below and flag the ones you have not covered yet.

  • Canonical pointing to a trailing-slash or non-trailing-slash variant that differs from the served URL.
  • Every paginated or filtered view canonicalising to the same page, hiding genuinely distinct content.
  • A staging or preview domain left in the canonical tag after launch.
  • Mixed HTTP and HTTPS canonicals across the same site.

Questions

A canonical tag tells search engines which URL is the authoritative version when similar content exists at multiple addresses. Noindex tells them not to index the page at all. Use canonical for duplicates you want consolidated, and noindex for pages that should never appear in search.

Not essential, but a shared fallback image plus unique images for key landing pages and articles improves click-through from social shares and messaging apps where a generic image looks unfinished.

Whenever routes are added, removed or renamed. For frequently changing content such as a blog, regenerate on publish rather than on a fixed schedule so new pages are discoverable immediately.

Want a technical SEO plan?

We find what's holding your rankings back and fix it in order of impact.