// services / crawling and indexing
Duplicate content SEO services that make every signal agree
Duplicate content SEO services rarely mean rewriting text. The job is stopping one page answering at several addresses. Book a call and I'll find which version Google picked, then make the redirects, canonicals, links and sitemap agree on the one you want.
// what it costs
- US$149Deep audit and growth report, one off, on Upwork
- US$999Audit and fixes, one off, on Upwork
- US$299 or US$750month to month, with a report every month
Audits from US$149, audit and fixes from US$999, and month to month plans at US$299 for maintenance or US$750 for growth. Booked and paid on Upwork.
What is duplicate content, and what does a canonical URL do about it?
Duplicate content is the same or nearly the same page reachable at more than one URL, on your site or on someone else's. A WordPress canonical URL is the address you tell Google is the main version, declared with a canonical tag in the page's head. Core prints one on posts and pages, and Yoast, Rank Math and AIOSEO extend it to archives.
It's a hint, not an instruction. That's why a preferred URL set correctly in Yoast can still lose: the tag names one address while redirects, links and the sitemap point at another.
How would I diagnose this on your site?
This is the order I check it in on a WordPress or WooCommerce site, before changing anything. You'll get the findings back in writing, each tied to a number in your own Search Console.
See my full diagnosis process- i.
Declared against Google-selected canonical
URL Inspection on a page and its copies shows whether Google accepted your canonical or chose another URL. If it chose another, that's Google chose a different canonical; with no tag at all, it's duplicates with no user-selected canonical.
- ii.
Every host and protocol, requested directly
Each one should 301 to the preferred address in a single hop, not answer with a 200.
- iii.
Canonical output per template
A crawl looking for two canonicals from theme and plugin, or canonicals pointing at redirected URLs.
Clicks split across copies of the same page?
Book a call on UpworkWhere do duplicate content issues come from on WordPress?
It isn't usually copied text. It's the same content reachable at several addresses, and paginated /page/2/ archives add a few more.
Host versions
http and https, www and non-www. A server or CDN that answers first can leave both live.
Pages saved twice
WordPress adds -2 when a slug's taken, and that duplicate page often gets published and indexed.
Parameters
Tracking parameters like ?utm_source=, comment reply links, and WooCommerce sort and filter URLs.
Archives and attachments
Tag archives holding one post, author archives on a one-author site, and attachment pages for every image.
Canonical, 301 or noindex: how do you fix duplicate content?
The wrong tool is the commonest reason a fix doesn't hold. Two different pages chasing one query aren't duplicates at all. That's keyword cannibalization, and a keyword cannibalization fix means merging or retargeting, not a canonical tag. The free keyword cannibalization checker shows which queries it's hitting.
| Situation | Use | Why |
|---|---|---|
| The URL shouldn't exist, like a -2 page | 301 redirect | Visitors, Google and signals all move to the right page |
| Visitors need both, like a sorted category | Canonical to the clean URL | The URL keeps working while Google knows which to index |
| Useful on site but not in search, like a thin tag archive | Noindex, left crawlable | Google drops it, and over time stops crawling it, so its links count for less. Link the posts from categories or hubs too, so they don't rely on a noindexed tag archive |
How do you find duplicate content on your site in Search Console?
Search Console reports every page twice over: the user-declared canonical you set and the Google-selected canonical it chose. These statuses in the Page indexing report show where they've parted ways, and a crawl then finds the copies Google hasn't reported yet.
| Status | What happened | Action |
|---|---|---|
| Duplicate without user-selected canonical | Google found copies and no tag naming the main one | Add a canonical, or 301 the copy |
| Duplicate, Google chose different canonical than user | Your tag lost to redirects, links or the sitemap | Make those signals agree with the tag |
| Alternate page with proper canonical tag | Google accepted your canonical | Nothing, this one's working, unless the URL's a translation that should rank on its own |
What does duplicate content look like in real Search Console data?
Here's one host split and one page published twice, from Harmonized Getaways and Scrap a Vehicle.
In the 13 June to 11 September data, the www homepage ranked at 5.3 and the non-www one at 13.2. The www host now 301s to non-www, so the next quarter's data has to be read for both URLs.
Read the case study →
/scrap-my-car-edinburgh-2/ sits beside the Edinburgh page, so one town has two pages chasing the same searches.
Read the case study →Can Google penalize you for duplicate content?
Not for duplication within your own site. Google treats that as normal and groups the versions, so there's no duplicate content penalty to lift. The real cost is quieter: links and clicks divide instead of adding up, and Google may show the version you didn't optimize.
Copies on other domains are a different case. A syndicated article should carry a cross-domain canonical back to your original, and if a scraped copy's outranking you, that's a takedown request, not a tag change. Duplicate content on product pages, where a supplier ships one description to every store, needs rewriting, not a canonical, and that copy work sits outside this service.
What does it take to fix duplicate content, and what's separate?
Store parameter strategy runs deeper under WooCommerce SEO, and pages Google won't index for other reasons are crawlability and indexing.
Included
- www, non-www, http and https consolidation
- Canonical output checked on every template and SEO plugin
- -2 pages, attachment pages and staging copies
- Before and after measurement of both versions
Separate
- Merging two different pages that target one query
- Rewriting supplier descriptions at scale
- Redirect mapping for a domain move
What happens after you book a duplicate content call?
- i.
Your hosts, checked before the call
I'll request http, https, www and non-www directly, so you'll know on the call whether all four resolve to one address.
- ii.
Every copy counted
The Pages tab shows which -2 slugs, parameters and host copies already draw impressions.
- iii.
A scope and quote on Upwork
One fix per source of duplication, agreed before anything changes.
- iv.
Both versions measured
Old and new URLs tracked through the switch, so split clicks visibly come back together.
What else do people ask about duplicate content and canonicals?
How much do duplicate content SEO services cost?
The number of sources matters, not the number of copies, so there's no price on this page. After a short call you'll get a quote on Upwork for each source I've found.
Does WordPress add canonical tags automatically?
Yes, on single posts and pages. Core doesn't add them to archives, which is one reason SEO plugins replace core's canonical with their own.
Is a -2 at the end of a WordPress URL a problem?
Only if both versions are published. Then merge them and 301 the copy to the page you keep.
Should category and tag pages be noindexed?
Categories people search for should stay indexed. Tag archives holding a couple of posts each are usually safe to noindex, as long as the posts are linked from somewhere else too.
Two posts come at duplicates from different ends: choosing www or non-www and making a site stick to one, and rewriting product copy that every other stockist also carries, one of the WooCommerce posts.

Is Google picking the wrong URL?
Send me the URL and read-only Search Console access. I'll compare the canonical you declared with the one Google chose, find where the copies come from, and fix them at the source rather than tag by tag.
Book a call on Upwork