Redirect vs Canonical Tag: Which to Use
When to use a redirect vs a canonical tag for duplicate content. Covers the key differences, common scenarios, mistakes, and how to use both together.
Redirects and canonical tags both solve the same fundamental problem: multiple URLs pointing to the same content. But they solve it in completely different ways, and using the wrong one creates problems that can quietly erode your search rankings for months.
A redirect physically sends visitors and search engines from one URL to another. The old URL stops serving content entirely.
A canonical tag leaves both URLs accessible but tells search engines which one to treat as the primary version.
The decision comes down to one question: should the old URL still exist? If yes, use a canonical tag. If no, use a redirect. The rest of this article covers the scenarios where that decision gets complicated. For the full background on redirect types, see the HTTP Redirect Guide.
How Redirects Work
A redirect is a server-side instruction. When a browser or search engine crawler requests the old URL, the server responds with a 301 or 302 status code and a Location header pointing to the new URL.
Request: GET /old-page HTTP/1.1
Response: HTTP/1.1 301 Moved Permanently
Location: /new-page
The visitor never sees the old URL's content. They are sent to the new URL automatically. Search engines follow the redirect and, for 301s, transfer ranking signals to the new URL over time.
Key characteristics of redirects:
- The old URL returns no content, only a redirect response
- Visitors cannot access the old URL's content
- Search engines eventually remove the old URL from the index
- Link equity flows from the old URL to the new one (for 301s)
- Requires server-side configuration
How Canonical Tags Work
A canonical tag is an HTML element in the <head> section of a page. It tells search engines: "This page exists, but the preferred version is over here."
<!-- On page https://example.com/shoes?color=red -->
<link rel="canonical" href="https://example.com/shoes" />
Both URLs remain accessible. Visitors can still reach both pages and see their content. But search engines are told to consolidate ranking signals on the canonical URL and typically show only that URL in search results.
Key characteristics of canonical tags:
- Both URLs remain live and accessible
- Visitors can reach either URL and see content on both
- Search engines treat the canonical as a hint, not a directive
- Link equity is consolidated on the canonical URL
- Implemented in HTML, no server configuration required
That last point is important. Because the canonical tag is a hint, Google may ignore it if other signals contradict it. If a page has a canonical tag pointing to another page but the two pages have substantially different content, Google may decide the canonical tag is wrong and index both pages anyway.
When to Use a Redirect
Use a redirect when the old URL should stop functioning as a standalone page.
The Page Has Permanently Moved
You changed your URL structure from /blog/2024/my-post to /articles/my-post. The old URL should not serve any content anymore. Everyone, visitors and search engines, should end up at the new URL.
This is the clearest redirect scenario. Use a 301.
You Merged Two Pages
You had separate pages for "Widget A" and "Widget B" and combined them into a single "Widgets" page. The old individual pages should no longer exist. Redirect both to the merged page.
You Changed Your Domain
You moved from oldbrand.com to newbrand.com. The old domain should forward everything to the new one. A canonical tag would not work here because you want to completely transition authority to the new domain.
You Switched to HTTPS
All HTTP URLs should redirect to their HTTPS equivalents. There is no reason for the HTTP version to remain accessible. Use a 301 redirect. For details, see our HTTP to HTTPS redirect guide.
www vs non-www
Pick one version (www.example.com or example.com) and redirect the other to it. Both should not serve content independently. A canonical redirect is the standard approach here. See what is a canonical redirect for implementation details.
When to Use a Canonical Tag
Use a canonical tag when both URLs should remain accessible but you want search engines to treat one as the primary version.
Parameter URLs
Your e-commerce site has URLs like:
/shoes (canonical)
/shoes?color=red (filtered view)
/shoes?sort=price-low (sorted view)
/shoes?page=2 (paginated view)
/shoes?ref=newsletter (tracking parameter)
All of these show variations of the same content. You want users to be able to use all of them (the filters and sorting are useful), but you want Google to index only /shoes. A canonical tag on each variant pointing to /shoes achieves this.
Redirecting parameter URLs would break your site's functionality. Users clicking "filter by red" would be sent back to the unfiltered page.
Print or Mobile Versions
Some sites serve a separate print-friendly or mobile-specific version of a page:
/article/my-post (canonical)
/article/my-post?print=1 (print version)
/m/article/my-post (mobile version)
Both versions should be accessible to users who need them, but only the primary version should appear in search results. Canonical tags handle this.
Syndicated Content
If your content appears on both your site and a partner's site (with permission), the partner should include a canonical tag pointing to your original version. This tells search engines where the content originated and where to direct ranking signals.
AMP Pages
If you have AMP (Accelerated Mobile Pages) versions alongside standard pages, canonical tags tell search engines the relationship between the two versions. The AMP page points to the standard page as the canonical.
Check your canonical and redirect setup
Trace any URL to see its redirect chain and verify that your redirects and canonicals are working together correctly.
Pagination
For paginated content (page 1, page 2, page 3), each page should have a self-referencing canonical. Do not canonical all pages to page 1 because pages 2, 3, etc. have different content. Google deprecated rel="prev" and rel="next", so self-referencing canonicals plus a well-structured sitemap is the current best practice.
Sitemaps play an important role here. Including your canonical URLs (and excluding non-canonical variants) in your sitemap reinforces the signal. For best practices on sitemap structure, see sitemap best practices.
Common Mistakes
Using Canonical Tags When You Should Redirect
If you redesigned your URL structure and the old URLs should not exist anymore, a canonical tag is the wrong tool. Canonical tags are hints that search engines can ignore. If Google decides the old URL is better (maybe it has more backlinks), it may keep indexing the old URL despite your canonical tag.
A 301 redirect is a directive. The server does not serve the old content. There is no ambiguity.
Redirecting When You Should Use Canonical Tags
Redirecting parameter URLs breaks site functionality. Redirecting paginated pages prevents users from accessing page 2 and beyond. If users need to reach both URLs, do not redirect.
Canonical Tags on Substantially Different Content
A canonical tag says "these pages have the same content; prefer this one." If the pages have meaningfully different content, Google may ignore the canonical. Do not use canonical tags to try to consolidate pages that are about different topics.
Canonical Tag Chains
A canonical tag that points to a page with its own canonical tag pointing elsewhere creates a chain. Google may follow one hop but does not guarantee it will follow multiple hops. Always point canonical tags directly to the final preferred URL.
Conflicting Signals
If page A has a canonical tag pointing to page B, but page B redirects to page C, you are sending mixed signals. Search engines have to guess what you intended. Clean this up so the canonical and redirect point to the same final destination.
Using Redirects and Canonical Tags Together
In some cases, you use both tools as part of the same strategy.
www/non-www with parameter URLs. You redirect www.example.com to example.com (redirect), and then use canonical tags on parameter variations of example.com/page?sort=date pointing to example.com/page (canonical). The redirect handles the domain-level consolidation. The canonical handles the page-level variations.
HTTPS migration with duplicate content. You redirect HTTP to HTTPS (redirect), and then use canonical tags to handle any remaining duplicate content issues on the HTTPS version (canonical).
Domain migration with parameter URLs. Redirect the old domain to the new domain (redirect). On the new domain, use canonical tags for parameter variations (canonical).
The general pattern: redirects handle URL-level changes (this URL no longer exists, go there instead), while canonical tags handle content-level signals (both URLs exist, but prefer this one for indexing).
Decision Framework
Here is a quick reference for the most common scenarios:
| Scenario | Use | |----------|-----| | Page permanently moved to new URL | 301 redirect | | Domain changed | 301 redirect | | HTTP to HTTPS | 301 redirect | | www to non-www (or reverse) | 301 redirect | | Two pages merged into one | 301 redirect | | URL parameters (filters, sorting) | Canonical tag | | Tracking parameters (?utm_source, ?ref) | Canonical tag | | Print/mobile versions | Canonical tag | | Paginated pages | Self-referencing canonical | | AMP + standard pages | Canonical tag | | Syndicated content | Canonical tag | | A/B test variants | 302 redirect or canonical (depends on setup) | | Temporary maintenance page | 302 redirect |
When in doubt, ask: "Should users still be able to access both URLs?" If yes, use a canonical tag. If no, use a redirect. This simple test gives you the right answer in the vast majority of cases.
How Search Engines Process Each
Google's crawler handles redirects and canonical tags at different stages of its pipeline.
Redirects are processed during crawling. When Googlebot encounters a 301, it follows the redirect, fetches the destination page, and records the redirect relationship. Over time, it drops the old URL from the index and replaces it with the new one. For 301s, Google has confirmed that full PageRank passes through.
Canonical tags are processed during indexing. Googlebot fetches the page, reads the canonical tag, and uses it as one signal among many to decide which URL to index. Other signals include the number of internal links to each URL, which URL appears in the sitemap, and which URL has more external backlinks. If signals conflict, Google makes its own judgment call.
This difference matters. A redirect gives you deterministic control: the old URL will stop appearing in search results because it no longer serves content. A canonical tag gives you probabilistic influence: Google usually respects it, but not always.
For more on how redirects specifically affect rankings, see redirect SEO impact.
Implementation Checklist
When implementing either solution:
- Audit your duplicate URLs. Identify all URLs that serve the same or similar content.
- Categorize each pair. Should the old URL still exist? Sort into redirect vs canonical buckets.
- Implement redirects first. They are more authoritative and clear-cut.
- Add canonical tags to remaining duplicates. Point each to the preferred version.
- Update your sitemap. Include only canonical URLs. Remove redirected URLs.
- Verify the setup. Use a redirect tracing tool to confirm redirects work. Use Google Search Console's URL Inspection tool to verify Google is respecting your canonical tags.
- Monitor Search Console. Check the "Pages" report for unexpected canonical selections. Google tells you when it picks a different canonical than the one you specified.
Getting this right is not a one-time task. Every time you restructure URLs, add parameters, or create content variations, revisit the redirect vs canonical decision for the affected pages.
Verify your redirect setup
Trace any URL to see the full redirect chain, status codes, and final destination. Catch conflicts between redirects and canonicals.
Try Redirect Tracer