Skip to content

v1.3.0 — Page builders, full WooCommerce operations, site speed, robust errors

Choose a tag to compare

@konkomaji konkomaji released this 24 Aug 08:59
· 2 commits to main since this release

Major release. 55 → 140 tools. Page-builder aware editing, complete WooCommerce store operations, a site-speed audit and optimiser, and a structured error-handling system.

Page builders (new)

A WordPress page is only "HTML in post_content" on a classic site. Elementor keeps a JSON tree in post meta, Gutenberg keeps block comments in the content, Divi and WPBakery keep nested shortcodes. Overwriting post_content on any of those either does nothing or destroys the layout.

So the plugin now detects what actually built a page and edits it in that builder's own structure.

  • detect_page_builder — which builder renders this page, and whether overwriting the body is safe
  • get_page_structure — the page as an addressable tree of sections, widgets and blocks
  • edit_page_element — change one heading, button, link or image in place; the builder's CSS cache is regenerated
  • insert_page_section, delete_page_element, list_builder_templates, manage_global_styles, render_page_preview

Full read/write for Elementor and Gutenberg blocks; text and attribute editing for Divi and WPBakery; read support for Beaver Builder, Oxygen, Bricks, Breakdance, SiteOrigin.

WooCommerce — complete store operations

Catalogue (26 tools): products of any type with the full field set, variations including generate_product_variations, global attributes and their terms, categories with images and SEO, image and gallery management, catalogue-wide repricing and scheduled sales, inventory control, an inventory report, coupons, whitelisted store settings, and sales reporting.

Orders & customers (8 tools): a separate wc_orders group, off by default — orders, order notes, refunds, customers, retention analysis. It carries personal data and can move money, so a catalogue or SEO engagement never gets it. refund_order records a manual refund unless via_gateway=true and never exceeds the refundable balance.

Performance — "make my website faster"

  • performance_audit — measures the live page (response time, HTML weight, render-blocking scripts, compression, cache headers), the platform (PHP version, object cache, OPcache, caching plugin) and the database (autoload bloat, revisions, transients, orphaned meta) → a ranked fix list and a score
  • optimize_sitepreset=safe or preset=aggressive, dry run by default, every flag reversible
  • database_cleanup, clear_cache, image_optimization_report, analyze_page_speed, list_autoloaded_options

Appearance (new)

Navigation menus, widgets and sidebars, customizer theme mods, and site identity — title, tagline, logo, favicon, timezone, front page.

Robust error handling

Every failure returns structured JSON — a stable code, a message, an actionable hint, and details — instead of a bare sentence.

  • Arguments validated and coerced against each tool's schema before the handler runs
  • PHP warnings raised during a call captured and returned alongside the result
  • A shutdown guard turns a fatal into a readable JSON-RPC error rather than a blank 500
  • Rolling error log, readable with get_error_log, mcp_status, and a panel on the settings screen
  • PHP is parsed before every file write and refused if it would not compile — a fatal in a theme file would otherwise take down the site and this endpoint
  • Automatic backups on every overwrite and delete, restorable with restore_file

Also new

Content: bulk updates, dry-run search and replace, duplication, revisions, comment moderation, media management. Site management: plugin and theme updates and deletion, user CRUD, cron inspection, permalinks. Filesystem: search_files, copy_file, file_info, create_child_theme.

Fixes

  • Redirects to another domain are honoured instead of bouncing to wp-admin
  • SERP length checks count characters, not bytes — non-Latin meta descriptions are no longer flagged as too long
  • Word counts understand CJK, Devanagari, Cyrillic and Arabic, so non-English pages stop reading as thin content
  • Order status handling used ltrim with a character list, turning completed into ompleted
  • install_plugin goes through the core upgrader instead of hand-rolled zip extraction
  • sql_execute blocks SQL-level file I/O and requires confirmation for DROP, TRUNCATE and unbounded DELETE/UPDATE; describe_tables resolves table names against the real table list
  • URL arguments reaching wp_remote_get are validated, so the measurement and preview tools cannot probe localhost or private ranges
  • seo_audit streams post IDs instead of loading thousands of full objects into memory
  • Sales and customer reports are bounded rather than unlimited
  • Unreadable directories no longer abort a recursive file scan
  • The Heartbeat throttle hooked init from within init and never fired

Upgrading

Drop-in. New capability groups default sensibly: Page builders, Performance and Appearance on; WooCommerce orders off alongside Site Management, Filesystem and Raw Database. Tools that write site-wide — bulk_update_products, search_replace_content, optimize_site, database_cleanup — default to dry_run=true.

Requires WordPress 5.6+ and PHP 7.4+.


Install: download wordpress-mcp.zip below and upload it via Plugins → Add New → Upload.