← all articles

Duplicate pages across sites you own: what it costs and how to fix it

If you run more than one site, you’ve done this. You needed a service page for the new domain, the old one already had a good one, so you copied it over and swapped the logo. Or a writer covered the same “how it works” explainer for two brands because the underlying process is genuinely the same. Nobody sat down and decided to duplicate content on purpose. It just accumulates, the same way clutter accumulates in a garage you’re not watching closely.

I’ve done this across my own portfolio more times than I’d like to admit, and I’ve paid for it in slower rankings on pages that should have been easy wins. This is what actually happens when you duplicate content across sites you own, and what I do about it now.

Why this happens more with portfolio sites than anywhere else

When you own one site, you don’t duplicate content within it very often, because you notice. You’re looking at the same domain every day. When you own five or six sites across different niches or the same niche in different cities, you stop noticing. Templates get reused. Writers get reused. The “about us” copy, the “why choose us” section, the FAQ block, all of it gets built once and pasted into the next site because rebuilding it from scratch feels like wasted effort when the underlying facts are identical.

Local service sites are the worst offenders. If you’re running the same service across three cities on three separate domains, the temptation to copy the core page and swap the city name is enormous. It’s fast, it’s cheap, and it feels harmless because you own all three domains. That last part is where the mistake lives.

Owning both pages doesn’t change how search engines treat them

Search engines don’t check the WHOIS record before deciding whether two pages are duplicates. They compare content. If two URLs, whether on the same domain or two domains you own, are highly similar, the engine has to pick one to show in results and treat the other as a variant of it. That’s not a punishment handed down against you. It’s just how deduplication works when a search engine is trying not to show ten near-identical results for one query.

The practical result is that you don’t get to choose which of your two pages ranks. The engine does, based on signals like which one has more links, which one is on a more established domain, or which one was indexed first. I’ve had cases where the copy I cared less about outranked the one I built the whole campaign around, purely because it happened to sit on the stronger domain. That’s the real cost: not a penalty, but a loss of control over your own outcome.

There’s a second cost that’s easy to miss. If other sites link to both versions because they found different copies at different times, you’ve split your backlink signal across two URLs instead of stacking it on one. Two pages with three links each will generally underperform one page with six links pointing at it. You paid for the same amount of outreach and got a worse result because the content wasn’t consolidated.

On larger sites there’s a crawl cost too. Every duplicate page is a URL a crawler has to fetch, parse, and then set aside in favor of another version. That’s crawl budget spent on a page that was never going to be the one shown anyway. It’s rarely the whole problem on its own, but it adds up on sites with hundreds of near-identical location or category pages.

Syndication is not the same problem, if you handle it right

Cross-posting is different from accidental duplication, and it’s worth separating the two. If brand A on your portfolio publishes an article and brand B wants to run it too because the audience overlaps, that’s a deliberate choice, not clutter. The fix here is a rel=canonical tag on the syndicated copy pointing back to the original, so you’re telling the engine directly which version is the source. It’s a documented mechanism, and it does what it says: it tells the engine which URL to treat as authoritative when two are near-identical by design.

What it does not do is guarantee that the original keeps ranking, or that syndication won’t cannibalize it somewhat. Canonical tags are a strong signal, not a lock. If you syndicate heavily, expect some softening of the original’s exclusivity in exchange for the reach.

The fix, page by page

The cleanup is unglamorous and there’s no shortcut around actually reading your own site. Here’s the process I use:

Audit for overlap first. Crawl each site in your portfolio and pull the body text of your template-driven pages, service pages, city pages, category pages. Compare them against each other, not just within one site. Near-duplicate detection tools that measure text overlap between pages work fine for this. You’re looking for pages that share most of their sentence structure even if a few nouns changed.

Pick a winner for each duplicate set. For every cluster of near-identical pages, decide which one should be the canonical version. Usually that’s the page on the stronger domain or the one already carrying links. Rewrite or redirect the rest. If a page genuinely doesn’t need to exist as its own URL, a 301 to the winner is cleaner than trying to salvage it.

Rewrite what needs to stay separate. If you legitimately need a page per city or per brand because the audience is different, the fix isn’t a canonical tag pointing away from a page you want to rank. It’s writing content that’s actually different: different examples, different local detail, different framing. A city page that only changes the city name isn’t a real page, it’s a mail merge.

Leave the boilerplate that’s supposed to be similar alone. Privacy policies and terms of service are expected to be similar across sites you operate, because the underlying legal facts are similar. Don’t burn time trying to make those unique. Spend that effort on the pages that are actually meant to compete for traffic.

The tactic that’s dead

For a while, the workaround people used was light spinning: swap a handful of synonyms, reorder a few sentences, and call it unique. I’ll say plainly that this doesn’t work anymore, and I’d argue it never worked as well as people believed. Near-duplicate detection isn’t based on exact string matching, it’s based on structural and semantic similarity, the ratio of shared boilerplate to unique content on the page. Swapping “affordable” for “budget-friendly” doesn’t change that ratio. It just wastes a writer’s afternoon producing something that still reads as the same page underneath.

I’d also flag, since it comes up in the same breath as portfolio sites, that heavily interlinking your own domains to pass link equity between them is treated as a link scheme under most search engines’ published guidelines, not a safe workaround. I don’t run that play, and I wouldn’t recommend it as a fix for a duplicate content problem or anything else.

When the real answer is fewer sites, not more pages

Sometimes an audit like this tells you something bigger than “fix the FAQ page.” If every service page across three of your domains is functionally identical because the businesses behind them are functionally identical, that’s a sign you might be running one site’s worth of content across three domains for no real gain. Consolidating under one domain, or at least one domain per genuinely distinct offer, often outperforms splitting the same content three ways and hoping each copy finds its own audience.

What I actually run now

Every core page across my portfolio gets written for that specific site’s audience, even when the underlying facts overlap with another brand I run. If two sites need to say something similar, I make sure the framing, examples, and structure are different enough that they’re not competing copies of each other. Where I do deliberately cross-post, the canonical tag points at the original every time. And when an audit turns up pages that are duplicates in every way that matters, I stop treating “we own both” as a reason to leave it alone.

None of this guarantees a specific ranking or a specific timeline. What it does is put the choice of which of your pages wins back in your hands instead of leaving it to whichever version the engine happened to pick.

If you want help auditing a portfolio for exactly this kind of overlap, The SEO Desk is where we do that work.

for SEOs
Tracking rankings or scraping SERPs at scale?

Rank checkers and SERP crawlers get blocked and geo-skewed fast on datacenter IPs. Singapore Mobile Proxy runs real 4G/5G mobile IPs that search engines still trust, so your position data stays clean.

see plans →
read on
More from The SEO Desk

Technical SEO, link building, content and SERP strategy, and tool reviews for people who ship growth.

browse all articles →