=== Duplicate Content Finder ===
Contributors: hublowp
Tags: duplicate content, content audit, canonical, seo, content analysis
Requires at least: 6.2
Tested up to: 7.1
Requires PHP: 7.4
Stable tag: 1.0.1
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Find overlapping WordPress posts, see which one should stay, what you'd lose, and export a merge and redirect plan.

== Description ==

Find duplicate and overlapping WordPress posts before they compete with each
other in search: the 2019 guide and the 2023 rewrite, the category page and the
pillar post, three near-identical round-ups.

Run one scan and the plugin finds every overlapping pair, shows which version
is stronger and why, lists the content that exists only in the weaker one, and
builds a merge and redirect plan you can export. It changes nothing on your
site automatically — the decision stays yours.

= What it finds =

* **Every overlapping pair, ranked.** Sorted by similarity and banded near
identical, strong overlap or partial overlap, because a category is easier to
act on than a bare percentage.
* **Duplicate content in any language.** Japanese, Chinese and Korean posts are
compared with character shingles instead of word shingles, so unspaced scripts
match properly instead of producing noise.

= What you see after scanning =

* **Which post should stay, and why.** Content length, publication date,
comment activity, inbound internal links, featured image and slug quality are
scored side by side, so you can see the reasoning behind the canonical
suggestion — and disagree with it.
* **What you would lose.** The sections that exist only in the version you are
about to retire: the question worth answering before any merge.
* **A redirect plan before anything is created.** Source path, target path and
status code for each retired post.
* **CSV export.** The duplicate report and the redirect plan, in a shape other
redirect plugins can import.

= Why it is different =

Spotting two similar posts is the easy part. A content audit becomes useful
when it tells you which version to keep and what merging would cost, and this
plugin is built around that decision rather than a similarity score alone.

= Safe by design =

* **Read-only.** It never merges, deletes, rewrites, trashes or redirects
anything.
* **Nothing leaves your server.** No external service, no analytics, no
telemetry.
* **No account, no API key.** Install it and scan.
* **Tidy.** Scan data lives in three tables of its own, removed on uninstall.

= How it works =

1. **Scan.** Each post gets a fixed-length fingerprint, and only posts whose
fingerprints collide are compared in full — so large sites stay fast.
2. **Compare.** For each overlapping pair: which version is stronger, on what
evidence, and what only the other one contains.
3. **Plan.** Export the merge and redirect plan and act on it by hand, with a
redirect plugin you already use, or with Pro.

= Free, and the separate Pro plugin =

Free is a complete job: find the overlap, compare, 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 inside WordPress: it performs the merge, creates the 301
redirects, rewrites internal links pointing at the retired post, and keeps a
revision backup with rollback.

= 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 and worked examples:
https://hublo-wp.com/free-plugins/duplicate-content-auditor/

== 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**.

== Frequently Asked Questions ==

= 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.

= 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 need an account or an API key? =

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

= Why does the admin screen say "HUBLO Duplicate Content Auditor"? =

That is the plugin's original name. The directory listing now uses a
descriptive name; the plugin, its settings and its data are the same.

= 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.

== Screenshots ==

1. Find duplicate and overlapping posts: every pair ranked by similarity, banded near identical, strong or partial, with the suggested post to keep.
2. See which post should stay and why: length, age, comment activity, inbound internal links, featured image and slug quality, scored side by side so you can disagree.
3. See what you would lose: the sections that exist only in the version you are about to retire.
4. Preview the redirect the retired post would need — source path, target path, status code — before anything is created.
5. Export the duplicate report and the redirect plan as CSV for the redirect plugin you already use. Nothing is applied to your site.
6. Set the scan scope: post types, similarity threshold, minimum word count and exclusions.
7. The audit at a glance: how many posts overlap, and how many pairs are near identical.
8. Japanese, Chinese and Korean posts are compared with character shingles, so unspaced scripts match properly.
9. Where this plugin finishes — an exported plan — and what the separate Pro plugin would do with it.

== 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/

== Changelog ==

= 1.0.1 =
* Listing update: the plugin is now listed as "Duplicate Content Finder", with a clearer description, tags and screenshot order. No functional change.

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

== Upgrade Notice ==

= 1.0.1 =
Listing and metadata update only. No functional change.

= 1.0.0 =
First release.
