Skip to content
Greeto

Migration · Glossary

Canonical URL

Last updated June 29, 2026 · by Tal Gerafi

A canonical URL is the version of a page you tell search engines is the 'real' one when several URLs show the same or near-identical content, so ranking signals point to one address instead of being split.

A canonical URL is the address you nominate as the master copy of a page when the same or near-identical content can be reached through more than one URL. You declare it with a rel="canonical" tag (or HTTP header), and search engines fold the duplicates' signals into that one address. It is a hint, not a hard command — Google can pick a different URL if your signals conflict.

How does a canonical URL work?

Most sites accidentally serve the same content under several addresses: ?utm_source= tracking links, http and https, trailing slashes, paginated views, or print versions. To a crawler each one looks like a separate page. A canonical tag in the page <head> (<link rel="canonical" href="https://example.com/page" />) tells the engine which address to keep and which to treat as copies. Google then consolidates link equity, content signals, and indexing onto the canonical, while the duplicates usually stay out of the index.

A canonical is a suggestion. Engines weigh it alongside redirects, internal links, sitemaps, and hreflang. When those signals agree, the canonical is honored. When they fight each other — say the page canonicalizes to URL A but every internal link points to URL B — Google may override your choice. Clean, consistent signals are what make it stick.

Why canonical URLs matter for B2B sites

B2B sites generate duplicates fast: campaign UTM parameters, gated and ungated versions of one asset, filtered resource libraries. Without canonicals, those copies trigger index bloat and waste crawl budget, and ranking signals scatter across near-identical pages instead of stacking on one. The result is weaker, slower-to-rank pages.

Canonicals matter most during a migration. When you move from WordPress to Next.js, you pair a 301 redirect (move the URL) with a self-referencing canonical on every new page (confirm the destination). Our WordPress to Next.js migration SEO guide walks through that setup so equity transfers cleanly and old duplicates fall out of the index.

FAQ

Is a canonical URL the same as a 301 redirect?

No. A 301 redirect actually sends users and crawlers from one URL to another, so the old address stops serving content. A canonical leaves all the URLs reachable but tells search engines which one to index and credit. Use a redirect when a page has genuinely moved; use a canonical when duplicate or parameterized versions must stay live but should not compete with each other.

Should every page have a self-referencing canonical?

It's a common and safe practice. A self-referencing canonical (a page that points its canonical tag at its own clean URL) removes ambiguity, so accidental parameter or protocol variants consolidate onto the intended address. It is especially useful right after a migration, where it confirms the new destination alongside the 301 redirect from the old URL.

Does Google always follow the canonical I set?

Not necessarily. Google treats the rel="canonical" tag as a strong hint, then weighs it against your other signals — redirects, internal links, sitemaps, and hreflang. If those signals contradict the tag, Google can choose a different canonical. Keeping every signal pointed at the same clean URL is what makes your choice stick.