One canonical URL

Each page names one canonical URL, and every variant points to it.

From seo-audit, Technical SEO: Canonicalization and Indexation.

Six addresses, one page

Press Crawl and watch where the 90 links land.

No canonicalBad
    Index0 URLs
       
      Canonical on variantsGood
        Index0 URL
           
          // app/layout.tsx
          export const metadata = { metadataBase: new URL("https://www.example.com") };
          
          // app/shoes/page.tsx
          export const metadata = { alternates: { canonical: "/shoes" } };

          Every signal names one URL

          Change any signal, or make them all agree.

          Signals for one page 
          // next.config.ts
          export default {
            trailingSlash: false,
            async redirects() {
              return [{
                source: "/:path*",
                has: [{ type: "host", value: "example.com" }],
                destination: "https://www.example.com/:path*",
                permanent: true,
              }];
            },
          };

          Filters mint URLs

          Click filters in any order and count the indexed URLs.

          Color
          Size
          Sort

          https://www.example.com/shoes

          Every filter indexedBad
          Index1 URLs
            no canonical
            Canonical to categoryGood
            Index1 URL · 1 crawled
              <link rel="canonical" href="https://www.example.com/shoes">

              Why it matters, pros and cons

              Why it matters

              Crawlers treat each URL as its own page. A canonical folds them into one.

              Pros

              • Links to every variant count once.
              • You pick the URL shown in results.
              • Parameters stop wasting crawl budget.

              Cons

              • A canonical is a hint; conflicting signals override it.
              • Host and protocol variants still need a 301.
              • Filter pages with real search demand deserve their own.