Generator Settings
Mode
Single URL
Bulk list
Page URL
*
Paste the messy URL as it appears in the wild — normalization is applied below.
One URL per line
https://example.com/product?color=red&utm_source=ads https://example.com/Blog/Post/ https://example.com/page?b=2&a=1
Normalization
Force HTTPS
Canonicals should always point at the secure version.
Strip tracking parameters
utm_*, gclid, fbclid, msclkid, mc_cid and friends.
Remove fragments (#…)
Fragments are never part of a canonical URL.
Sort remaining query parameters
?a=1&b=2 and ?b=2&a=1 become one URL.
Lowercase the path
Only if your server treats paths case-insensitively.
Strip “www.”
Pick one host form and stay consistent site-wide.
Strip ALL query parameters
Aggressive — breaks paginated and filtered pages that should be indexed separately.
Trailing slash
Leave as-is
Always add
Always remove
Whichever you choose, it must match what your server actually serves with a 200 — a canonical to a redirecting URL is ignored.
Canonical target override
Set this only when consolidating a duplicate into a different page (e.g. a print view into the article).
Output
HTTP Link header form
Needed for PDFs and other non-HTML documents.
Add og:url
Keeps social shares pointing at the canonical.
Framework snippets
Next.js, WordPress, React Helmet.
Generate canonical
Generated Tag
ready
Output
Normalization
Rules & pitfalls
canonical.html
Copy
Download