Duplicate URLs split signals across protocol, host, slash and parameter variants. Pick one canonical form, emit one absolute self-referencing canonical per page, and align internal links, sitemap entries, hreflang and og:url with it. Use redirects when the duplicate should not exist at all.
The extended brief explains when this works, when it does not, and the trade-offs. Join the waitlist and it unlocks for every tip when sign-in opens; MCP access is the paid part.
Decide protocol, host, trailing slash and parameter handling once, then apply it to routing, canonicals and links. Lowercase paths and strip tracking parameters.
Check: A redirect map exists for every variant that will not be canonical, such as http to https and apex to www.
Emit one absolute self-referencing canonical
Add a single link rel=canonical in the head of each indexable page, pointing at its own canonical URL. Remove plugin or component duplicates that emit a second value.
Check: curl -s your production domain/page | grep -c 'rel="canonical"' returns exactly 1.
Align every other signal
Update sitemap loc values, internal links, og:url and hreflang entries to the same canonical URL. A canonical that contradicts the sitemap sends mixed signals.
Check: For ten sampled pages, canonical, sitemap loc and og:url are identical strings.
Verify indexing with URL Inspection — URL Inspection shows the indexed version Google holds for one URL: crawl time, selected canonical, status code and blocked resources.
Make JavaScript content crawlable — Google renders JavaScript, but rendering costs time and AI retrieval systems often read raw HTML.