Canonical Tags vs 301 Redirects: Which Should You Use?

Should You Use a Canonical Tag or a 301 Redirect?
Use a 301 redirect when a URL has permanently moved and visitors should land on its replacement. Use a rel="canonical" tag when duplicate or very similar URLs must remain accessible, but one should be treated as the preferred version in search. Both are strong signals for Google, yet they work differently: a redirect changes where visitors go, while a canonical generally leaves the URL accessible and signals a preference.
Make the Right Choice Before Changing Your URLs
Website owners often discover two URLs showing the same article, an old WordPress slug still receiving visitors, or product pages that share much of their content. The temptation is to fix everything with a canonical tag or send every duplicate to the homepage. Neither is a reliable approach.
The real question is simple: should someone be able to visit the old or alternative URL and see its content? If the answer is no because the page has permanently moved, a server-side 301 redirect is usually the right choice. If the answer is yes because the URL supports a useful variation or tracking function, a canonical tag may be more appropriate. Start by reading the current page’s declared preference with the Canonical Tag Checker, then inspect actual status codes before editing any settings.
Canonical vs 301 Redirect: What Changes for Visitors and Google?
A canonical is an annotation, not a forwarding instruction. It may appear in the HTML <head> or, for certain non-HTML files, as an HTTP Link header. Visitors who open the duplicate address usually stay there. A 301 is an HTTP response telling browsers and crawlers that the requested resource has permanently moved to a new location.
| Question | Canonical tag | 301 redirect |
|---|---|---|
| Does the old URL still load its own content? | Usually yes, often with HTTP 200 | No; it sends visitors to the destination |
| What does it tell Google? | This is the preferred representative of similar content | This resource moved permanently to the destination |
| Does the browser address change? | Normally not | Yes, to the redirect destination |
| Best use | Accessible duplicates, tracking variants, certain product URLs | Retired slugs, site moves, consolidated pages with a direct replacement |
| Can Google choose a different canonical? | Yes; the tag is a strong hint | The redirect is a strong signal, but Google’s indexing is not guaranteed |
| Implementation location | HTML head or supported HTTP header | Web server, CDN, or WordPress redirect handler |
Google regards redirects and canonical annotations as strong canonicalization signals; inclusion in a sitemap is a weaker supporting signal. They are not interchangeable because only the redirect actually sends a visitor to another URL.

