HostCrafter Knowledge Base WordPress How to Create a WordPress Staging Site

How to Create a WordPress Staging Site

Last updated September 6, 2026

A staging site is a private copy of your live website. Same theme, same plugins, same content, running at its own address with its own database. You can update a plugin on it, redesign a page, or try a change you are not sure about, and nobody visiting your real site sees anything different until you decide to publish.

On HostCrafter, our managed WordPress hosting, that copy is one button in the panel. This guide shows the whole cycle: creating the copy, working on it, publishing it back over your live site, and the one situation where publishing is the wrong move.

How long
A minute or two
What it costs
One website slot
Risk to your live site
None, until you publish
Where
Client area → your hosting → Websites

What a Staging Site Is, and When to Use One

Every WordPress change carries a small chance of breaking something. A plugin update changes a function another plugin was calling. A theme change looks right on the homepage and wrong on the checkout. A new caching setting is fine until a logged-in visitor arrives. None of this is carelessness. It is what happens when forty pieces of software from thirty authors run in one process.

A staging copy moves that risk off your live site. It is worth making one when you are about to:

  • update WordPress core, a page builder, or WooCommerce;
  • change a theme, or edit templates;
  • install a plugin you have not used before;
  • rebuild a page and want to see it finished before anyone else does;
  • work out why something is broken, without experimenting on the live site.

It is not worth making one for a typo, a new blog post, or a price change. Copying a site takes longer than the edit does.

Before You Start

  • The site has to be a WordPress install we made. If you installed WordPress by hand over SFTP, we deliberately leave it alone: no staging, no managed updates, no automatic backups. Open a ticket if you would like us to adopt a hand-made install so that it is covered.
  • Your plan has to include staging. It is on WP Pro and above, and on Emporium, Marketplace and Agency. On WP Starter and Boutique the button is simply not there. The plan you are on is shown under Plan Details in the panel.
  • You need a free website slot. A staging copy is a second WordPress install with its own files and its own database, so it counts as a website. The dialog tells you the number before you commit to it.

Create the Staging Copy

  1. Open your hosting account

    Sign in to the client area, open Services, and choose your hosting account. That is the panel, and Websites is the first screen in it.

    The Websites screen in the HostCrafter control panel, listing four websites with their actions on each row
    The Websites screen. Every site on the account, with its actions on the right of each row.
  2. Open the row for the site you want to copy

    Click anywhere on the row (not on a button) and it expands, putting a word under every icon. Staging is the one you want.

    An expanded website row in the HostCrafter panel showing every action as a labelled tile, including Staging and Clone
    An expanded website row. Closed, these are icons; opened, each one is labelled.

    If the row shows Open Staging instead, this site already has a copy. Each site gets one at a time, so rebuild it rather than making a second.

  3. Read what it is about to do, then choose an address

    The dialog says how many website slots you are using and how many you will be using after this, because that is the part people find out afterwards otherwise.

    The Create a staging copy dialog, showing that the copy uses one website slot and offering a HostCrafter address or a subdomain of your own domain
    The staging dialog names the cost before the button, not after it.

    Then pick where the copy lives. The two options are below. There is also a tick box for hiding the copy from search engines, which sets WordPress’s own Settings → Reading option on the copy. It is off by default because the address already carries a random string nobody can guess, and you can change it on the copy at any time like any other WordPress setting.

  4. Press Create staging copy

    The panel shows the progress: directories, files, the database, then rewriting every address inside the content from your domain to the staging one. A small site is done in a minute or two. A site with a large uploads folder takes longer, because it is genuinely copying every file rather than pretending to.

    When it finishes, the copy appears in the list underneath the site it came from, with an orange line joining the two.

    A staging copy threaded under the live site it came from, carrying Publish to Live and Rebuild buttons
    A staging copy is threaded under its live site, so it can never be mistaken for a website of its own.

Which Staging Address to Choose

Two options, and they fail in opposite ways.

A HostCrafter address A subdomain of your domain
Looks like a1042-w1-103a82….s1.hostcrafter.com staging.yourdomain.com
Ready Immediately Once its DNS record exists
HTTPS Yes, from the first second — our wildcard certificate covers it Yes, once its own certificate is issued
Needs DNS No Yes. We add the record ourselves if we run your DNS; otherwise you add an A record
Best for Almost everything Showing a client the work, where a memorable address matters
The staging dialog with the subdomain option chosen, showing the staging. prefix field and the DNS record the address needs
Choosing a subdomain of your own domain. Until its DNS record exists the address will not open and no certificate can be issued for it.
Pick the HostCrafter address unless somebody else has to type it. It works the instant the copy exists and it is already on HTTPS. The subdomain is worth the DNS step only when a client or a colleague needs a URL they can remember.

What Gets Copied, and What Does Not

Nearly everything. The copy is made with a full file sync and a full database copy, and then every address inside the content is rewritten from your live domain to the staging one.

Copied Not copied
Every file under the site: WordPress core, themes, plugins, wp-content/uploads, anything you have put there yourself Page and object caches: wp-content/cache, wp-content/uploads/cache and Divi’s et-cache
The whole database: posts, pages, products, orders, users, options, plugin settings Nothing else. Not your backup plugin’s archives, not anything we decided you did not need

The caches are left behind because a cache is not content: it is derived from the site, it is rebuilt within a request or two, and it is usually the largest thing in the tree.

Two more things the copy inherits deliberately:

  • The same PHP version as the live site. Rehearsing an upgrade on a different PHP version than the one production runs would prove nothing.
  • Its own database and its own Redis database. The copy cannot read or corrupt the live site’s data, and the live site cannot read the copy’s.

Working on the Copy

