WP Bulk Replace Help

Running the replacement

Quick answer

Select the rows you want, press Backup & Replace, and each one is backed up and then overwritten in place — same filename, same URL, so nothing else on your site has to change.

You do not have to run the whole batch. Selecting a subset is the normal way to work: run one file, look at it on the live site, then run the other two hundred.

What happens to each row

For a row whose post already has a file in the chosen field, the plugin copies the current live file into the backups folder, records where it put it, and only then copies your staged file over the top. The order matters — the backup is recorded before the file it protects is overwritten, so an interrupted run can always find the original.

Afterwards it regenerates the attachment metadata so the Media Library entry matches the new file.

For a row you marked Confirmed (New Attachment), there is no existing file to back up. The staged file is copied into this month's uploads folder, a real attachment is created as a child of the post, and the field is pointed at it.

Reading the results

Rows move to the Done half of the table as they complete, and each one says what happened. A row that says skipped was not processed and the reason is on the row — no matched post, the staged file is missing, nothing configured to attach to. A row that says failed did not change your site.

One result surprises people and is deliberate: if the live file is already byte-for-byte identical to the staged one, the row completes without making a second backup and says so. Storing a copy of the replacement under the name "backup" would be worse than storing nothing, because a rollback button that does nothing is a promise you would rely on.

Interruptions

The run happens in small chunks over AJAX, so a long batch does not hit your server's execution limit. The tab has to stay open. If it closes part-way, the rows that completed are complete and the rest are untouched; select the remainder and run again.