# Back up, restore, and troubleshoot WordPress

> Protect WordPress files and database content, restore a snapshot safely, and diagnose common failures.

A WordPress backup includes the site data managed by the AppLaunch backup workflow. Keep independent exports of business-critical content as well.

## Create and download a backup

1. Open the WordPress site and select **Backups**.
2. Click **Create Backup**, optionally name it, and confirm.
3. Wait for **Completed**.
4. Use the download action if you need an offline copy, and keep the tab open during a large download.

Manual-backup quota and one-active-job limits are shown in the dashboard. Automatic backups cannot be renamed.

## Restore safely

Restoring replaces current files and database content.

1. Choose a completed backup and click **Restore**.
2. Enable **Create safety restore point** to preserve the current state.
3. Click **Restore Now** once.
4. Wait for the service restore status to finish.
5. Test the homepage, `/wp-admin`, forms, media, and important plugin functions.

Without a safety restore point, newer changes may be unrecoverable. Do not edit files or the database during restore.

## Diagnose a WordPress failure

Open **Logs**, reproduce the problem once, and inspect the newest entry.

Use **Logs** for timestamped WordPress, PHP, and web-runtime messages. **CRITICAL** and **ERROR** indicate a failed operation; **WARNING** and **NOTICE** may point to compatibility or configuration problems even when the request continues; **INFO** and **DEBUG** provide context.

Use **Access** for the request method, path, client IP, and HTTP status. A `404` means the requested route or file was not found, `401` or `403` indicates an authentication or permission decision, `429` indicates request limiting, and `5xx` means WordPress or the server failed while handling the request. Match the access timestamp and path to the runtime error at the same time.

The line-count control loads 50, 100, or 500 recent entries. **Live** follows new output; **Live (fallback)** uses polling when the streaming connection is unavailable. A fallback label does not itself mean WordPress failed.

- **Critical error after a plugin change:** rename the plugin folder through **Files**, then reload.
- **Theme error:** switch or rename the active theme only after making a backup.
- **Database connection error:** verify the built-in database operation completed and avoid hand-editing managed credentials.
- **Redirect loop after a domain change:** check WordPress `home` and `siteurl`, HTTPS handling, and upstream proxy settings.
- **Media or update write error:** confirm storage is not full and file ownership was not changed by an external tool.

For a persistent problem, [create a support ticket](https://applaunch.org/dashboard/support) with the site name, hostname, action, exact error, approximate UTC time, and relevant log lines with secrets removed.

See [Understand AppLaunch service logs](/support/understand-logs/) for the complete severity and status-code reference.
