Prompt
fix duplicate content from parameterized URLs SEO
Latest observation
To fix duplicate content caused by parameterized URLs for SEO, use a mix of canonicalization, indexing controls, and parameter handling.
Best practices
1) Pick one preferred URL
Choose the main version of each page and keep it consistent.
Example:
- Preferred:
https://example.com/shoes - Duplicates:
https://example.com/shoes?color=redhttps://example.com/shoes?page=2https://example.com/shoes?sort=price
2) Add canonical tags
Point parameterized pages to the main version when they show the same or very similar content.
<link rel="canonical" href="https://example.com/shoes" />
Use self-referencing canonicals on the preferred URL too.
3) Block low-value parameters from indexing
If parameterized URLs should not appear in search results, use:
<meta name="robots" content="noindex,follow">
This is useful for:
- sorting/filtering parameters
- session IDs
- tracking parameters
- internal search URLs
4) Control parameters in Google Search Console
If applicable, use URL parameter handling to tell Google how certain parameters affect content.
Note: Google’s support here has changed over time, so canonical tags and noindex are usually more reliable.
5) Avoid creating crawl traps
Prevent infinite URL combinations from filters, sort options, and faceted navigation.
Examples:
- limit crawlable filter combinations
- use clean internal links
- avoid linking to every possible parameter variation
6) Use 301 redirects when appropriate
If a parameter URL has a permanent clean equivalent, redirect it.
Example:
/page?utm_source=email→/page
Use this for permanent cleanup, not for functional filters users need.
7) Keep tracking parameters out of indexable URLs
For campaign parameters like:
utm_sourceutm_mediumgclid
Use canonical tags to the clean URL and ensure internal links don’t include them.
8) Update sitemap and internal links
Only include clean, preferred URLs in:
- XML sitemaps
- navigation
- internal links
- breadcrumbs
Recommended approach by parameter type
- Tracking parameters: canonical + noindex if needed
- Sort parameters: usually canonical to base category page
- Pagination: usually self-canonical each page, not all to page 1
- Filter/facet parameters: canonical depending on whether the filtered page should rank
- Session IDs: remove entirely, often noindex/redirect
Quick SEO-safe setup
For duplicate parameter URLs, the safest default is:
- canonical to the clean URL
- noindex for low-value parameter pages
- clean internal linking
- redirect only permanent duplicates
If you want, I can also give you:
- a WordPress/Shopify/Next.js solution
- examples for faceted navigation
- or a decision tree for which parameters should be canonical, noindexed, or redirected