Docs menu
Get started
What is Opus GrowthQuickstartAdd to your AIHow it worksSafety and approvalCreditsPlansFAQAI apps
All AI appsChatGPTClaudeGrokPerplexityClaude CodeCodexGemini CLIOpenClawCursorVS CodeWindsurfOther MCPConnect ad platforms
Google AdsMeta AdsLinkedIn AdsMicrosoft AdvertisingTikTok AdsChatGPT AdsAgencies and MCCConnect data sources
Search ConsoleGoogle AnalyticsYouTubeBusiness ProfileTag ManagerWebsites and SEO
AI ServerWordPressSEO IntelligenceClick fraudTool reference
All toolsGoogle AdsMeta AdsTikTok AdsLinkedIn AdsMicrosoft AdvertisingChatGPT AdsSearch ConsoleGoogle AnalyticsYouTubeBusiness ProfileTag ManagerWordPressAI ServerSEO IntelligenceClick fraudCross-channelAccount and billingLanguage
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.
Parameters
| Name | Type | Required | Default | |
|---|---|---|---|---|
| replace | array | Optional | · | Replacement text or structured replacement rule to apply when this operation supports replacement. |
| ids | array | Optional | · | Ids value for wordpress bulk replace. Follow the documented provider format and use values returned by Opus Growth discovery tools where possible. |
| search | string | Optional | · | Text used to search or filter resources. |
| search_in | string | Optional | content | content · 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. |
| regex | boolean | Optional | false | Whether to enable regex for this operation. |
| type | string | Optional | · | Resource or content type accepted by this operation. Use one of the provider-supported values. |
| status | string | Optional | publish | Desired provider status for this resource; choose an allowed value from this schema. |
| match | string | Optional | · | 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_scan | integer | Optional | 150 | Numeric max scan value for wordpress bulk replace. Use the provider's expected unit, range, and precision. |
| offset | integer | Optional | 0 | Zero-based position at which to start reading results. Use the next_offset returned by the previous response when present. |
| confirm | boolean | Optional | false | Safety confirmation for a state-changing operation. Leave false to preview or validate; set true only after the user explicitly approves the shown change. |
| site_url | string | Optional | · | Exact URL of the connected WordPress site to target when more than one site is available. |
| page_token | string | Optional | · | 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. |
Related tools
list_wordpress_sitesWordPress WP-CLI Commandwordpress_cliList WordPress Contact Formswordpress_contact_formsWordPress Core Info Fileswordpress_core_filesCreate WordPress Postwordpress_create_postWordPress Critical CSS (status / regenerate)wordpress_critical_cssEdit WordPress Menuwordpress_edit_menuEdit WordPress Page Designwordpress_edit_page_designWordPress Full Backup (UpdraftPlus)wordpress_full_backup