site_clone
Copy a Voog site's layouts, pages, media, settings, and articles onto another site, overwriting the target. Supports dry-run planning and resumable execution to handle interruptions.
Instructions
Copy one Voog site's content onto another (layouts, layout assets, media, site settings, pages, content areas, articles). site is the SOURCE (read-only); target_site is OVERWRITTEN. Both must be names from voog_list_sites.
DRY RUN BY DEFAULT — without force=true nothing is written and the result reports what would happen. Run phase 'plan' first: it returns source object counts, the target's remaining asset quota, and the specific things Voog will not let a clone reproduce.
RESUMABLE. state_dir holds source-id -> target-id maps that make every phase re-runnable: a run stopped by an asset quota or a transient error is continued by calling again with the same state_dir, and nothing is created twice. Use a FRESH state_dir per source/target pair — the tool refuses a directory that belongs to a different pair.
Phases run in dependency order regardless of the order you list them (a page cannot reference a layout that does not exist yet): layouts, layout_assets, assets, site, pages, contents, articles, cleanup, verify.
NOT COPIED: ecommerce (products, categories, discounts, cart rules, orders), elements, redirects, webhooks, forms, comments. Languages are matched by code, never created.
Voog limits the clone cannot work around: created_at is not settable — PUT returns 200 and the value resets to now, so every copied article and page carries the clone date. published_at is not settable, for the same reason. Duplicate article paths cannot be reproduced — Voog now auto-suffixes a colliding path with -1. Legacy sites that hold two articles on one path will have the twin land on a different URL. Asset storage is capped per plan. The clone checks the target's remaining quota before uploading and stops cleanly rather than hitting 422 quota_exceeded partway through.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | SOURCE site name from voog_list_sites (read-only). | |
| force | No | Required to write anything. Without it the run is a dry run. This tool OVERWRITES the target site. | |
| phases | No | Which phases to run. Omit for the full pipeline. 'plan' is a read-only preflight and runs alone. | |
| state_dir | Yes | Absolute path holding the resume state. Reuse the same directory to continue an interrupted run; use a fresh one for a different source/target pair. | |
| max_workers | No | Parallel asset uploads (1-8). | |
| target_site | Yes | TARGET site name from voog_list_sites. Its content areas are rebuilt and its layouts overwritten. | |
| asset_budget_bytes | No | Cap on bytes uploaded in the assets phase. Defaults to the target's remaining quota when Voog reports one. Set it lower to leave headroom. |