Title: HUBLO Duplicate Content Auditor
Author: hublowp
Published: <strong>August 21, 2026</strong>
Last modified: August 22, 2026

---

Search plugins

![](https://ps.w.org/hublo-duplicate-content-auditor/assets/banner-772x250.png?rev
=3659898)

![](https://ps.w.org/hublo-duplicate-content-auditor/assets/icon.svg?rev=3659898)

# HUBLO Duplicate Content Auditor

 By [hublowp](https://profiles.wordpress.org/hublowp/)

[Download](https://downloads.wordpress.org/plugin/hublo-duplicate-content-auditor.1.0.0.zip)

 * [Details](https://wordpress.org/plugins/hublo-duplicate-content-auditor/#description)
 * [Reviews](https://wordpress.org/plugins/hublo-duplicate-content-auditor/#reviews)
 *  [Installation](https://wordpress.org/plugins/hublo-duplicate-content-auditor/#installation)
 * [Development](https://wordpress.org/plugins/hublo-duplicate-content-auditor/#developers)

 [Support](https://wordpress.org/support/plugin/hublo-duplicate-content-auditor/)

## Description

Sites that publish for years end up competing with themselves: the 2019 guide
 and
the 2023 rewrite, the category page and the pillar post, three near-identical round-
ups. You know they are in there. What you do not know is which one to keep, and 
what you would quietly lose by deleting the other.

This plugin answers both, and changes nothing until you say so.

#### How it works

 1. **Scan.** Every post is compared against every other post that could
     plausibly
    match it.
 2. **Compare.** For each overlapping pair: which version is stronger, on what
     evidence,
    and what only the other one contains.
 3. **Plan.** A merge and redirect plan you can export and act on — by hand,
     with 
    a redirect plugin you already use, or with Pro.

#### What you get

 * **Every overlapping pair, ranked.** Sorted by how much they overlap, banded
    
   near identical, strong or partial.
 * **A canonical suggestion that shows its working.** Content length,
    publication
   date, comment activity, inbound internal links, featured image and slug quality
   are scored side by side, so you can see why one version was suggested — and disagree.
 * **What you would lose.** The question before any merge is what only the
    other
   version has. The audit lists exactly those sections.
 * **A redirect plan before anything is created.** Source path, target path,
    status
   code.
 * **CSV export.** The duplicate report and the redirect plan, in a shape other
   
   redirect plugins can import.

Similarity detection that assumes spaces between words fails badly on
 Japanese,
Chinese and Korean. This plugin detects the script and switches from word shingles
to character shingles, so CJK content is compared properly instead of producing 
noise.

#### What it will not do

 * **Read-only.** It never merges, deletes, rewrites, trashes or redirects
    anything.
   Every destructive step stays with you.
 * **Nothing leaves your server.** No external service is contacted, no
    analytics,
   no telemetry.
 * **No account, no API key.** Install it and use it.
 * **Tidy.** Scan data lives in three tables of its own, which are removed when
   
   you uninstall.

#### This plugin, and the Pro plugin

Free is a complete job: find the overlap, understand it, decide, export the
 plan.
It is not a trial — nothing expires and no feature stops working. A separate Pro
plugin, distributed outside WordPress.org and not bundled here, carries the plan
out.

**This plugin, free, does all of the analysis:**

 * Finds every overlapping pair and ranks them
 * Shows why one version is suggested, signal by signal
 * Shows what only the other version contains
 * Previews the merge and the redirect
 * Exports the whole plan as CSV

**Pro carries the plan out**, inside WordPress:

 * Performs the merge
 * Creates the 301 redirects
 * Rewrites internal links pointing at the retired post
 * Revision backup, rollback and conflict detection

Matches are banded — near identical, strong overlap, partial overlap —
 because 
a bare percentage is harder to act on than a category.

#### Try it without installing

A WordPress Playground blueprint ships with this plugin. When the directory
 offers
a Live Preview for it, that preview boots a temporary WordPress in your browser,
seeded with posts that overlap on purpose, and opens straight on the results. Nothing
is installed on your own site.

Full documentation, worked examples and the Free/Pro comparison:
 https://hublo-
wp.com/free-plugins/duplicate-content-auditor/

### External services

This plugin does not contact any external service on its own. Nothing is sent
 from
your site in the background.

The “Upgrade to Pro” button is an ordinary link. If **you** click it, your
 browser
opens https://hublo-wp.com/buy/duplicate-content-auditor, operated by HUBLO. While
the Pro edition is on sale, that address takes you to Stripe’s hosted checkout, 
where Stripe takes the payment; this plugin never sees or handles card details. 
The link carries no query string: your site address, your email address, your installation
identifier and your scan results are never appended to it and never leave your site.
Nothing happens until you click.

The Pro edition is a separate plugin distributed outside WordPress.org. This
 plugin
never downloads it, never installs it and never updates it. It fetches no executable
code from anywhere. After purchase you download the Pro ZIP in your browser and 
install it yourself via Plugins > Add New > Upload Plugin.

 * Purchase service: https://hublo-wp.com/buy/duplicate-content-auditor – operated
   by HUBLO
 * Payment processing: Stripe – https://stripe.com/privacy
 * Terms: https://hublo-wp.com/terms/
 * Privacy: https://hublo-wp.com/hublo-privacy-policy/
 * Refunds: https://hublo-wp.com/refund-policy/

## Screenshots

[⌊How many of your posts overlap, and how badly — before you open a single pair.⌉⌊
How many of your posts overlap, and how badly — before you open a single pair.⌉[

How many of your posts overlap, and how badly — before you open a single pair.

[⌊Every overlapping pair, ranked by similarity and banded near identical, strong
or partial.⌉⌊Every overlapping pair, ranked by similarity and banded near identical,
strong or partial.⌉[

Every overlapping pair, ranked by similarity and banded near identical, strong or
partial.

[⌊The canonical suggestion shows its working: length, age, comment activity, inbound
internal links, featured image and slug quality, scored side by side so you can 
disagree with it.⌉⌊The canonical suggestion shows its working: length, age, comment
activity, inbound internal links, featured image and slug quality, scored side by
side so you can disagree with it.⌉[

The canonical suggestion shows its working: length, age, comment activity, inbound
internal links, featured image and slug quality, scored side by side so you can 
disagree with it.

[⌊The sections that exist only in the version you are about to retire — the question
worth answering before any merge.⌉⌊The sections that exist only in the version you
are about to retire — the question worth answering before any merge.⌉[

The sections that exist only in the version you are about to retire — the question
worth answering before any merge.

[⌊The redirect the retired post would need: source path, target path, status code—
shown before anything is created.⌉⌊The redirect the retired post would need: source
path, target path, status code — shown before anything is created.⌉[

The redirect the retired post would need: source path, target path, status code —
shown before anything is created.

[⌊Japanese, Chinese and Korean posts are compared with character shingles instead
of word shingles, so unspaced scripts match properly instead of producing noise.⌉⌊
Japanese, Chinese and Korean posts are compared with character shingles instead 
of word shingles, so unspaced scripts match properly instead of producing noise.⌉[

Japanese, Chinese and Korean posts are compared with character shingles instead 
of word shingles, so unspaced scripts match properly instead of producing noise.

[⌊Post types, similarity threshold, minimum word count and exclusions — set the 
scope before the scan, not after.⌉⌊Post types, similarity threshold, minimum word
count and exclusions — set the scope before the scan, not after.⌉[

Post types, similarity threshold, minimum word count and exclusions — set the scope
before the scan, not after.

[⌊Export the duplicate report and the redirect plan as CSV, in a shape other redirect
plugins can import. Nothing is applied to your site by this plugin.⌉⌊Export the 
duplicate report and the redirect plan as CSV, in a shape other redirect plugins
can import. Nothing is applied to your site by this plugin.⌉[

Export the duplicate report and the redirect plan as CSV, in a shape other redirect
plugins can import. Nothing is applied to your site by this plugin.

[⌊Where this plugin finishes — an exported plan — and what the separate Pro plugin
would do with it.⌉⌊Where this plugin finishes — an exported plan — and what the 
separate Pro plugin would do with it.⌉[

Where this plugin finishes — an exported plan — and what the separate Pro plugin
would do with it.

## Installation

 1. Install from the Plugins screen, or upload the folder to `/wp-content/plugins/`.
 2. Activate it.
 3. Open **Duplicate Audit** in the admin menu.
 4. Set your post types and similarity threshold, then press **Scan for duplicates**.

## FAQ

### Does it delete, merge or redirect anything?

No. It never writes to your content. It produces a plan and exports it; acting
 
on the plan is your decision, with your tools.

### What similarity threshold should I use?

60% is a sensible default. Raise it if you are seeing loose matches that are
 not
really duplicates; lower it if you suspect overlap the audit is not catching.

### Why are short posts matching each other?

Very short texts share phrasing by coincidence. Set a minimum word count in
 Settings—
100 words removes most false matches.

### How does it stay fast on a large site?

Comparing every post against every other post grows quadratically. Instead
 each
post gets a fixed-length fingerprint, and only posts whose fingerprints collide 
are compared in full.

### Is the canonical suggestion authoritative?

No, and it does not pretend to be. The scoring table is shown in full
 precisely
so you can see the reasoning and override it.

### Does it work on Japanese, Chinese or Korean content?

Yes. Similarity detection that assumes spaces between words fails on unspaced
 scripts,
so the plugin detects the script and switches to character shingles.

### Does it need an account or an API key?

No. Nothing leaves your server, and there is nothing to sign up for.

### What happens if I uninstall it?

Its three tables and its options are removed. Your content is untouched,
 because
it was never modified in the first place.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“HUBLO Duplicate Content Auditor” is open source software. The following people 
have contributed to this plugin.

Contributors

 *   [ hublowp ](https://profiles.wordpress.org/hublowp/)

[Translate “HUBLO Duplicate Content Auditor” into your language.](https://translate.wordpress.org/projects/wp-plugins/hublo-duplicate-content-auditor)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/hublo-duplicate-content-auditor/),
check out the [SVN repository](https://plugins.svn.wordpress.org/hublo-duplicate-content-auditor/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/hublo-duplicate-content-auditor/)
by [RSS](https://plugins.trac.wordpress.org/log/hublo-duplicate-content-auditor/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.0.0

 * First release.
 * Near-duplicate detection with CJK-aware shingling.
 * Canonical suggestion with visible scoring, section comparison, redirect plan 
   and CSV export.

## Meta

 *  Version **1.0.0**
 *  Last updated **6 days ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.2 or higher **
 *  Tested up to **7.0.4**
 *  PHP version ** 7.4 or higher **
 * Tags
 * [content audit](https://wordpress.org/plugins/tags/content-audit/)[duplicate content](https://wordpress.org/plugins/tags/duplicate-content/)
   [merge posts](https://wordpress.org/plugins/tags/merge-posts/)[redirect](https://wordpress.org/plugins/tags/redirect/)
   [seo](https://wordpress.org/plugins/tags/seo/)
 *  [Advanced View](https://wordpress.org/plugins/hublo-duplicate-content-auditor/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/hublo-duplicate-content-auditor/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/hublo-duplicate-content-auditor/reviews/)

## Contributors

 *   [ hublowp ](https://profiles.wordpress.org/hublowp/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/hublo-duplicate-content-auditor/)