A full clone.
In five minutes.

StageForge creates a pixel-perfect replica of your live WordPress site inside a sandboxed Docker container — posts, plugins, users, options, uploads, the lot. Connected via OAuth. Running in your chosen region. Ready for chaos.

OAuth · no SFTP 3-region provisioning Live in 2–5 min
Provision spec Standard
ContainerDocker 24.0.7
PHP8.2 / 8.3 / 8.4
MySQL8.0 / MariaDB 11
vCPU2 shared
Memory4 GB
Disk20 GB NVMe
Network1 Gbit, egress-filtered
Median boot2m 48s
Regionsus-east, eu-central, ap-sg
TLSLet's Encrypt auto

Everything the live site sees.
Nothing it can touch.

The clone is a byte-faithful copy — down to serialized option values and cron schedules — but all outbound writes are intercepted at the container boundary.

Cloned 1:1
✓ BYTE-EXACT
DATABASE
All wp_* tables + custom tables
UPLOADS
wp-content/uploads (any size)
PLUGINS
Active + inactive, with state
THEMES
All themes + child customizations
OPTIONS & TRANSIENTS
Serialized, rebuilt on import
MU-PLUGINS
Drop-ins, object-cache, advanced-cache
Intercepted at egress
◆ BLOCKED
wp_mail() · SMTP · Mailgun · SendGrid
Stripe · PayPal · Square live keys
WebSub / PubSubHubbub pings
Webhook endpoints (Slack, Zapier)
Push notification services
Analytics beacons (GA, Plausible)
Social auto-publish (IndieWeb, JP)
Each outbound call is logged. Allow-list a specific host to let it through.

OAuth in 90 seconds.
Never an FTP password.

Install the WordPress plugin (or drop a one-line PHP mu-plugin). It exposes a single REST endpoint. You authorize once from the StageForge dashboard — handshake is signed with HMAC-SHA256, rotated every 15 minutes.

Zero inbound firewall changes
No wp-config.php edits required
Revoke access at any time from /wp-admin
Works behind Cloudflare, Sucuri, WAF
OAuth handshake
SIGNED
POST /wp-json/stageforge/v1/auth
Authorization: Bearer sf_live_a1b2...
X-Sf-Signature: hmac-sha256=9f2c...
X-Sf-Timestamp: 1745622189
← 200 OK · handshake complete
site_id: a1b2c3d4e5
capabilities: ["read","backup","restore"]
rotates_at: 2026-04-25T14:23:04Z
Provision timeline
2m 48s median
0:00
Handshake
9s
0:09
Encrypted backup
52s
1:01
Container boot
24s
1:25
DB import + rewrite
1m 08s
2:33
TLS cert + DNS
15s

Median boot: 2m 48s.
P99: 4m 12s.

We keep a warm pool of pre-provisioned containers in each region. The bulk of your time is spent encrypting the backup (at the CPU of your live host) and running wp search-replace against serialized data.

50 GB site · median 6m 40s
Warm pool eliminates cold-start latency
Parallel table import for DBs over 2 GB

Serialized data, handled.

Most staging tools break when plugins store serialized PHP arrays with absolute URLs. We walk every row and rewrite in-place without breaking object length prefixes.

Before · live site
a:3:{
  s:4:"url";
  s:24:"https://acme-shop.com";
  s:4:"api";
  s:34:"https://api.acme-shop.com/v2";
  s:5:"email";
  s:17:"orders@acme-shop.com";
}
After · staging
a:3:{
  s:4:"url";
  s:42:"https://a1b2c3.staging.stageforge.app";
  s:4:"api";
  s:52:"https://api-a1b2c3.staging.stageforge.app/v2";
  s:5:"email";
  s:25:"orders@staging.acme-shop.com";
}
Object length prefixes (s:24 → s:42) rewritten correctly. No corruption. No PHP Fatal error: unserialize().
Can I stage a site with a multisite network?+
Yes. StageForge detects multisite configurations during analyze and provisions the full network in a single container. Subsite URLs and domain mappings are rewritten per-site during import. Subdomain and subdirectory installs are both supported.
Does StageForge work with managed hosts (WP Engine, Kinsta, Pressable)?+
Yes — the plugin runs inside WordPress itself, so any host that runs WP runs StageForge.
How big of a site can you stage?+
There's no hard size limit — we stage sites of any size. For sites above 2 GB, images aren't copied into the staging environment; they're referenced directly from your source site instead. That keeps staging fast and lightweight no matter how large your media library gets.
Can I get my changes back out of staging?+
Yes. Once you're happy with the result, you can download the updated version of your site — both the files and the database — and deploy it to production yourself.

Stop testing in production.

Free tier · 3 staging sites · 7-day lifetime · no card required.

Start free Read the docker docs →