30 days free. No credit card. Full access from the moment you connect your site.

Start free trial

Clone Elementor Document Data

elementor/clone-data copies the full Elementor tree from one post to another, with fresh element IDs throughout.

Page settings can come too, and the target is guarded when it already has content.

Before you run it

The target’s existing Elementor content is replaced, not merged. force_replace is required when the target already has content, and once it is gone there is no trash — only a post revision, if one exists. Confirm you are pointing at the right target: source and target are both post IDs, and transposing them overwrites the page you meant to copy.

At a glance

Abilityelementor/clone-data
ToolsetElementor — toolset/elementor
GroupElementor › Documents
RequiresElementor, active on the site
Capabilitymanage_options
SafetyDestructive — overwrites the target document. Guarded by force_replace.
RepeatableNot idempotent — each call changes the row set, so re-running is not a no-op
Ships inAcrossAI Abilities Manager 0.0.34 and later

How it works

Element IDs must be unique within a document. Two elements sharing an ID is a state Elementor does not expect, and the symptoms — an edit landing on the wrong element, a duplicate that disappears — are hard to trace back to the cause.

Across two posts, duplicate IDs matter less than within one — but only until somebody copies content between them again, or a template is built from one of them. Regenerating is cheap and avoids the question entirely.

The page settings option is worth taking deliberately. A page’s layout, background and custom CSS are part of how it looks, and a clone without them produces a page with the right content and the wrong frame.

Anything referencing an element ID does not survive the clone — custom CSS keyed to an ID, anchor links between sections. Those need updating on the copy.

The source is unchanged. This reads from it and writes to the target.

Not idempotent in the sense that re-running regenerates the IDs again, producing a different document with the same content.

Elementor generates a CSS file per post and caches it. A change to the document does not change the rendered page until that CSS is regenerated, which is why elementor/clear-cache is the second half of several operations here.

Input

NameTypeRequiredWhat it is
source_post_idintegerYesThe post to copy from.
target_post_idintegerYesThe post to copy into.
include_page_settingsbooleanNoCopy the document-level settings too.
force_replacebooleanWhen the target has contentRequired when the target already has an Elementor document.

What comes back

NameTypeWhat it is
target_post_idintegerThe post written.
element_countintegerHow many top-level elements were copied.
successbooleanWhether the call completed.
messagestringA one-line summary of what happened, suitable for showing a human.
error_codestringPresent only on failure — a stable machine-readable reason, such as a missing field, a wrong field type or an unmet confirmation.

Example

Ask your assistant:

Copy the layout from page 412 onto the new page.

It resolves to one call:

{
  "ability": "elementor/clone-data",
  "parameters": {
    "source_post_id": 412,
    "target_post_id": 598,
    "include_page_settings": true,
    "force_replace": true
  }
}

Worth knowing

  • IDs are regenerated, so ID-keyed CSS and anchors do not follow.
  • Take the page settings unless you have a reason not to.
  • The source is untouched.
  • Check the direction — transposing the IDs overwrites the wrong page.

Related abilities


Get the plugins:
AcrossAI Abilities Manager · AcrossAI MCP Manager

Browse the rest: Every ability, by category


Keep reading