Eight Common Situations and the Better Choice
Use this decision table as a starting point. The details of the pages matter more than a generic rule about duplicate content.
| Situation | Usually choose | Why |
|---|---|---|
| Old WordPress slug permanently replaced by a new slug | 301 redirect | People and bots should reach the new permanent address |
Same article with ?utm_source=email |
Canonical to clean URL | The tracking variant can remain usable without competing in search |
| HTTP and HTTPS versions of a public page | 301 HTTP to HTTPS, with consistent canonical on HTTPS | Choose one secure, final address for users |
| Old domain moving permanently to a new domain | 301 with page-to-page mappings | A genuine site move requires traffic to follow the new domain |
| Product filter or variant that users must access separately | Evaluate canonical or separate indexable page | Distinct variants may deserve individual search visibility |
| Temporary maintenance or short-lived destination | 302 or 307 when a redirect is needed | A temporary change should not signal a permanent move |
| Deleted URL with no relevant replacement | 404 or 410 | Do not redirect unrelated content to the homepage |
| Two genuinely different articles | Neither consolidation method | Keep distinct pages indexable, normally with their own canonicals |
A canonical should not be used to erase meaningful content differences. Two articles about related subjects can share keywords without being duplicates. Likewise, a 301 to a loosely related page is not a good replacement for honest 404 handling when the old content no longer exists.
Example One: A Canonical for a Tracking URL That Must Still Work
Suppose an email campaign links to https://example.com/guide/?utm_source=email. The parameter records campaign attribution, but the actual guide is the same as https://example.com/guide/. Sending that URL through a site-wide redirect can be unnecessary and may complicate campaign tracking.
The tracking version can remain accessible while declaring the clean guide as its preferred representative:
<link rel="canonical" href="https://example.com/guide/">
Place that element in the HTML head of the duplicate response. The preferred guide should generally self-reference the same clean URL. Check that the canonical target loads successfully, is intended for indexing, and does not unexpectedly redirect or return a noindex directive. If you’re unsure whether the preferred page is technically eligible, review it with the Website Indexability Checker.
Tracking parameters are not the only reason to retain variants. Some ecommerce filters and product variations support meaningful user tasks. If their main content or search intent differs, automatically canonicalizing every variant to one parent page may hide useful pages from search. This is a content decision as well as a technical one.
Example Two: A 301 for an Article That Permanently Changed Its Slug
Now suppose your original article lived at https://example.com/old-guide/, but you have permanently moved it to https://example.com/new-guide/. The old URL has no reason to display a separate copy. A server-side 301 is the cleaner solution:
HTTP/1.1 301 Moved Permanently
Location: https://example.com/new-guide/
This is an illustrative HTTP response, not text to paste into a WordPress post. The redirect should be created through your server, CDN, or an appropriate WordPress redirect manager. The new URL should respond normally with the intended page and a canonical pointing to its final address.
Test the full response path with the Bulk HTTP Status and Redirect Checker. You want an old URL that returns 301 and a destination that returns the correct content, rather than a chain of several redirects or an unexpected 404. For the full migration checking process, see how to check 301 redirects after a website migration.
A permanent redirect is a stronger user-facing change than a canonical tag. Google says 301 and other permanent redirects do not inherently lose PageRank, although visibility may fluctuate temporarily as its systems recrawl and process the move. That does not mean an irrelevant redirect can manufacture rankings for the destination.
Why Using Both Signals Incorrectly Can Cause Confusion
Combining signals can be useful when they agree. For example, the HTTP version of a page can redirect to HTTPS while the final HTTPS page declares itself canonical. The problem arises when different systems contradict one another.
- Redirecting URL with stale canonical: A page may once have declared a different canonical, but after a real 301 move the response body is no longer the primary place Google reads page content. Focus on the correct destination and its canonical.
- Destination redirects again: A chain such as
/old/ → /intermediate/ → /new/creates avoidable delays. Link and redirect directly to the final URL when possible. - Sitemap lists an obsolete URL: Publishing a redirected or duplicate URL in the XML sitemap weakens consistency. Include final preferred pages instead.
- Internal links still point to the old slug: Visitors can follow the redirect, but your own navigation should lead directly to the preferred address. Audit those links with the Internal Links and Anchor Text Analyzer.
- Destination is blocked or unusable: A redirect to a broken, inaccessible, or unrelated URL is not a valid replacement merely because the server returns 301.
After a migration, validate the final URLs in your sitemap with the XML Sitemap Validator. A clean map of preferred addresses helps reinforce the same choice already made by your redirects and canonical annotations.
How to Set Canonicals and Redirects in WordPress
For an accessible duplicate: review its canonical
- Open the post or page and determine which URL should be the representative version.
- If you use Rank Math, look in the post’s SEO Advanced settings for a custom canonical URL. A blank custom field may be normal because Rank Math can generate the current permalink automatically.
- Where a duplicate needs a different canonical, use the preferred absolute URL and save the page.
- Inspect the actual public HTML source to confirm the final
rel="canonical"tag. Do not rely only on what the WordPress editor displays.
If you are troubleshooting a wrongly declared URL, our guide to fixing a canonical tag that points to the wrong URL covers the source checks in more detail.
For a permanently retired URL: configure a 301
- Confirm that the new page is the closest relevant replacement and already works.
- In Rank Math, ensure the Redirections module is enabled, then open Rank Math SEO → Redirections and add the old source path and new destination.
- Choose 301 Permanent Move only if the change is permanent, enable the rule, and save it.
- Test the old URL in a private browser session or HTTP checker and confirm it reaches the intended final page.
- Update internal links, menus, canonical settings, and sitemap references to use the new URL directly.
For a bulk migration, prepare a one-to-one old/new URL mapping instead of replacing many unrelated URLs with one homepage destination. Review large import sheets with the WordPress Redirect CSV Validator and test representative rules with the Redirect Rule Tester before deployment. A plugin can configure redirects, but the final HTTP response is the evidence that they work.
Check Google’s Choice After Your Change
Google Search Console’s URL Inspection report can help you compare the declared canonical with Google’s selected canonical. For a duplicate URL, Google choosing the clean preferred page may be exactly what you intended. For an old URL returning 301, a Page with redirect report is not automatically an error; the destination is what should be eligible for indexing.
Inspect the preferred destination separately. Confirm that it returns the expected status, does not have a blocking noindex, and has a logical canonical. Google may select another URL when the content and technical signals indicate a different representative, even after you declare your preference. If that happens, our explanation of why Google chose a different canonical will help distinguish a normal consolidation from a mistake.
Do not expect a 301 or canonical change to instantly update search results. Google must recrawl and process the affected addresses. Repeatedly requesting indexing will not repair an unresolved redirect loop, inaccessible destination, or conflict in page signals.
Frequently Asked Questions
Is a canonical tag the same as a 301 redirect?
No. A canonical identifies the preferred representative of similar content while normally leaving both URLs accessible. A 301 tells visitors and crawlers that the old URL has permanently moved to another address.
Should I use both a 301 and a canonical on the old page?
Usually there is no reason to rely on a canonical in the old page’s body once the URL sends a proper 301 response. Configure the redirect correctly and keep the destination’s canonical consistent with its final URL.
Does a 301 redirect lose SEO link value?
Google says 301 and other permanent redirects do not inherently cause PageRank loss. The move must still point to a relevant destination, and search visibility can fluctuate while Google processes the changes.
Should I redirect all duplicate pages?
No. Some duplicates need to stay accessible for users, analytics, filters, or site functions. If they serve substantially the same content, a canonical may be more suitable. Keep genuinely distinct pages independently accessible.
When is a 302 better than a 301?
Choose a temporary redirect when you expect to restore the original URL, such as a genuine short-term move. A permanent 301 expresses a different long-term intention.
Can a canonical or a redirect force Google to index the destination?
No. Both provide signals about preferred URLs, but indexing also depends on crawl access, page quality, technical eligibility, and Google’s assessment. Use Search Console to verify the actual result.
The Practical Rule to Remember
Redirect old addresses that are permanently retired; canonicalize duplicate addresses that must remain usable. For major URL changes, align your redirect map, internal links, sitemap, and destination canonicals. For duplicate variants, make sure the preferred URL is genuinely equivalent and can be indexed. Choose the mechanism based on what users should experience, not just which setting is easiest to click.
To understand the related rule for a page that should represent itself, read when a page should use a self-referencing canonical tag.