Use WP Admin on the staging row and log in with your normal WordPress username and password. The copy carries the same users the live site has.

Two things are worth knowing:

  • It is not password-protected at the web-server level. Older versions of staging on this platform sat behind a browser password box, which reads to most people as a broken site. What protects a staging copy now is the random string in its hostname, plus a notice shown to anyone who is not signed in.
  • It uses your account’s resources. A staging copy under load is competing with your live site for the same CPU. That is fine for editing pages and rarely fine for a load test.

Publishing Staging to Live

Publishing replaces your live site with the staging copy, files and database, then rewrites every address inside the content from the staging hostname back to your real domain.

Open the staging row and press Publish to Live. Because this is the one action in the panel that overwrites a working site, it asks you to type the live domain rather than click a generic confirmation.

The Publish staging to live dialog, warning that the live files and database are replaced and that a backup is taken first
Publishing asks for the live domain by name. A generic “are you sure” is a button people press without reading.

What happens then, in order:

  1. A backup of the live site is taken first, automatically. Not as a courtesy. As the rollback. If anything fails at any point during the publish, the live site is restored to exactly how it was before you see an error.
  2. Staging’s files and database are copied over live.
  3. Every address is rewritten from the staging hostname back to your domain.
  4. Your live site’s search-engine setting is put back. This one is worth explaining, below.
  5. The published site is fetched to check it actually answers. If it does not, everything is rolled back.
  6. Your cache is cleared, so visitors get the new pages rather than the old ones.
Why step 4 exists. A staging copy can be created with WordPress’s “discourage search engines” option turned on. Publishing copies the staging database over the live one, and that option travels with it. Sites were being published with a new design and quietly de-indexed at the same moment, with nothing anywhere saying so; the traffic disappeared weeks later. So the live site’s own setting is read before the copy and written back afterwards. If we cannot read it, the site is left visible to search engines, because wrongly indexing a site somebody wanted hidden is a setting they can see and change, and wrongly hiding one is invisible until the traffic is gone.

The One Case Where You Should Not Publish

Publishing replaces the live database, including anything that happened while you were working on staging. On a brochure site that means nothing. On a shop it means the orders, the customer accounts, the stock levels and the form entries taken since you made the copy are replaced by the staging copy’s older versions of them.

For a WooCommerce store, a membership site, or anything else that writes to its database while you work, the safe pattern is:

  1. Make the change on staging.
  2. Confirm it works there.
  3. Make the same change on the live site by hand: install the same plugin, apply the same setting, paste the same page.
  4. Delete the staging copy.

Staging’s value on a shop is that it tells you whether the change is safe. It is not a way to move the change across.

Rebuilding Staging From Live

A staging copy goes stale the moment the live site changes. When you want to start again from today’s live site, open the staging row and press Rebuild.

The Rebuild staging confirmation, which throws the staging copy away and takes a fresh copy of the live site
Rebuilding throws the staging copy away. Anything you did there is gone, so it asks you to type the word.

Rebuilding runs the same machinery as creating the copy, without spending another website slot. Everything on staging is discarded and replaced with a fresh copy of live, so if there is anything on staging you want, publish it or write it down first.

Deleting the Copy and Getting the Slot Back

When you are finished, delete the staging copy from Danger Zone on its own row. The website slot comes straight back, and so does the disk it was using, which for a copy of a large site is roughly as much as the original.

There is no reason to keep a staging copy between jobs. Make one when you need it; it takes a minute.

If Something Goes Wrong

The Staging button is not there

Three possible reasons: the site is a manual WordPress install we do not manage, your plan does not include staging, or the site already has a copy and the button now says Open Staging.

“All of your website slots are in use”

A staging copy needs a free slot. Delete a website you are not using, delete an old staging copy, or move up a plan. The Websites screen shows the count at the top.

The staging subdomain does not open

If you chose a subdomain of your own domain and your DNS is not with us, the address does nothing until you add an A record for it, and no certificate can be issued until it resolves. The dialog shows the IP address to point it at. Ten minutes is normal; an hour is not, and is worth a ticket.

Publishing failed

Then your live site was put back exactly as it was, from the backup taken at the start, before you saw the error. If the rollback itself failed you are told so explicitly and the backup is named. It is in Backups and can be restored by hand. Send us the message; we can read the node’s own logs.

The published site shows staging links

Rare, and it means a plugin stored an absolute URL somewhere the address rewrite does not reach. Tell us the page and the link; it is a fixable one-off, not something you should be hand-editing a database over.

Questions

Does a staging site cost extra?

No money. It uses one of the website slots your plan already includes, and the disk space of a second copy of the site. Delete it and both come back.

Can I have two staging copies of one site?

No. One live site has one staging copy at a time. You can rebuild it as often as you like.

Will Google index my staging site?

Only if you let it. The address carries a random string that nothing links to, and the create dialog offers to set WordPress’s “discourage search engines” option on the copy. If you are publishing a copy that has been visible for a while, check Settings → Reading on the live site afterwards.

Is staging the same as a backup?

No, and it is important not to treat it as one. A staging copy is a working area you will overwrite; a backup is a point in time you can return to. See Automatic backups: what is taken, and when.

What is the difference between staging and cloning?

Staging makes a temporary copy that is tied to its live site and can be published back over it. Cloning makes an independent second site on another domain, with no link back. See How to clone a WordPress site in one click.

Can I use a staging site to test a PHP upgrade?

Yes, and it is one of the best uses for one. Change the PHP version on the staging copy after it is created, though, not before. The copy is created on the same PHP version as the live site on purpose, so that it starts out identical.

Did this answer your question?

If not, send us the site and what you were doing and we will look at the server itself.

Open a ticket Back to the knowledge base