Skip to content
WP Bulk Replace

WP Bulk Replace Free

Replace hundreds of files. Keep their links.

Upload a batch, review the matches, and replace files with backups and rollback ready.

Free and open source. No account required.

Looking for your Pro downloads? Files are in your account.

  • v1.4.1
  • WordPress 6.0+
  • PHP 7.4+
Review and Resolve step: confidence and status filters above a table of staged files with their proposed matches, scores and statuses; three of nine still need review.
A real review screen: three of nine files waiting for your decision.

Demo

Watch a Free batch, start to finish.

A walk through the Free plugin on a demo site: start a batch, review the matches, then back up and replace the files.

How it works

One batch. The right file for every post.

WP Bulk Replace suggests where each new file belongs. Review the matches, then run the whole batch.

  1. 1Upload
  2. 2Match
  3. 3Review
  4. 4Back up & replace
  5. 5Roll back
  1. 1

    Upload — stage as many files as you need. Nothing live changes.

  2. 2

    Match — filenames are scored against your posts.

  3. 3

    Review — correct matches, choose rows.

  4. 4

    Back up & replace — originals are kept first.

  5. 5

    Roll back — restore any file from its backup.

1 · Upload your replacement files

Drop in as many files as the batch needs, or place them in the staging folder on the server. PDF, DOC and DOCX are supported. Uploading only stages a file — nothing live changes.

  • qg-5-gas-detector-manual-v2.pdf
  • qa-7-ph-analyzer-operating-manual.pdf
  • qr400-logger-user-guide.pdf

2 · Match them to existing content

Pick the post type and the field that holds the file. Each filename is compared with your posts and scored, so you can see how confident the match is.

Three staged files, the post each was matched to, and the confidence of the match
FileMatched toConfidence
qg-5-gas-detector-manual-v2.pdfQG-5 Gas DetectorHigh
qa-7-ph-analyzer-operating-manual.pdfQA-7 pH AnalyzerMedium
qr400-logger-user-guide.pdfQR-400 Data LoggerLow

Rows taken from the Review screen at the top of the page.

Batches list: an Add New Batch button above three batches with post type, meta field, file count, progress, created date and Open actions.
Every batch is a saved workspace — post type, field, file count and progress — so a half-finished job is still there tomorrow.

3 · Review and correct the matches

This is where you stay in charge. Change a destination, fix a filename, tick only the rows you want processed, or send the list to a colleague as a CSV and import their answers.

You have already seen this screen at the top of the page. Open it full size

4 · Back up and replace

Choose the approved rows and run the replacement. Each original is backed up first. Start with one or two to check the result on your site, then do the rest.

5 · Roll back if you need to

Wrong file? Select the rows and roll them back. The original comes back from its backup — one file, not a whole-site restore.

Backup and Replace step: status counts, the Backup and Replace, Roll Back, Mark Verified and Delete Backups toolbar, and a results table with six replaced rows, each showing Backup kept.
Six files replaced, each with “Backup kept”. Roll Back sits beside the replace action, not in a menu.

See the Settings screen full size

Safety and control

Nothing is replaced until you have reviewed it.

Inspect every proposed change before it runs. Backups make individual rollbacks possible.

Settings: matching thresholds, the staging and backups folders, and text explaining that backups are better kept outside the web root, with the wp-config constants for both folders, then a Backups location panel that says where backups are kept and whether that folder can be read from the web.
Settings explains where backups live and how to keep them out of the web root.
You approve every replacement
Matches are proposals. You review them, correct them, and select the rows to process. A file does not reach “Replaced” because it was uploaded.
Backups before overwriting
Each original is backed up first. Everything processed keeps its backup until you choose to delete it.
Conflicts are surfaced
If two posts point at the same file, that row is blocked instead of silently changing something outside the batch.
Rollback when you need it
Restore a single file, or a selection, from its backup. No whole-site restore required.
A record of what happened
Batches, results and the activity log are kept, so you can see what was replaced, when, and by whom.

Free and Pro

Free does the full job. Pro remembers your rules.

Free includes

  • Batch upload and staging
  • Deterministic matching
  • Confidence scoring
  • Manual review and reassignment
  • Replace existing files
  • Add first-time files
  • Backups and rollback
  • Collision protection
  • Verification and activity

No artificial batch limits in Free.

Pro adds, for recurring work

  • Remember matching corrections
  • Managed aliases and vocabulary
  • Ignore / noise rules
  • Reusable matching intelligence
Explore WP Bulk Replace Pro

Ready to replace files in bulk?

Download WP Bulk Replace Free

Release ZIP, ready to upload to WordPress. No registration.

Version
1.4.1
Requires
WordPress 6.0 or later · PHP 7.4 or later
Licence
Free and open source · GPLv2 or later
SHA-256
b99e675e19779b8389e34668fad904029a20d81b77f555ad9904aa0615ce959a

Install in four steps

  1. Download the plugin ZIP.
  2. In WordPress, open Plugins → Add New → Upload Plugin.
  3. Upload the ZIP, install it, and activate.
  4. Open Bulk Replace in the dashboard.

Use the release ZIP, not a source archive. A source archive is missing the bundled files the plugin needs and will not work.

Prefer the WordPress.org plugin directory? WPBR Bulk Replace on WordPress.org is a separate edition of the free plugin with its own updates from WordPress.org. Use one edition on a site, not both. The download above is unchanged.

More help in the Help Center

WP Bulk Replace is distributed from this website. It is not affiliated with or endorsed by WordPress.org or the WordPress Foundation.