Let them try the theme , not the screenshot

One link gives every visitor a private WordPress with your theme active — front end and wp-admin. Nothing to host, nothing to reset.

WordPress.org theme Click to search or edit
Launch demo

Search WordPress.org by name or slug. Your guest gets a fresh sandbox with the theme active — no SandyWP account required.

Trusted by

PublishPressPaywallProjectNewsletter GlueInfinite UploadsMetaSlider

SandyWP / the problem

Four minutes inside your theme beats four screenshots

Nobody is shopping for a picture. They want to know how many patterns ship with it, what the block styles do, how it feels to write a post in it.

  • A screenshot cannot be clicked into the site editor.
  • A gallery of screenshots cannot show a pattern library.
  • A feature list cannot prove the customizer has the control they need.
  • A walkthrough video shows your hands on the keyboard, never theirs.

So they ask in a support thread, or open somebody else’s demo. A link answers it for them.

screenshot-01.png

Nothing here responds to a click.

oceanline-demo.sandywp.dev/wp-admin

Their site. Their cursor.

From “looks nice” to “I’ll take it” in one click

1

Paste one URL into your listing

Your WordPress.org slug is already the link: app.sandywp.com/themes/<slug>.

2

The visitor gets a WordPress of their own

A private sandbox, your theme installed and activated. No account first.

3

They land in wp-admin, not a preview pane

A magic login opens the real dashboard. The front end is one click away.

4

It tidies up without you

Guest demos expire after seven hours and remove themselves.

What you stop having to worry about

real, not iframe

A whole WordPress, not a preview pane

Patterns, block styles, template parts, the customizer — inspected on a real install.

always pristine

Nobody inherits the last visitor’s edits

No shared demo to restore, and nothing anyone can spoil for the next person.

zero hosting

No demo server on your invoice

Nothing to patch, no certificate to renew, nothing to explain on launch day.

SandyWP / the build loop

The demo is the easy half. This is where the theme gets made.

The sandbox that shows the theme is the one you build it in.

git deploy

Every push lands in wp-content/themes

Point a GitHub repo at your theme folder. Every push to that branch syncs itself, no build step.

wp-content/themes/oceanline Git deployment

mount

Edit live theme files from your own editor

Mounts the sandbox onto your machine. Open it in your editor; every save hits the running site.

sandywp mount oceanline Mount a sandbox

push

Bring the install you already have

In LocalWP or MAMP already? One push mirrors the local database and wp-content up, then syncs in place.

sandywp push What the CLI does

branch & tag deploys

Show a client the branch before you merge it

Deploy any branch or tag once, without moving the one your sandbox tracks. Main stays put.

deploy → redesign/hero Branch and tag deploys

$ npx @sandywp/cli push

✓ Created “oceanline” · oceanline.sandywp.dev

$ sandywp mount oceanline

✓ Mounted at ~/SandyWP/oceanline

$ wp theme status oceanline

Status: Active · Version: 1.4.0

Git deploy, SSH, mounts and the CLI are paid plans. The launcher is not.

SandyWP / agents

Hand the fiddly template pass to an agent

Renaming template parts, threading one theme.json setting through every pattern — an agent is good at that, if it can work against a real install.

  • Mount the theme folder for your editor’s agent
  • Or connect the MCP server at app.sandywp.com/mcp over OAuth
  • It can create sites, deploy branches and read debug.log back
How agents use SandyWP
mcp · app.sandywp.com/mcp

“Make the archive template wide, then tell me if anything errored.”

  • sandywp_write_file themes/oceanline/templates/archive.html
  • sandywp_read_debug_log 0 new entries
  • sandywp_site_status oceanline · ready

Done. No new entries in debug.log.

oceanline · debug
WP_DEBUG
WP_DEBUG_LOG
WP_DEBUG_DISPLAY
SCRIPT_DEBUG

wp-content/debug.log

Noticewp_get_theme_file_uri called incorrectly in /themes/oceanline/functions.php on line 118

WarningUndefined array key "spacing" in /themes/oceanline/inc/block-styles.php on line 42

SandyWP / debug

A blank region is a terrible bug report to give yourself

Themes fail quietly: a mistyped template part renders nothing, a deprecated helper throws a notice nobody sees. Flip the constants per sandbox and read debug.log beside them.

  • SCRIPT_DEBUG loads core unminified when the editor is the problem
  • Log viewer in the dashboard, or tail -f over SSH
How debug mode works

SandyWP / version coverage

A theme that breaks on the new WordPress breaks in public

Editor behaviour, template resolution and theme.json handling move between majors, and your buyers do not all update on the same day. Pick the release and the PHP version at create time instead of guessing which one did it.

Test against the next WordPress
create sandbox · versions

WordPress

latest default · 7.0.37.1-RC1 pre-release7.0.3 7.0 6.9 6.8 6.7 6.6

