Preview, Undo & Tables (PRO)
Dry Run Preview Before Search and Replace (PRO)
Running a search and replace against a live WordPress database is irreversible unless you can see what will change first. A Dry Run in Update URLs PRO scans your selected tables, finds every match, and shows a before/after preview without writing a single change to the database. You then apply everything or only the rows you tick.
PRO feature
Dry Run and selective apply are available in Update URLs PRO. The free version runs the replace immediately against fixed targets with no preview and no undo, so it cannot show you changes in advance. See the free search and replace guide for what the free tier does.
What a Dry Run does
A Dry Run runs the entire search and replace in your browser as a stepped AJAX loop, computing every replacement but writing nothing to the database. It:
- Walks each selected table page by page.
- Finds values that match your Search For term.
- Builds a preview of what each value would become.
- Leaves your data completely untouched.
The Run as dry run toggle is on by default, so the first time you run a search and replace it previews rather than writes. You have to turn it off deliberately to skip the preview.
Run a Dry Run
- Go to Update URLS → Search & Replace.
- Enter your Search For and Replace With values.
- Choose your tables under Select Tables (see running on selected tables).
- Leave Run as dry run toggled on (this is the default).
- Click Run Search/Replace.

Review the preview
When the Dry Run finishes, a modal opens with a results table. Each matching value appears as one row with these columns:
| Column | What it shows |
|---|---|
| Table | The database table the match was found in |
| Column | The column within that table |
| Row | The primary-key ID of the affected row |
| Before | The current value |
| After | The value after replacement |
Every row has its own checkbox so you can decide what to apply. If nothing matches, the modal shows "No matches found." with hints to check your search term.
Apply the changes
From the modal footer you choose how much to write:
- Replace All — applies every match found in the Dry Run.
- Replace Selected — applies only the rows whose checkboxes are ticked.
When you apply, the real replace is handed to a background job so it survives closing the tab, and a progress modal appears with a Stop button to cancel. Only a real (non-dry) run writes to the database, and only a real run is recorded in History so it can be undone later.
When to use a Dry Run
- Migrating a site to a new domain for the first time.
- High-risk changes on a production database.
- Partial replacements where only some matching rows should change.
- Verifying that your search term matches what you expect before committing.
Conclusion
A Dry Run turns an irreversible database operation into a reviewable one: preview every match, then apply all of it or just the rows you trust. Once you have run a real replace, use search and replace History and undo to audit or roll back the change.
FAQs
Does a Dry Run change my database?
No. A Dry Run computes every replacement in your browser and displays a before/after preview, but writes nothing to the database. Changes are only written when you click Replace All or Replace Selected afterward. This lets you confirm exactly what will change before committing to an irreversible write.
Is Dry Run available in the free version?
No. Dry Run is an Update URLs PRO feature. The free version runs the search and replace immediately against fixed targets using direct SQL, with no preview and no undo. If you need to preview matches before writing, you need PRO.
What is the difference between Replace All and Replace Selected?
Replace All applies every match found during the Dry Run. Replace Selected applies only the rows whose checkboxes you ticked in the preview table. Use Replace Selected when a search term matches more places than you intend to change and you want to update only specific rows.
Why is Run as dry run turned on by default?
The Run as dry run toggle defaults to on so your first click previews changes instead of writing them. This protects you from an accidental irreversible replace. You have to switch it off deliberately to run a live replace without a preview.
Can I cancel a replace after starting it?
Yes. A real replace runs as a background job and shows a progress modal with a Stop button that cancels the remaining work. Because the job runs in the background, it also continues if you close the browser tab, and any changes already written can still be rolled back from History.