New 58+ tools are now available — built to keep your workflow moving.

Canonical Tag Builder

Build a canonical link tag from any URL, and see every variant it has to cover — scheme, www, trailing slash and query string.

The page the canonical tag should point at. A missing scheme is assumed to be http, and a bare host is treated as the site root.

A canonical tag is a hint about which URL to index, not a redirect, so it only settles the question if every variant it lists really does serve the same content. The result shows each of those URLs so you can check them against what your server actually does.

Choose a file first — Run stays disabled until the file is selected.

File ready — press Run to start.

Optimizing your file…

Your result is ready — download it below:

Re-encoded without size gain Download links expire within 30 minutes.

This image appears to be already optimized — try a lower quality setting for a smaller file.
No logo or watermark was detected in the marked corners — your images were delivered unchanged.

No result to display for the current input.

Canonical Tag Builder Online

Build a canonical link tag from any URL, and see every variant it has to cover — scheme, www, trailing slash and query string.

Build A Canonical Tag And See What It Has To Cover

A canonical tag is one line of HTML, and the reason it goes wrong is almost never the line itself. It points at a redirect, it is relative instead of absolute, it disagrees with the sitemap, or the page it names is not indexable. This builder takes the URL, applies the decisions a canonical tag implies — scheme, host, www, trailing slash, query string — and hands back the tag together with every URL form a crawler can reach the same page by. Seeing those variants next to the tag is the point: a canonical tag only settles the question if they really do all serve the same content.

What A Canonical Tag Actually Does

It is a hint about which of several URLs should be indexed, not a redirect. Visitors can still reach any of the others, and the tag does not stop them. That distinction matters more than it sounds: many people add a canonical tag expecting it to fix a redirect chain, when in fact a tag pointing at a redirecting URL is ignored, and the fix is to remove the extra hop so the target returns 200 directly.

It is also per page. One page gets one canonical tag, pointing at the URL you want indexed. Cross-page canonicals — where /page-a points at /page-b — are for genuine duplicates such as a print view or a paginated listing, and they consolidate ranking signals rather than redirecting anyone.

The Four Decisions The Tag Encodes

Most canonical problems are really disagreement about one of four things. Scheme: the same page on http and https is two URLs, and the tag should name the https one with the other redirected, not tagged. Host: example.com and www.example.com are separate URLs unless one redirects to the other, and the tag settles which is the real one. Trailing slash: /page and /page/ are different paths to most servers, which is why the tag needs to match whatever your routes actually do. Query string: parameters that select content belong in the canonical URL, and parameters that identify a campaign click do not.

Each of those is a dropdown here, so the tag reflects your decision rather than a guess. The output then lists the resulting variants so you can confirm the others really are the same page.

Why The Tag Gets Ignored

Four situations cause a canonical tag to have no effect, and all four are worth checking before you assume a bug. The target URL redirects, so the crawler never sees a tag on a 200 response. The target is blocked in robots.txt or marked noindex, so it cannot be selected as canonical. The tag is relative rather than absolute and the crawler cannot resolve it, or it is malformed, commonly a missing closing slash. Or the page has two canonical tags pointing at different URLs, which leaves the crawler to choose and produces exactly the inconsistency the tag was meant to remove.

There is also the hreflang interaction: if you have hreflang annotations, each needs its own self-referencing canonical, and they must agree with each other.

Campaign Parameters And Duplicate Content

Ad platforms and analytics append parameters like utm_source and gclid to links they send, which means the same page gets indexed under dozens of URLs that differ only in a campaign identifier. Each is a distinct URL to a crawler, and together they dilute the signals for the page you actually want ranked. The tool lists the campaign parameters it finds so you can strip them from the canonical URL.

It reports them rather than removing them silently, because a query string is sometimes genuinely part of the page — a filtered product listing or a paginated view can depend on its parameters, and stripping those from the canonical tag would merge pages that are not the same.

Using The Result

Copy the tag into the <head> of the page it describes, not onto every page. It should be self-referencing: the canonical on /page points at /page. Use one per page, and if the page already has a tag, replace it rather than adding a second.

After deploying, confirm the target returns 200 and is indexable, and that the variants listed here resolve to the same content. If one of them returns something different, a canonical tag cannot reconcile that, and the real fix is at the routing or redirect layer.

Frequently asked questions

Does a canonical tag redirect visitors?

No. It is an indexing hint, and anyone visiting the non-canonical URL still lands on the page. If you need visitors sent somewhere else, that is a redirect, and it is a separate piece of configuration.

Should every page have a self-referencing canonical tag?

It is a reasonable default on a small site, because it makes the intended URL explicit and the variants unambiguous. On a large site it adds a line of HTML to every page for little gain if the routing already settles the question, and the more valuable use of a canonical tag is on pages that are genuinely duplicated.

Should the canonical tag be absolute or relative?

Absolute. Google has said a relative canonical is treated as a hint that may be ignored, and an absolute URL removes any question about what it is relative to. Always include the scheme and host.

What if my page already has a canonical tag?

Replace it rather than adding another. Two canonical tags pointing at different URLs leave the crawler to pick, which is the opposite of what a canonical tag is for. If a CMS or plugin adds its own, find out which one wins before adding yours.

Why is my canonical tag being ignored?

Almost always because the URL it points at redirects, or is blocked by robots.txt, or is marked noindex. A crawler only sees the tag on a 200 response it is allowed to index, so if the target cannot be fetched or cannot be indexed the hint cannot be acted on. A malformed or relative tag and a second conflicting tag are the other causes.

Do canonical tags and hreflang work together?

Yes, with care. Every URL in an hreflang set needs its own self-referencing canonical, and the canonical tags across the set must agree with the hreflang declarations. Where they disagree, Google ignores both.

Can I point one page at a different page?

Yes, that is what cross-page canonical is for, and it is the right tool for a genuine duplicate: a print view, a paginated listing, or the same content reachable under two paths. It consolidates ranking signals onto the target. It is not a redirect, and it should not be used to hide thin content.

Should I strip query parameters from the canonical tag?

Strip the ones that identify a campaign, such as utm_source or gclid, and keep the ones that select content, such as a filter or a page number. The tool lists which of the parameters it recognises as campaign parameters so you can decide with the page in front of you rather than by a blanket rule.

About this tool

Canonical Tag Builder writes the canonical link tag for a page and lists the URL forms a crawler can reach it by. Pick a URL, set the scheme, www, trailing slash and query string handling you want, and press Run.

  • Writes the exact link tag to paste into your head
  • Lists every scheme, www and trailing-slash variant it covers
  • Flags campaign parameters, fragments, double slashes and http
  • Explains when a canonical tag is silently ignored

Related tools