> ## Documentation Index
> Fetch the complete documentation index at: https://docs.wpos.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Migration key

> Move a site, or a sandbox, onto another WordPress install with one key: its pages, builder content, media, chats, and connectors.

export const YouTubeVideo = ({id, title, caption}) => {
  const [playing, setPlaying] = useState(false);
  return <div className="demo-embed">
      {playing ? <iframe src={`https://www.youtube-nocookie.com/embed/${id}?autoplay=1&rel=0&playsinline=1`} title={title} allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerPolicy="strict-origin-when-cross-origin" allowFullScreen /> : <button type="button" className="yt-facade" onClick={() => setPlaying(true)} aria-label={`Play video: ${title}`} title={title}>
          <span className="yt-facade-thumb" style={{
    backgroundImage: `url(https://i.ytimg.com/vi/${id}/maxresdefault.jpg)`
  }} aria-hidden="true" />
          <span className="yt-facade-play" aria-hidden="true">
            <svg width="26" height="26" viewBox="0 0 24 24" fill="currentColor">
              <path d="M8 5.14v13.72a1 1 0 0 0 1.52.85l10.97-6.86a1 1 0 0 0 0-1.7L9.52 4.29A1 1 0 0 0 8 5.14z" />
            </svg>
          </span>
        </button>}
      {caption ? <p className="demo-caption">{caption}</p> : null}
    </div>;
};

Every site and every [sandbox](/agencies/sandboxes) in your
[Workspace](/agencies/workspace) has a **Migration key**. Paste it into the WPOS
plugin on another WordPress install and the whole site moves there: its pages,
its builder content, its media, and the WPOS work that goes with it.

<YouTubeVideo id="b_uy24qbEfE" title="How to Move a WordPress Site to a New Install With One Key" caption="Move a WordPress site to a new install with one key" />

<Note>
  A migration key moves a site. It does not connect one. After the move, connect
  the new install to your account with your **license key**, which is a separate
  step. See [Install](/get-started/install).
</Note>

## Move a site

<Steps>
  <Step title="Copy the key">
    On the [Workspace](/agencies/workspace) dashboard, open the site's three-dot
    menu and choose **Migration key**. Keys start with `WPOS-MIG-`.
  </Step>

  <Step title="Open the new install">
    Install the WPOS plugin on the WordPress site you are moving to, open it,
    and choose **Migrate a site**.
  </Step>

  <Step title="Paste the key and confirm">
    Paste the key. WPOS asks **Migrate this site here?** and names what will be
    deleted on this install before anything is sent. **Yes, migrate here**
    starts the move; **Cancel** leaves everything as it is.
  </Step>

  <Step title="Connect the install">
    When the move finishes, connect the new install to your account with your
    license key. Until you do, the site is there but not yet yours to operate
    from the Workspace. See [Install](/get-started/install).
  </Step>
</Steps>

## What moves, and what does not

| Moves with the key | Stays behind |
| - | - |
| Pages and posts, with their builder content | The source site, untouched and still connected |
| Themes and plugins the site uses | The source site's license, which is not spent or freed |
| Media, menus, and site settings | Your account license key, which you paste separately |
| WPOS chats and connected connectors | |

The site you copy from is not changed. It keeps its license and its place in
your dashboard, so a move is a copy onto the new install rather than a handover.

<Warning>
  Whatever is on the destination install is replaced. The confirmation names
  what goes, for example its posts and pages, user accounts, and media files,
  and it cannot be undone. Use a fresh install, or one you are happy to
  overwrite.
</Warning>

## While it runs

The move runs on the new install and reports each stage as it goes: **Getting
ready**, **Installing plugins**, **Installing themes**, **Clearing this
install**, **Copying pages**, **Copying settings**, **Copying images**, and
**Finishing up**. The stages that work through a list show their progress, for
example "Copying pages, 24 of 60".

If something fails, WPOS says so on the same screen rather than leaving the
install half finished, so you can retry or ask [support](/resources/get-help)
with the detail in hand.

## Sandboxes move the same way

A [sandbox](/agencies/sandboxes) has a migration key like any other site, which
is how a build you started on a throwaway WordPress becomes the client's real
site. Build it on the sandbox, then migrate it onto their hosting and connect
it with your license key.

## Who can do it

Moving a site needs the **Migrate sites** permission, and moving a sandbox needs
**Migrate sandboxes**. Both start on for every role, so an agency manager or
operator can move a site they are assigned unless you switch it off. See
[Permissions](/agencies/permissions).

<CardGroup cols={2}>
  <Card title="Workspace" icon="layer-group" href="/agencies/workspace">
    The dashboard where every site's migration key lives.
  </Card>

  <Card title="Sandboxes" icon="flask" href="/agencies/sandboxes">
    Build on a throwaway WordPress, then move it to real hosting.
  </Card>

  <Card title="Install the plugin" icon="download" href="/get-started/install">
    Connect the new install with your license key.
  </Card>

  <Card title="Permissions" icon="toggle-on" href="/agencies/permissions">
    Who on your team may move a site or a sandbox.
  </Card>
</CardGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.