=== RBTech Search Replace in Any Page ===
Contributors: rbtechent
Tags: search replace, find and replace, page builder, bulk edit, replace text
Requires at least: 5.8
Tested up to: 7.1
Requires PHP: 7.4
Stable tag: 1.1.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Pick the exact pages and posts, then find and replace any word – even inside page builders – with a live preview and one-click undo.

== Description ==

Most search and replace tools run on the whole database. **RBTech Search Replace in Any Page** is built for the everyday job instead: change a word, a phone number, a price or a business name on *the pages you choose* – safely, and even when the page was built with a page builder.

= Why it is different =

* **Choose exactly which pages and posts** to change – with a title filter and "select all" per group. Custom post types and builder templates (headers, footers, sections) are listed too.
* **Page-builder aware.** Text saved by Elementor, Beaver Builder, Bricks, Oxygen, Breakdance, SiteOrigin Page Builder and Thrive Architect is decoded, changed and saved back in the same format, so layouts are not broken. The block editor, Classic editor, Divi and WPBakery are supported through the normal post content.
* **Only text is changed.** Internal builder data such as element IDs and widget types is skipped, so searching for a word like "heading" will not break your layout.
* **Preview before saving.** See every match with the old text in red and the new text in green.
* **One-click undo** of the last replacement – including builder data.
* **Caches are cleared automatically** for Elementor, Beaver Builder, WP Rocket, LiteSpeed Cache and W3 Total Cache so the new text shows immediately.
* Options: case sensitive, whole word only, and choose where to search (title, content, excerpt, builder data and custom fields such as ACF, Yoast SEO and Rank Math).

This plugin is not affiliated with or endorsed by any of the page builders or plugins mentioned above.

== Installation ==

1. Go to Plugins > Add New, search for "RBTech Search Replace in Any Page" and click Install, then Activate. (Or upload the zip file via Plugins > Add New > Upload Plugin.)
2. Go to Tools > Search Replace in Any Page.

== Frequently Asked Questions ==

= How do I use it? =

Type the word in "Search for" and the new word in "Replace with", tick the pages and posts on the right, click "Preview" to check the matches, then click "Replace Now".

= Can I undo a replacement? =

Yes. After a replacement an "Undo last replacement" button appears. It restores every page, post and builder field changed by the last run. WordPress also keeps a revision of changed post content.

= Will it break my Elementor (or other builder) layout? =

Builder data is decoded, only the text values are changed, and it is saved back in the same format. Structural data such as element IDs and widget types is never changed. Always use "Preview" first and keep a backup for large changes.

= Who can use it? =

Users who can edit other people's pages (Administrators and Editors). Each page or post is also checked against the user's permission to edit it.

= Which builders are not supported? =

Brizy stores its data in an encoded format and is not supported. Oxygen 3.x users should re-sign shortcodes (Oxygen > Settings > Security) after a replacement.

= Does it send any data to external services? =

No. Everything runs on your own site.

== Screenshots ==

1. Choose the text to find and replace, the options, and exactly which pages and posts to change.
2. Preview every match before saving – old text in red, new text in green – including Elementor and SEO plugin fields.
3. After replacing: a summary of the changes and a one-click "Undo last replacement" button.

== Changelog ==

= 1.1.0 =
* Page builder and custom field support.
* One-click undo.
* Automatic cache clearing.

= 1.0.0 =
* First release.

== Upgrade Notice ==

= 1.1.0 =
Adds page builder support and one-click undo.
