Canonical URLs: how to consolidate duplicate content correctly
A canonical tag is a suggestion, not an instruction. Getting it consistently right across a site is what makes the suggestion credible.
Use 301 or 308 for permanent moves, mapping every old URL to its closest equivalent one-to-one. Avoid redirect chains, keep the mapping under version control, launch with the redirects already tested, and monitor Search Console coverage, rankings and 404s daily for the first month.
| Status | Meaning | Method preserved | Use for |
|---|---|---|---|
| 301 | Moved permanently | May change to GET | Permanent URL changes |
| 308 | Permanent redirect | Yes | Permanent, preserving POST |
| 302 | Found (temporary) | May change to GET | Genuinely temporary moves |
| 307 | Temporary redirect | Yes | Temporary, preserving method |
| Meta refresh / JS | Client-side | — | Avoid for SEO |
For SEO purposes 301 and 308 are treated equivalently as permanent. Use a server-side redirect; meta refresh and JavaScript redirects are slower, less reliable and weaker signals.
A dip of 10 to 20% for a few weeks is normal on a well-executed migration. A drop that has not recovered after six to eight weeks means something in the mapping, the redirects or the new site's technical setup is wrong.
Google has indicated that a year is generally sufficient for signal consolidation, but old links keep sending real people. Our practice is to keep permanent redirects indefinitely unless they become a maintenance burden — they cost almost nothing and removing them breaks external links you do not control.
A well-executed migration typically sees a 10–20% dip recovering within four to eight weeks. A poorly-mapped one can lose half its traffic and never fully recover.
If the old URL should no longer exist, redirect. If both serve a purpose, keep them and use a canonical to indicate which should rank.
Yes. Each hop adds latency and risks signal loss, and crawlers give up after a few. Always point the original URL directly at the final destination.
Redirect every HTTP URL to its HTTPS equivalent with a 301, update internal links and canonicals to HTTPS, and add the HTTPS property in Search Console.
ROVQIX Growth
SEO & growth team, ROVQIX
The ROVQIX growth team handles technical SEO, Core Web Vitals and AI-search visibility for the sites we build. Recommendations here are the ones we apply to client projects and to rovqix.in itself.
ROVQIXdesigns and builds production web platforms — Next.js front ends, Node.js APIs and the infrastructure behind them. Tell us what you're building and we'll scope it with you.
A canonical tag is a suggestion, not an instruction. Getting it consistently right across a site is what makes the suggestion credible.
DNS is the layer everyone touches twice a year and nobody remembers. It is also the fastest way to take a site offline for 24 hours.
Technical SEO is mostly engineering work: correct status codes, canonical URLs, crawlable HTML and fast pages. None of it requires a keyword tool.
No spam. Just the occasional case study and craft breakdown.