Three mechanisms for consolidating duplicate URLs into one rankable version
Duplicate content exists on most websites. E-commerce stores show the same product on category pages, filtered search results, and variant pages. News sites syndicate the same article to multiple sections. Blog platforms generate calendar archives and tag pages with identical or near-identical content. Without consolidation, Google wastes crawl budget indexing multiple versions, fragments link authority across them, and picks arbitrarily which version to rank. None of them rank as well as a single consolidated version would.
You have three main tools. Rel=canonical is an HTML tag that says 'this page is a duplicate of this URL; please treat the other as the primary'. You place it on the duplicate page pointing to the canonical. Google respects it, consolidates the pages in its index, and passes ranking authority to the canonical. Redirects (301 permanent, 302 temporary, or 307 temporary) automatically send users and crawlers from one URL to another. They're stronger than canonical because they actually eliminate the duplicate URL from serving. Parameter handling through Google Search Console tells Google which URL parameters create meaningful unique content and which are just tracking or session variables.
Choosing the right consolidation tool for each duplicate scenario
Use canonical when you want to keep both URLs live for user or business reasons (different faceted search paths leading to the same products). Use redirects when the duplicate URL serves no purpose (old URLs after a migration, alternate domain versions, old parameter formats). Use parameter handling when you have many parameter combinations that create logical duplicates.
The mistake most sites make is applying canonicals to all duplicates without thinking about which version should rank. If your canonical points to a less important URL version, you're wasting authority on the wrong page. Example: if you canonicalize your filtered search pages to a category page, but you actually want the filtered page to rank for a specific query, you've made the wrong choice. Spend time auditing duplicate patterns before implementing consolidation broadly. For each pattern, decide which version should own the ranking and point all others to it, or redirect them to it.