A post can appear on a newsletter archive, a company site, a publishing platform, and its own domain.
That isn’t a scandal.
It is a record-keeping problem.
Search doesn’t need every copy to win separately.
It needs a clear answer to one quieter question.
Which address represents the work?
The copied post isn’t failing because it exists.
It gets confusing when two versions each claim to be the one that counts.
A canonical link is the ordinary way to settle that claim. It names the address the publisher wants credited.
The original points at itself.
Every alternate points at the same place.
Which covers far more than a deliberate republication.
Two protocols make two paths to the same work. So does a trailing slash, a print view, a paginated version, or a link carrying campaign parameters.
None of those needs a dramatic response.
They need one preferred address.
But don’t treat the canonical tag as a verdict.
It is a signal, weighed beside everything else in the record.
A redirect points one way. Internal links point another. The sitemap lists a third. The canonical tag names a fourth.
You have asked the search engine to resolve a disagreement.
It will usually side with whatever the other signals support.
Which is why a canonical tag can look ignored while being perfectly valid.
The tag was never the whole record.
So make the record agree.
Choose the address that should receive readers, links, and future references.
Put a self-referencing canonical on it.
Point every duplicate at it.
Use it in the sitemap.
Use it in navigation, in archives, in the links inside other posts.
None of this is an attempt to make a copy disappear.
It stops you asking search to decide something you already know.
A changed slug is the same problem in a sharper form.
The old permalink has already collected bookmarks, links, and search results.
Let it return a dead end and you have cut all of that loose.
So send the old path to the new one, permanently.
A permanent redirect carries the accumulated value. A temporary one says something different and carries less.
Then finish the move. Take the old address out of the sitemap. Stop linking to it from an archive page.
The redirect, the canonical, the sitemap, and the internal links should all name the same new home.
That agreement matters even more during a full migration, when every permalink changes at once.
Map old paths to new ones and each existing route survives.
Skip it and the archive hasn’t moved so much as lost its way.
The same calm applies to a syndicated post.
The partner copy can point home. The source keeps pointing at itself. The sitemap and internal links keep naming the source.
The post travels.
The original stays legible.
Search Console will tell you whether that record holds, if you read it carefully.
Its index report sorts URLs into indexed and a set of exclusion reasons — duplicate without a user-selected canonical, alternate page with a proper canonical tag, blocked, crawled but not indexed.
It is a sampled crawl log, not a live window into the index.
And an excluded count is not a list of failures waiting for you.
Alternate page with a proper canonical tag often means your pagination is doing exactly what it should.
When one old URL is behaving strangely, inspect that URL.
When a whole migration or a category pattern looks wrong, read the broad report instead and look at the shape of it.
One asks what happened here.
The other asks what keeps happening.
Neither replaces the page-level record.
So start there whenever a post moves or travels.
Decide which address is the original.
Make the redirect, the canonical, the sitemap, and the internal links all say so.
Then let the other versions do their real work. Reach a different reader. Appear in a different place. Lead back to the work they share.
The problem is not that a copy exists. It is that the record has stopped being clear.
