Blueprints

A Blueprint is a reviewable JSON recipe for building WordPress. Save it once, then use it whenever you create a sandbox or bake it into a reusable Template.

Blueprints describe how to build a site. Templates preserve the finished site. Use a Blueprint when the recipe should stay editable; use a Template when launch speed and an exact snapshot matter most.

Create a Blueprint

  1. Open Blueprints from the SandyWP app navigation.
  2. Click New Blueprint.
  3. Choose From URL or Paste JSON.
  4. Add an optional name and description, then click Save Blueprint.

SandyWP validates the document and adapts compatible WordPress Playground instructions automatically. The list shows whether the saved recipe is ready or needs attention.

Import from a URL

Use the original blueprint.json URL whenever possible. If the document references sibling files such as ./theme.zip, ./content.xml, or ./data.sql, SandyWP resolves them relative to that URL.

https://raw.githubusercontent.com/example/project/main/blueprint.json

Paste or write JSON

Paste any self-contained Blueprint document, or type one directly in the editor. A minimal recipe looks like this:

{
  "$schema": "https://playground.wordpress.net/blueprint-schema.json",
  "steps": [
    {
      "step": "setSiteOptions",
      "options": {
        "blogname": "My SandyWP Site"
      }
    }
  ]
}
Pasted JSON has no source URL. Relative bundled files such as ./theme.zip therefore cannot be located. Import those recipes from their original URL instead.

Start a sandbox from a Blueprint

  1. Open My sites and click New sandbox.
  2. Open the starting-point picker and choose a saved Blueprint.
  3. Review the stack and site name, then create the sandbox.

SandyWP provisions a normal container first and runs the compatible Blueprint steps inside it. Progress and errors appear in the same creation dialog.

Manage saved Blueprints

Click a Blueprint row to edit it. Open the menu—or right-click the row—to access the other actions:

  • Edit Blueprint updates the source recipe and display details.
  • Save as Template runs the recipe and stores the finished site as a snapshot.
  • Delete Blueprint removes the recipe without deleting Templates already baked from it.

Starter recipes

Copy one of these examples into the Paste JSON tab, then adjust it for your project. These are intentionally small so every instruction remains easy to review.

Blank WordPress Starter · Clean install · Latest WordPress · No dependencies View JSON

A clean WordPress site with a useful title and no extra plugins or themes.

{
  "$schema": "https://playground.wordpress.net/blueprint-schema.json",
  "steps": [
    {
      "step": "setSiteOptions",
      "options": {
        "blogname": "My SandyWP Site",
        "blogdescription": "A clean WordPress sandbox"
      }
    }
  ]
}
Plugin Lab Development · Query Monitor · WP Crontrol · Debug-friendly View JSON

A practical debugging workspace with Query Monitor and WP Crontrol activated.

{
  "$schema": "https://playground.wordpress.net/blueprint-schema.json",
  "steps": [
    {
      "step": "installPlugin",
      "pluginData": {
        "resource": "wordpress.org/plugins",
        "slug": "query-monitor"
      },
      "options": {
        "activate": true
      }
    },
    {
      "step": "installPlugin",
      "pluginData": {
        "resource": "wordpress.org/plugins",
        "slug": "wp-crontrol"
      },
      "options": {
        "activate": true
      }
    },
    {
      "step": "setSiteOptions",
      "options": {
        "blogname": "Plugin Lab",
        "blogdescription": "A SandyWP plugin testing workspace"
      }
    }
  ]
}
WooCommerce Store Commerce · WooCommerce · Store foundation · Ready to configure View JSON

A fresh storefront foundation with WooCommerce installed and activated.

{
  "$schema": "https://playground.wordpress.net/blueprint-schema.json",
  "steps": [
    {
      "step": "installPlugin",
      "pluginData": {
        "resource": "wordpress.org/plugins",
        "slug": "woocommerce"
      },
      "options": {
        "activate": true
      }
    },
    {
      "step": "setSiteOptions",
      "options": {
        "blogname": "My Store",
        "blogdescription": "A WooCommerce store built on SandyWP"
      }
    }
  ]
}
Theme Preview Design · Twenty Twenty-Five · Theme activated · Design sandbox View JSON

A minimal site running the Twenty Twenty-Five theme for visual exploration.

{
  "$schema": "https://playground.wordpress.net/blueprint-schema.json",
  "steps": [
    {
      "step": "installTheme",
      "themeData": {
        "resource": "wordpress.org/themes",
        "slug": "twentytwentyfive"
      },
      "options": {
        "activate": true
      }
    },
    {
      "step": "setSiteOptions",
      "options": {
        "blogname": "Theme Preview",
        "blogdescription": "Explore a WordPress theme in SandyWP"
      }
    }
  ]
}
Classic Blog Publishing · Classic Editor · Posts homepage · Writer-friendly View JSON

A straightforward publishing setup with the familiar Classic Editor.

{
  "$schema": "https://playground.wordpress.net/blueprint-schema.json",
  "steps": [
    {
      "step": "installPlugin",
      "pluginData": {
        "resource": "wordpress.org/plugins",
        "slug": "classic-editor"
      },
      "options": {
        "activate": true
      }
    },
    {
      "step": "setSiteOptions",
      "options": {
        "blogname": "My Blog",
        "blogdescription": "Stories, notes, and ideas",
        "show_on_front": "posts"
      }
    }
  ]
}

Compatibility notes

  • Playground-only browser and networking options may be removed because SandyWP runs real containers.
  • Unsupported steps are reported before execution instead of failing silently.
  • Legacy Playground GitHub proxy resources are converted to supported GitHub archive URLs.
  • Blueprint execution can run PHP, SQL, and WP-CLI, so execution requires a paid plan.

Next steps