Edit Elementor pages and manage templates on WordPress sites via browser automation (for visual / structural changes) or WP-CLI (for safe text replacements). Use whenever the user wants to edit an Elementor page, update text in Elementor widgets, apply or manage Elementor templates, or make content changes to pages built with the Elementor page builder.
Edits Elementor pages and manages templates on existing WordPress sites, choosing between two complementary methods depending on the kind of change. For text and URL updates inside existing widgets, it drives WP-CLI search-replace against the wp_postmeta table; for anything structural, it controls Elementor's visual editor through browser automation (playwright-cli or Chrome MCP). A decision table maps each change type to the safer method, and the guiding rule is that text or URL-only edits go through WP-CLI while layout, sectioning, styling, and template work go through the browser.
The workflow first identifies Elementor-built pages by querying posts whose _elementor_edit_mode meta equals 'builder', then constructs the editor URL from the post ID. WP-CLI edits follow a strict pre-flight: back up the _elementor_data postmeta to a JSON file, run a --dry-run --precise search-replace, confirm the replacement count, execute, and then flush Elementor's CSS cache so changes actually render. Safe replacements include headings, paragraph text, button labels and links, image URLs of equal dimensions, and contact details, while widget IDs, HTML structure, CSS classes, and element ordering are flagged as risky. Browser automation covers logging in, waiting for the loading overlay, selecting elements in the preview, and editing content, headings, images, and buttons via the left sidebar before saving.
Template management spans listing, exporting, and importing templates from the elementor_library post type, applying templates to new pages through the editor, and duplicating or transferring page layouts entirely via WP-CLI by copying _elementor_data, _elementor_edit_mode, and _elementor_page_settings between posts. Because Elementor stores content as fragile JSON structured as Section > Column > Widget, the skill stresses backing up first, preferring search-replace over hand-editing JSON, always flushing CSS after WP-CLI changes, and being aware that global widgets propagate edits to every instance. Verification steps confirm page status and capture a screenshot of the live URL.
A working WP-CLI connection or admin access (the wordpress-setup skill can establish this) and Elementor installed and active, which you can confirm with 'wp @site plugin status elementor'.
Use WP-CLI search-replace for text content and image/URL swaps inside existing widgets because it is faster and low risk with a backup. Use browser automation for any structural work such as styling, adding or removing sections, layout changes, and template application.
Follow the pre-flight checklist: back up the _elementor_data postmeta to a file, run the search-replace with --dry-run --precise, verify the replacement count matches expectations, then execute and flush the CSS cache before verifying visually.
Elementor pre-generates CSS from widget settings, so a stale cache hides updates. Run 'wp @site elementor flush-css', or if that command is unavailable, delete the _elementor_global_css option and the _elementor_css postmeta.
Yes. You can duplicate a page or transfer a template via WP-CLI by reading _elementor_data and _elementor_page_settings from the source and writing them to the target post along with setting _elementor_edit_mode to 'builder', then flushing CSS.
Quick Setup:
.claude/skills/Repository
jezweb/claude-skills