Staging or preview canonical on production
If the live site sets its canonical to staging, a Webflow.io preview, a tunnel host, or any other non-production URL, Google may treat that preview as the main version. Your real domain then looks like a duplicate.
What it means
rel=canonical is a hint. When production points at a weak or noindexed host, rankings and indexing often move away from the live domain.
Common after CMS clones, "publish staging first" workflows, hard-coded base URLs in templates, or leftover preview domains after a migration.
Google's guide on
specifying a canonical URL
is the reference; if GSC disagrees with your tag, check
canonicalization troubleshooting.
How to confirm
- View source on the homepage and key templates. Find
<link rel="canonical" href="...">. - In GSC URL Inspection, compare "User-declared canonical" with "Google-selected canonical."
- Search
site:yourdomain.comand see if preview hosts show up as the indexed URL.
curl -s https://example.com/ | grep -i 'rel="canonical"'
How to fix
- Make production templates self-canonical to the public HTTPS URL (right host, HTTPS, no preview subdomain).
- Fix the CMS site URL / primary domain so generated tags stop inventing staging hosts.
- Put
noindexon real staging and preview hosts so they cannot win as the preferred URL. - After you fix canonicals, request indexing on the important production URLs.
How it comes back
Wrong env config in production, theme options synced from staging, reverse proxies rewriting Host badly, marketing tools injecting preview domains. Check the canonical host on every launch, not just the first go-live.
We built Jerilo to catch breaks like this early.