Canonical Tag Generator
Clean up URLs and get rel="canonical" tags — for one URL or thousands.
Rules
Tracking parameters removed
utm_*, gclid, gclsrc, dclid, gbraid, wbraid, gad_source, gad_campaignid, _ga, _gl, srsltid, fbclid, igshid, igsh, msclkid, twclid, ttclid, li_fat_id, epik, sccid, rdt_cid, yclid, ymclid, _openstat, mc_cid, mc_eid, _hsenc, _hsmi, __hssc, __hstc, __hsfp, hsctatracking, mkt_tok, _kx, oly_anon_id, oly_enc_id, vero_id, vero_conv, s_kwcid, ef_id
Canonical URL
Changes
HTML — in the <head> of every version of the page
HTTP header — for PDFs and other files
Results
| Line | Original | Canonical | Changes |
|---|
About the Canonical Tag Generator
The same page is often reachable at many addresses: with and without www, over http and https, with utm_source or gclid tracking parameters, with #fragments or parameters in a different order. A canonical tag tells search engines which address is the real one, so links and signals are consolidated on it.
Paste a URL and the tool normalises it — https, lower-case domain, default port removed, your www choice, tracking parameters stripped, parameters sorted, fragment removed — and lists every change it made. You get the <link rel="canonical"> tag and the equivalent HTTP Link header. Bulk mode cleans thousands of URLs at once and shows how many distinct pages they really are.
How to use it
- Paste a URL, or switch to Bulk and paste one URL per line.
- Choose the options: www (keep, add or remove) and trailing slash should match the address your site actually serves.
- Read the list of changes and check the result opens the right page.
- Copy the
<link rel="canonical">tag into the<head>of every duplicate (and of the canonical page itself), or send theLinkheader for PDFs and other files.
Examples
HTTP://WWW.Example.com:80/Shop/Shoes/?utm_source=newsletter&color=red&utm_medium=email&size=9&fbclid=IwAR2x#reviews
https://www.example.com/Shop/Shoes/?color=red&size=9 <link rel="canonical" href="https://www.example.com/Shop/Shoes/?color=red&size=9">
The path keeps its capital letters: paths are case-sensitive, so lower-casing is an opt-in.
Canonical tag or redirect?
Google ranks the methods by strength: redirects are a strong signal, rel="canonical" (the tag or the HTTP header) is a strong signal, and listing a URL in a sitemap is a weak one. Use them like this:
- Redirect when you retire a duplicate — for example, moving from http to https, or choosing between
wwwand non-www. A permanent server-side redirect (301 or 308) takes effect fastest. - Canonical tag when the duplicates must stay reachable: tracking parameters, sorting and filter parameters, print versions, the same product in several categories.
- Add a self-referencing canonical on the canonical page itself.
- Use absolute https URLs; Google prefers HTTPS pages as canonical.
- Don’t send mixed signals: don’t point the sitemap at one URL and the canonical at another, and don’t use robots.txt or
noindexto choose canonicals. - With hreflang, point to a canonical in the same language.
Source: Google’s guide to consolidating duplicate URLs.
What the normaliser changes — and what it leaves alone
- Always: lower-cases the domain, removes default ports (
:80,:443), user names and passwords, and normalises percent-encoding (%7e→~,%c3%a9→%C3%A9). - On by default: switches to https, removes tracking parameters (
utm_*,gclid,gbraid,wbraid,fbclid,msclkid,twclid,ttclid,li_fat_id,mc_cid,_hsenc,mkt_tok,yclid,srsltidand more), sorts the remaining parameters and removes the#fragment. - Off by default: lower-casing the path and changing the trailing slash, because
/Pageand/page, or/pageand/page/, can be different pages on your server. Turn them on only to match what your site really serves. Addingwww.is applied to the main domain only, never to other subdomains.
Limitations
- The tool doesn’t open the URLs, so it can’t confirm that the canonical address works or which variant your server prefers — check it in a browser (and in Search Console’s URL Inspection).
- Parameters it doesn’t know as tracking-only are kept, because they may change the page. Add any others (such as session IDs) under “Also remove”.
- Bulk mode handles up to 50,000 URLs at a time.
Privacy
Everything happens in your browser. What you enter or open here is not uploaded or stored by MySmartCoPilot.
Frequently asked questions
Does every page need a canonical tag?
It isn’t required — Google says most sites do fine without specifying one — but a self-referencing canonical on each page is a cheap way to make your preferred URL explicit, especially when tracking links point to the page.
Should I use the link tag or the HTTP header?
Either works for HTML pages; use only one of them, because using both at the same time is more error-prone. The Link: <…>; rel="canonical" header is the only option for PDFs and other files without a <head>.
Does Google always use my canonical?
No. A canonical tag is a strong signal, not a command. Google also looks at redirects, sitemaps, internal links and HTTPS, so keep them consistent with the canonical you declare.
Can the canonical URL be relative?
Relative URLs are supported, but Google recommends absolute URLs because relative ones can cause problems later — for example if a staging copy of the site gets crawled.
Are /page and /page/ the same URL?
No — they are different URLs, even if your server shows the same content for both. Pick one form, redirect the other to it, and use that form in canonicals, sitemaps and internal links.