# Work safely on a live site

> One routine for every change on a live site: look first, ask for a plan, set a checkpoint, preview, work in small steps, check, and know how to roll back.

Your site has real visitors, so every guide here follows the same routine. PowerWP AI records changes and checks risky ones, but the routine is what keeps a small mistake small. Learn it once and the other guides become variations on it.

## What you need

- **Read-only diagnostics** is enough for the first two steps, and for any job where you only want a report.
- To change content or store data, the connection needs **Content & store data** (the Content manager preset). For settings, files, the database, plugins or backups it needs more: the Developer preset covers all of them. See [Permissions and presets](/docs/concepts/permissions/).
- On the Free plan your AI app can look but not change anything. The steps that change something need a paid plan.

## Before you start

Match the preparation to the size of the job.

| Size of the job | Prepare |
|---|---|
| One page, one product, one setting | A checkpoint. |
| Many items: a bulk text edit, a price change | A checkpoint, and three samples shown to you before the rest. |
| Plugin or theme updates, search and replace, database clean-up, a restore | A backup first (database or full), then a checkpoint. |
| A redesign, a theme switch, a major plugin change | Try it on a copy of the site first. See [Staging, copies and moving sites](/docs/guides/staging/). |

Tell your AI app your standing rules once, for example "ask before changing prices". The [site memory](/docs/concepts/memory/) carries them into every session in every app.

## The routine

:::steps
1. **Look first and change nothing.** Ask for a report.
   - Example prompt: `Look at the checkout page of my site and tell me what is wrong with it. Don't change anything yet.`
   - Your AI app will use `site_overview`, `error_log_read`, `site_health` and `page_check`.
2. **Ask for a plan.** You want to know what changes exactly, where, what could go wrong and how to undo it.
   - Example prompt: `Give me a plan: what exactly would you change, where, what could go wrong, and how do we undo it? Show the exact new texts next to the current ones and wait for my OK.`
   - A general "go ahead" does not cover text you have not seen.
3. **Back up if the job is big.** The backup is built on your server and downloaded to your computer.
   - Example prompt: `This touches a lot of products. Make a database backup first, download it to my computer and tell me when it is done.`
   - Your AI app will use `backup_create`, `job_status`, `backup_download_links` and `backup_confirm_downloaded`. This needs **Backups & restore**.
4. **Set a checkpoint.** It marks the point you can return to.
   - Example prompt: `Create a checkpoint called "before price change".`
   - Your AI app will use `checkpoint_create`.
5. **Preview with a dry run.** Most editing tools can show the result without saving it.
   - Example prompt: `Run it as a dry run first and show me the differences.`
   - Your AI app will use the `dry_run` option of `content_update`, `option_update`, `fs_edit`, `fs_write`, `fs_delete`, `db_execute`, `db_search_replace` and `elementor_edit`. `rest_request` has none: the AI app shows the current and new values side by side instead. `db_cleanup` only counts until you tell it to run.
6. **Apply in small steps.** Prefer small edits over rewriting whole items.
   - Example prompt: `Apply the first three, then stop so I can check them.`
   - Your AI app will use `content_update` with `content_edits`, `option_update` with `patch` and `fs_edit`.
7. **Check the live result.** It should load the changed pages and look for new errors.
   - Example prompt: `Check the changed pages on the live site, look for new errors from the last ten minutes, and clear the page cache if it still shows the old version.`
   - Your AI app will use `page_check`, `error_log_read` and `cache_flush`. The cache flush needs **Settings & maintenance**.
8. **Review it in Changes.** Open **PowerWP AI › Changes**. Work sessions, all changes and checkpoints are listed there, with the connection that made each one.
:::

PowerWP AI adds two safeguards by itself. After a plugin, theme or code-file change it loads your home page and wp-admin again, and reverts the change if it caused a fatal error. See [Automatic health check](/docs/safety/auto-revert/) for what is checked. And most changes are stored with a snapshot of what was there before.

> [!TIP] For a busy store, ask for the change in quiet hours. If visitors must not see half-finished work, ask your AI app to switch on maintenance mode: visitors get a "down for maintenance" page while administrators, the REST API, cron and WooCommerce payment callbacks keep working. It switches itself off again after the minutes you set.

## Check the result

- The AI app's summary lists what changed, the change ids and the checkpoint id. Keep them.
- **PowerWP AI › Changes** shows the same entries. Open one to see exactly what it did.
- Ask for a last look: `Compare the changed pages with how they were and tell me anything that looks different.`

## How to undo

:::cards
- [One change](/docs/safety/undo/) — Choose **Roll back** next to it in **Changes**, or ask: "Undo change #96."
- [Back to a checkpoint](/docs/safety/checkpoints/) — On the **Checkpoints** tab choose **Roll back to here**, or ask your AI app. It undoes what that connection changed after the checkpoint.
- [A work session](/docs/safety/checkpoints/) — Everything one app did in one sitting, in one step.
- [A WooCommerce batch](/docs/guides/woocommerce/) — **Roll back this batch** undoes a bulk request of up to 100 items.
:::

`changes_rollback` can preview what it would restore. If the same item was changed again after your change, the rollback stops and tells you instead of overwriting that work: look at it with `change_details` before you force it. A rollback is recorded too, so it can be undone.

Snapshots are kept for 30 days by default (**Settings › Safety & rollback**). Not recorded for undo: cache flushes, backups and restores, runs of other plugins' abilities, WooCommerce tool and scheduled-job runs, cron runs, e-mails already sent, and WooCommerce batches over 100 items. See [What can't be undone](/docs/safety/limits/).

## Recipes that do this

[safe_change](/docs/reference/recipes/#safe_change) is this routine as a recipe and works for any change. [setup_memory](/docs/reference/recipes/#setup_memory) saves your standing rules, and [before_plugin_updates](/docs/reference/recipes/#before_plugin_updates) applies the routine to updates. In Claude Code, recipes appear as slash commands; other apps list them with `recipes_list`.

:::cards
- [Checkpoints and work sessions](/docs/safety/checkpoints/) — How the rollback points work.
- [Backups and restore](/docs/safety/backups/) — What a backup holds and how a restore works.
- [Update plugins and themes safely](/docs/guides/safe-updates/) — The routine applied to updates.
- [Staging, copies and moving sites](/docs/guides/staging/) — Try big changes on a copy.
:::

Source: https://powerwp.ai/docs/guides/safe-workflow/