PHP

8.3 default8.2 8.1

WordPress 7.1 is due 19 August 2026.

template · oceanline demo

Oceanline demo

9 plugins · demo content · WP 7.0.3 / PHP 8.3

Ask for an email before launch
Hide “Powered by SandyWP”

SandyWP / premium and custom themes

Your paid theme deserves the same link as a free one

The /themes/<slug> launcher only reaches the WordPress.org directory. For a commercial theme, stage the site once and let the link copy it.

  1. Stage it the way you want it seen

    Theme, demo content, companion plugins, menus, homepage settings. Not a bare install.

  2. Save the whole site as a template

    One click freezes the WordPress and PHP version, plugins, theme, content, settings and database.

  3. Switch on the public launch link

    Every visitor gets a fresh copy of that exact site. No account, no queue.

  4. Decide what it asks and what it says

    Add an optional email gate for the lead, and white-label the page so it carries your brand.

How templates work

SandyWP / what it costs

Priced per sandbox you keep, not per demo you hand out

Launcher demos are guest sandboxes: they belong to the visitor and expire after seven hours. A plan covers the sandboxes you keep.

Free

$0/ forever

No credit card

  • 2 active sandboxes
  • 256 MB storage
  • 7-day expiration

Plus

$7/ mo

$70 / yr

  • 10 active sandboxes
  • 5 GB storage
  • Permanent sandboxes
  • Git deploy, PHP config & SSH
  • CLI & Slack

Pro

$17/ mo

$170 / yr

  • 25 active sandboxes
  • 15 GB storage
  • Permanent sandboxes
  • Git deploy, PHP config & SSH
  • CLI & Slack

Yearly is ten months for twelve. Git deploy, SSH, mounts and the CLI start on Plus.

Two good tools with a different centre of gravity — the comparisons lay out every row, including where they win.

SandyWP / the rest of it

Everything else the account brings with it

The same sandbox is the demo, the build, the test matrix and the bug report.

templates

Freeze a staged demo; every visitor gets their own copy.

Templates

git deployment

Push the branch; the sandbox is already showing it.

Git deployment

ssh & sftp

Mount it as a folder, or open a shell with wp-cli.

SSH & SFTP

wordpress beta

Meet the next WordPress months before your buyers do.

WordPress beta

debug mode

Turn a blank region into an actual error message.

Debug mode

ai & mcp

Give a coding agent a real WordPress to work against.

AI & MCP

cli

Create, push, mount and deploy without leaving the terminal.

The CLI

cloner

Pull a client’s live site in and meet their real content. Production is only read.

The Cloner plugin

github previews

Give each pull request an exact-commit WordPress review site.

SandyWP for GitHub

What theme developers ask

Do I have to host or maintain the demos?

No. SandyWP hosts each guest sandbox and expires it after seven hours. Nothing to patch, nothing to reset.

Does every visitor really get their own site?

Yes — an isolated sandbox with its own URL and database, not one shared demo collecting everyone’s edits.

Can visitors reach wp-admin, and do they need an account?

A magic-login redirect drops them in wp-admin, and the front end stays at its own URL. No account needed; guest limits and an abuse check still apply.

What if my theme is not on WordPress.org?

Stage it on a sandbox, save that site as a template, and enable the template’s public launch link. Optional email gate and white-labelling come with it.

Can I deploy my theme straight from GitHub?

Yes. One repo per sandbox, pointed at wp-content/themes/your-folder, deployed by hand, on every push, or one-off from any branch or tag. Shallow clone, no build step, and the destination folder is replaced each time.

Can I edit theme files live from my own editor?

Yes, on a paid plan. sandywp mount maps /var/www/html to a local folder and SSH gives you a shell with wp-cli. Opt-in per sandbox, key-based, off by default, not on Free.

How do I get my demo content into the demo?

Stage it once — theme, plugins, posts and settings — then save it as a template. Every launch copies that exact state.

Will a busy launch day blow through my plan limits?

No. Launcher demos are guest sandboxes belonging to the visitor’s session, not your account. Your plan covers the sandboxes you keep.

What stops someone abusing the launch link?

Rate limits: by default one guest sandbox and five creates per visitor per window, three sandboxes and fifteen creates per IP, plus an abuse-protection check.

What happens when a demo sandbox expires?

It stops serving and is deleted, after a six-hour retention window for guests. Your own sandboxes run one hour to one month, or permanent on a paid plan.

Can I test against the next WordPress release?

Yes. 7.1-RC1 sits beside latest and the pinned 6.6 to 7.0.3 releases, on PHP 7.4, 8.1, 8.2 or 8.3. WordPress 7.1 is due 19 August 2026.

Give them something to click, not something to squint at.

On WordPress.org? Your launcher URL already works. If not, a template gets you the same link.