How I avoid duplicate content when syndicating posts on Medium

Cross-posting blog articles to Medium feels like a free win for reach, especially when you publish a travel essay that performs well on your own site. You press a button, the same words appear on a platform that hands out emails to millions of readers, and your traffic climbs overnight. The catch is that Google can treat those mirrored posts as duplicate content, which quietly erodes the search rankings you spent months building on WordPress.

I learned this the hard way during a slow winter in Adelaide, when my analytics showed a sharp drop in organic sessions right after I pushed a fresh article to my Medium profile. The post on Medium pulled in a few hundred views, while my own site dropped from page one to page three for several money keywords. The pain was not abstract, it turned into fewer affiliate clicks and a noticeable dent in my AdSense earnings.

Most guides online will tell you to add a canonical link back to your original post, which is solid advice but rarely explained in a way that actually works when Medium imports your article through its import tool. The Medium editor strips custom HTML, rewrites your formatting, and often mangles the tags you set inside your WordPress dashboard. After a few failed experiments, I settled on a simple, repeatable workflow that keeps the original post as the canonical source in Google's eyes without forcing me to abandon Medium entirely.

This approach takes roughly five minutes per article, requires no paid plugin, and works whether you are writing from a cafe in Fitzroy or travelling somewhere new. If you want a deeper look at how I organise my content calendar across platforms, the ricoblog travel section walks through my broader publishing routine.

Why duplicate content is a real risk for Australian bloggers

Australia has a relatively small pool of active bloggers compared to the United States, which means competition for the same long-tail keywords is fierce in niches like personal finance, travel and WordPress tutorials. When Google filters out a syndicated copy, the original post on your own domain also loses visibility, even if it was published first. The algorithm does not read intent, it reads signals.

For a one-person operation based out of Sydney or Perth, losing a chunk of organic reach is more than a vanity metric. It directly affects display ad income, affiliate commissions and the partnerships you have spent years building. The Australian dollar conversion rate for overseas affiliate programmes already eats into your margins, so any traffic drop hits twice as hard.

There is also the cultural angle. Australian readers tend to follow a handful of creators closely rather than skim dozens of sources, which means a single misstep can cost you loyalty for months. If a subscriber sees the same article pop up on Medium and on your site, they may quietly unsubscribe, assuming you are just recycling old material for clicks.

How Google actually treats syndicated posts

Google's documentation describes a "canonical" version as the preferred copy when several pages contain identical or near-identical content. Without a clear canonical signal, the algorithm picks the version it considers most authoritative, which is often not your small personal blog. Medium, with its strong domain authority and millions of backlinks, tends to win that contest.

The trap is that winning is not the same as winning well. When Medium outranks you, readers land on Medium's page, you collect the impression, but you miss out on newsletter sign-ups, affiliate clicks and the chance to build a direct relationship with the audience. Medium's Partner Programme pays writers, but the revenue per view is usually far lower than what a well-monetised niche blog can earn.

In my case, I noticed that posts I had imported months earlier were sitting above my own articles for branded search terms, which felt absurd. The content was mine, the photos were mine, but the URL belonged to Medium. After digging into Search Console, I realised Google had indexed both versions and treated them as separate entities competing for the same queries.

The rel=canonical tag in plain English

A canonical tag is a small piece of HTML that tells search engines which version of a page is the master copy. You add a line of code in the head section that looks something like <link rel="canonical" href="https://yourdomain.com/your-post/">. When Google's crawler sees that on a duplicate page, it consolidates the ranking signals back to the URL you specify.

The trick is that Medium does not let you insert raw HTML into an imported post the same way you can in WordPress. The import tool strips header tags, including canonical links, before the article goes live. You have to add the canonical tag after the import, directly inside the Medium editor, using the embed and code tools available in the platform's interface.

Medium also strips your original outbound links during the import. The workarounds are either re-adding them manually or accepting that the Medium copy will have a thinner link profile. I chose the manual option because affiliate links inside my posts are central to my income, and I did not want to lose the contextual backlinks pointing at my money pages.

Step-by-step: how I apply the trick before publishing on Medium

Before I import an article into Medium, I make a few adjustments on my WordPress site that make the process smoother. First, I shorten the post by about ten per cent on Medium, so the syndicated version is not a verbatim copy. Second, I rewrite the first paragraph so the opening sentence is genuinely different. Third, I draft a custom subtitle that mentions the article is a syndicated version with a link back to the original.

Once the post is inside Medium, I open the editor, click the three dots menu and select "Embed" to insert a link card that points to my original URL. I place that card at the very top of the article, just below the title, so any reader immediately knows where the canonical version lives. Search engines follow embedded links inside Medium articles, and the embedded card is preserved through reposts.

After saving, I use Medium's HTML embed option to inject a canonical tag into the document. I paste a small code snippet into the embed block, which Medium renders as a working link rather than a visible piece of code. The whole routine, from start to finish, takes roughly five minutes per article.

Pre-publish checklist I run through each time

Tweaking the Medium import so Google stays on your side

Timing matters more than most guides admit. I publish the original post on my WordPress blog, wait at least a full day, then push the Medium version. This gives Google time to crawl and index the original first, which makes it easier for the canonical signal to stick. If I publish them at the same time, the algorithm sometimes picks Medium simply because the domain is stronger, regardless of which one was technically first.

I also avoid using Medium's "import a story" tool for posts with extensive internal links, because the tool flattens anchor text and breaks my navigation strategy. Instead, I copy the text manually, paste it into Medium's editor, then reformat headings and links by hand. It is slower, but it preserves the editorial choices that make my blog distinctive.

Another habit I picked up from an old mentor in Brisbane is to keep the meta description on my own site slightly different from the subtitle on Medium. Search engines read meta descriptions, while readers see Medium subtitles, so aligning them too closely creates another layer of similarity that can confuse the ranking algorithm.

Common pitfalls that catch even experienced syndicators

Even with a clean workflow, things can go wrong. The Medium Partner Programme sometimes rejects imported posts for unclear reasons, and rolling back the import to fix the issue is rarely possible. I learned to keep the original WordPress editor open in a separate tab so I can quickly recopy sections if Medium flags a formatting error.

Another common mistake is reposting old articles that no longer reflect your current affiliate partnerships. If a post still points to a discontinued product, the Medium version will too, which erodes reader trust. I audit my top twenty syndicated posts every quarter and update both copies if I have swapped an affiliate link or a product recommendation.

Finally, never treat Medium as your home base. I have seen Australian creators build impressive followings on the platform, then lose access after a policy change, leaving them with no traffic and no archive. Treat it as a discovery channel, keep your email list on your own domain, and use Medium to fill the top of the funnel rather than the bottom.

Pitfalls I actively sidestep in my own routine

Tracking results without losing your mind

I check Google Search Console once a week to confirm that my original posts remain the canonical versions. The Coverage report shows which URLs Google has selected as the master copy, and any unexpected changes usually appear within seven to ten days. If I see a Medium URL outranking my own for a branded search term, I republish the canonical tag and request indexing through Search Console.

Beyond rankings, I watch referral traffic from Medium in my analytics dashboard. A healthy syndication strategy sends a steady trickle of readers back to my own site, where I can convert them into email subscribers. If the Medium referral drops to zero, something has likely broken in the embed or the canonical setup, and it is worth investigating before reposting more articles.

The trick itself is small, but the discipline of running through the same checklist every time is what keeps the strategy working. Treat it as part of your publishing routine, not an optional extra, and your WordPress blog will keep its search visibility while Medium handles the discovery work in the background.