The RSS entry page can retain multiple versions for the same (urlid, link) pair. Normal version history remains strict enough to keep real visible-text changes as separate revisions.
Before strict version comparison, Tools removes non-article renderer noise such as script/style/template blocks, injected embed consent helper text, and generated machine metadata when it is structurally identified as cache/embed/runtime data. This covers classes of changing values such as oEmbed cache keys, request/session identifiers, nonces, hashes, UUID-style runtime IDs, and cache timestamps without treating ordinary prose as fuzzy-equal.
Ordinary visible changes remain significant. Changed words, amounts, dates, times, punctuation, and normal URLs still create separate strict versions unless an explicit noisy cleanup rule already treats that specific kind of change as noise.
The admin action Purge noisy duplicates for this entry is an explicit cleanup operation. It keeps the newest representative for each meaningful text signature and removes older rows that differ only through recognized generated metadata, punctuation, changing URLs, or other already-normalized non-content noise.
The cleanup does not merge two revisions merely because they are highly similar. A small real text change is still a real change: different words or visible numbers remain different meaningful signatures. This avoids deleting genuine corrections just because a long article changed in only one place.
Rows whose meaningful text is empty use strict normalized equality as a safety fallback instead of being merged only because their meaningful hash is empty.
The purge runs with AJAX when JavaScript is available. The result is shown inline and the entry/history card is refreshed without a browser page reload. The same endpoint still supports a normal POST/redirect flow when JavaScript is unavailable.
Large histories are streamed through the cleanup comparison instead of loading every stored content body into application memory at once. This keeps the same comparison behavior while making cleanup practical for entries with many thousands of stored versions.
The operation is scoped to the selected feed ID and entry link before any rows are deleted.