Opus Growth

Bulk Find & Replace (WordPress)

Applies the SAME find/replace to MANY WordPress posts/pages in one call, with a mandatory dry-run.

Type
Makes changes
Credits
1
Platform
WordPress
Approval
Preview first, applied after you approve

What it does

Applies the SAME find/replace to MANY WordPress posts/pages in one call, with a mandatory dry-run. wordpress_update_post's replace works well but takes a single id, so fixing the same defect on 11 pages meant 11 calls; this does it once, and its confirm=false PREVIEW shows every page that would change and HOW MANY times before anything is written, so an unintended broad match is visible first. Target pages come either from ids=[...] (wordpress_search_content returns them) or from a search filter (search=..., search_in/regex/type/status as in wordpress_search_content). replace=[{"find":"old","with":"new"}] has the same schema and safety as wordpress_update_post: a missing "with" is refused, never treated as a delete. match="normalized" (top-level or per entry) treats invisible characters (non-breaking space, smart quotes, long dashes) as their plain equivalents. DESTRUCTIVE: confirm=false previews per-page counts and writes NOTHING; confirm=true applies. Elementor/Divi pages whose visible text is not in post_content are reported as skipped, not silently missed. The search filter fetches every post one by one (~1 s each), so on a large site one call stops scanning after about 100 seconds and returns what it found so far with partial=true and next_offset; call again with offset=next_offset (same other arguments) to continue. For big sites it is faster to run wordpress_search_content first and pass its ids here.

MCP: wordpress_bulk_replace

How to use it

You don't call tools by name. Write what you want in ChatGPT, Claude or another assistant connected to Opus Growth, in your own words; it picks this tool when it fits.

Because this tool changes your account, your assistant first shows a preview of exactly what will change. Nothing is applied until you say yes, and every applied change is written to your audit log.

Parameters

NameTypeRequiredDefault
replacearrayOptional·Replacement text or structured replacement rule to apply when this operation supports replacement.
idsarrayOptional·Ids value for wordpress bulk replace. Follow the documented provider format and use values returned by Opus Growth discovery tools where possible.
searchstringOptional·Text used to search or filter resources.
search_instringOptionalcontentcontent · title · both · Exact search in value for wordpress bulk replace. Supply text in the provider's required format; when it selects an existing resource, use the exact identifier returned by the relevant list or search operation; matching the schema pattern.
regexbooleanOptionalfalseWhether to enable regex for this operation.
typestringOptional·Resource or content type accepted by this operation. Use one of the provider-supported values.
statusstringOptionalpublishDesired provider status for this resource; choose an allowed value from this schema.
matchstringOptional·literal · normalized · Exact match value for wordpress bulk replace. Supply text in the provider's required format; when it selects an existing resource, use the exact identifier returned by the relevant list or search operation; matching the schema pattern.
max_scanintegerOptional150Numeric max scan value for wordpress bulk replace. Use the provider's expected unit, range, and precision.
offsetintegerOptional0Zero-based position at which to start reading results. Use the next_offset returned by the previous response when present.
confirmbooleanOptionalfalseSafety confirmation for a state-changing operation. Leave false to preview or validate; set true only after the user explicitly approves the shown change.
site_urlstringOptional·Exact URL of the connected WordPress site to target when more than one site is available.
page_tokenstringOptional·Continuation token returned as next_page_token by a previous call. Leave empty for the first page; pass it unchanged to retrieve the cached next page.