How to Set Canonical URLs Correctly in Webflow
To set canonical URLs correctly in Webflow, add one global canonical tag URL in Site settings, SEO. Use your full base URL, with the protocol, and no trailing slash. Then override it on a static page only when that page needs a different canonical.

Is your Webflow site slow, costly or hard to find?
Send me your siteWhy it matters
A canonical tag tells search engines which version of a page you prefer. Webflow says duplicate versions can come from http and https, www and the root domain, or URLs with filter or sort parameters.
Google says a canonical URL helps you control which URL shows in search results. It also helps consolidate signals, such as links, into one preferred URL. If you specify none, Google picks the best version itself.
A wrong canonical is worse than none. Webflow says that if a tag is missing or misconfigured, search engines may choose their own preferred URL.
How to check it
- View the page source. Search the head for rel="canonical". There should be exactly one.
- Read the URL. It should be absolute, use https and match the page.
- Open Site settings, SEO. Look at Global canonical tag URL. Check the protocol, www and trailing slash.
- Look for double slashes. If the global URL ends with a slash, subpage canonicals can look like //contact.
- Check static pages with overrides. Open the Pages panel, hover over the page and click Page settings. Open SEO settings and read Page canonical URL.
- Check a CMS page. Webflow's article describes page-level canonicals for static pages only, so check what a CMS page outputs in its source.
- Look for a second source. A tag added through Google Tag Manager or custom code can create a duplicate.
- Compare with Google. In Search Console, use URL Inspection. Compare your canonical with the Google-selected canonical.
How to fix it in Webflow
- Pick one preferred version. Choose your default domain, with or without www. Use https.
- Set the global canonical. Go to Site settings, then SEO, then Global canonical tag URL. Enter your base URL and save. Include the protocol. Include www if your default domain uses it. Exclude the trailing slash. Webflow combines the base URL with each page's slug to build the tag.
- Override only when needed. For a static page, open Page settings, then SEO settings, then Page canonical URL. Enter the full URL, starting with https://. It overrides the global tag for that page only. Save and publish.
- Do not double up. If another tool injects canonical tags, such as Google Tag Manager, do not set the global tag in Webflow. Webflow says multiple canonical tags may be ignored entirely.
- Retire true duplicates with 301 redirects. Go to Site settings, then Publishing, then 301 redirects. Google calls redirects a strong signal. It says to use permanent redirects only when you are retiring a duplicate page.
- Keep every signal in agreement. Google says not to give different canonicals for the same page through different methods. Link internally to the canonical URL. Keep canonical URLs in your sitemap. Google calls the sitemap a weak signal. It says combining methods improves the chance your preferred URL is used.
- Do not hide duplicates. Google says not to use robots.txt for canonicalization. It also says to avoid noindex for choosing a canonical within a site. In Webflow, turning off Sitemap Indexing adds a noindex tag.
- Publish and re-check. Global changes need a publish. Check the page source again. Then inspect a few URLs in Search Console.
Checklist
- Your preferred domain version is chosen.
- The global canonical URL has the protocol.
- It includes www only if your default domain does.
- It has no trailing slash.
- Source shows one canonical tag per page.
- Overrides are used only where needed.
- No other tool injects a second canonical.
- Duplicate pages are redirected with 301s.
- The sitemap and internal links use the canonical URL.
- Google-selected canonicals were checked.
FAQ
Do I need to set a canonical on every page?
No. The global tag covers every page, using your base URL and each page's slug. Add a page-level canonical only when a page needs a different one.
Can Google ignore my canonical?
Yes. Google treats rel="canonical" as a strong signal, not a command. Google also prefers https over http unless there are problems, such as an invalid SSL certificate.
Can I set a different canonical on a CMS item?
Webflow's article only describes a page-level canonical for static pages. Check the source of your CMS pages to see what they output.
Dealing with this on a live Webflow site? It is the kind of work I do in Webflow SEO and AEO. Send me your site and I will tell you what I would fix first.


