Canonical URL

A tag naming the one true version of a page, so duplicate URLs stop competing with each other in search.

telling Google which page is the real onethe master URLcanonical tagrel canonicalcannonical urlthe tag that stops duplicate pages competingwhich version of the page countspreferred URL for a page

See it

Live demo coming soon

What it is

The same content usually lives at several URLs: with and without a trailing slash, http and https, www and bare domain, plus every ?utm_source and ?ref variant of the same page. A canonical tag (<link rel='canonical' href='...'>) names the one version you want indexed, so ranking signals pile onto a single URL instead of splitting across near-identical copies.

Every indexable page should carry a self-referencing canonical pointing at its own clean absolute URL. Point elsewhere only when the primary content genuinely duplicates another page: a syndicated repost pointing back at the original, a print view, a product reachable through two category paths. Pagination and filters are the trap here. Page 4 of a listing holds different items than page 1, and a filter that changes the results changes the content, so those states should self-canonicalize. Collapsing them onto a primary page hides content you presumably wanted found. Search Console's Page Indexing report shows the URL Google actually picked, which is the only opinion that counts.

Gotchas: a canonical is a hint, not a directive, and Google overrides it when your signals conflict (internal links, sitemap entries, and redirects all vote too). Do not use it as a soft noindex, since the canonical target is what gets indexed. And the worst version of the bug is a template that hardcodes the homepage or the same URL on every page, which quietly de-indexes the entire site.

Ask AI for it

Add canonical URLs across this site. Emit a <link rel='canonical'> in the head of every indexable page pointing at its own absolute https URL with the site's chosen host (www or bare, pick one), the chosen trailing-slash convention, and all tracking parameters stripped. Before writing any cross-canonical, classify each variant as a true duplicate or as distinct content: self-canonicalize distinct pagination and filter states, and point only the genuinely equivalent duplicates at the selected canonical URL. Keep noindex pages out of the canonical set, and make sure the canonical, the internal links, the sitemap entry, and any redirect chain all agree on the same URL.

You might have meant

duplicate content301 redirectnoindexindexingslug

Go deeper