Moving a license to another domain, and using it for staging

Licensing 8 min read

If you are moving a site to a new domain, or want the theme licensed on a staging copy as well as the live site, these are the rules the license follows. Our servers check them, so knowing them up front saves a refused activation.

#One activation, one live domain

Each activation slot on a license holds one live domain at a time. The activation is bound to the purchase code and to that exact domain, and the site reports its domain on every daily check.

Two live domains at once

Need two activations. You can add activations to an existing license in your Hub account, without buying the product again.

A subdomain

blog.example.com is a separate domain from example.com and uses its own activation, even though it sits under your main domain.

www and no www

www.example.com and example.com are the same site for licensing and use one activation.

http and https

The protocol does not matter. Switching a site to HTTPS does not touch the license.

Buying more activations or another productFrom your account you can take four commercial actions without contacting anybody: add activation units to a license you already have, move to unlimited, upgrade the tier, or buy another pro...Customer Hub

#Moving to a new domain

Moving is always deactivate first, then activate. A site address changed in SettingsGeneral without deactivating leaves the old domain holding the slot, and the new domain is refused until that slot is released.

Deactivate on the old domain

Do it while the old site still works, from the license screen in the theme's admin. The slot is free as soon as it finishes.

Move the site

Migrate as you normally would. The copied database still carries the old license record, which is expected.

Activate on the new domain

Run activation on the new address. The license status changes to active.

If the old site is already gone, release its domain from your Hub account instead, then activate on the new one.

Deactivating a license to free the slotDeactivating releases a license from one domain so you can use it on another. It takes one click from inside the site, or a few from your account when the site is gone. When you need it Befo...Licensing

A cloned site follows the same rule. The clone carries the original's license record, reports a different domain, and shows as inactive. It needs its own activation, or the original has to be released first.

#Staging: one free slot per license

Each license has one free slot for a test or staging environment, on top of the activations you paid for. A local install and a staging site share that one slot.

The slot is only for a site that is a test environment. You ask for it by ticking Test or staging environment during activation, and Hub then checks the site. It is not granted on your word: in the past, many "staging" requests were a way to run several live sites on one activation, so the rules below are checked on every request.

#What qualifies without a probe

These addresses cannot be public live sites, so they are accepted by name:

  • localhost, and addresses on a private network
  • reserved suffixes that do not exist on the public internet: .test, .local, .localhost, .internal, .example and .invalid
  • staging addresses issued by a hosting provider: wpengine.com, wpenginepowered.com, kinsta.cloud, flywheelstaging.com, flywheelsites.com, pantheonsite.io, cloudwaysapps.com, instawp.xyz, wpmudev.host, myftpupload.com, lndo.site and ddev.site

#What Hub checks for any other address

For every other domain, Hub looks at the site from the public internet. A test environment is one the public cannot reach, and one of these has to be true:

  • the domain does not resolve in public DNS
  • the domain points to a private network address
  • the site is behind an access wall: password protection set up on the server or in your hosting panel, which answers every visitor with a login prompt
  • the hostname names the environment and the site also asks search engines not to index it

A name on its own proves nothing, because anybody can type "staging" into a hostname. A noindex on its own proves nothing either, because every site under construction and every coming-soon page sets one. Hub accepts the two together:

Address Public, indexable Public, noindex Password-protected
staging.example.com Refused Accepted Accepted
example.com Refused Refused Accepted

These hostname labels count as naming the environment: staging, stage, dev, develop, test, testing, preview, sandbox, qa, uat and demo. A label joined with a hyphen counts too, as in shop-dev.example.com.

The easiest way to get a staging site accepted is to put it behind a password.

Most hosting panels can protect a site or a folder with a password in a minute, and it also keeps search engines and visitors out of an unfinished copy.

#Staging sites are checked again every week

A staging slot is held for a long time, and a site can change in that time. Hub checks every staging domain again once a week, with the same rules as above. What happens when one of them has become a public live site is described in the next section.

Activating your theme licenseActivation turns a purchased theme into a working Pro install. It takes about a minute when it goes well. This page walks the whole flow and covers every point where it can stop, because tha...Licensing

#When staging goes live

Pushing a staging copy to your live site is normal, and the staging slot keeps covering the staging copy afterwards. The live domain needs its own paid activation.

The staging slot is not a second live site. If the staging address itself becomes the public site, the weekly check settles it in two steps.

The first check only flags it

The first weekly check that finds a public live site on a staging address flags it on the license, and nothing changes on your site. One result can have an ordinary explanation, such as password protection switched off for a deploy. If the next check finds a test environment again, the flag is cleared.

The next check settles it

If the check a week later still finds a public live site, the outcome depends on what the license has free.

A paid activation is free, or the license is unlimited

The site takes that activation and becomes an ordinary activation. Nothing goes offline, and the staging slot is free again for a real staging site.

No activation is free, and another live site already uses the license

The staging slot is released and that site stops verifying. To keep both sites running, buy another activation and activate the site again as an ordinary activation.

It is the only site, and the license has no paid activation

It is left as it is.

You do not have to wait for the check. Deactivate the site and activate it again as an ordinary activation, without the staging box. Keeping a live site in the staging slot is a way around the activation limit, and bypassing licensing breaches the Terms and Conditions.

License problemsIf your theme license will not activate, or your site suddenly shows it as inactive, this page is the place to start. It lists the known causes and links every licensing article in the Knowl...Troubleshooting

#Common questions

Can I keep a live site and a staging site active at the same time?

Yes. That is what the free slot is for: one paid activation on the live domain and one test environment alongside it.

My staging site was refused as a live site

The message names the rule the address failed. Usually the site is publicly readable: it has no password, and either no noindex or no environment label in the hostname.

Put it behind a password, or move it to a hostname such as staging.example.com that also asks search engines not to index it, then try again.

I fixed the site and it is still refused

Hub remembers the result of a check for up to a day, so a site that was just protected with a password can still get the earlier answer. Try again the next day, or use a reserved suffix such as .test for a local copy, which is accepted straight away.

My site is behind a coming-soon page, or has search engines discouraged

That is not enough on your main domain. Both set noindex, but anybody with the address can still read the site, so it counts as live. A site you are building on its real domain before launch uses an ordinary activation.

The message says the license already has a test environment

The free slot is taken by another staging or local site, and the message names it. Deactivate that one in your Hub account or on that site, then try again. A second test site at the same time uses a paid activation.

Two developers each have a local copy

The free slot covers one test environment at a time. The second copy either uses a paid activation or waits until the first one is released.

My site is password-protected and still refused

Check how the protection works. Password protection set up on the server or in your hosting panel stops every request with a login prompt, and that is what Hub sees.

A plugin that sends visitors to a login page on another address answers with a redirect instead, and a redirect does not count as an access wall.

Can I just tell support the site is staging?

The staging slot is earned by passing the check, not by a description of the site. If you believe the check read your site wrongly, send a support request with the address and the exact message.

Activation on the new domain is refused after a move

The old domain almost certainly still holds the slot. Open the license in your Hub account, release the old domain, and activate again. If every slot is in use by sites you still run, you need another activation.

#Still stuck

Open a support ticket and say what you tried and where it stopped. Your product, your domain, a screenshot and the exact message you saw are usually enough to settle it in one reply.

Last updated

Was this article helpful?

Related articles

FIND THE ONE THAT FITS YOUR PROJECT

Import a demo, swap the content, adjust the layout. Modern WordPress under the hood, fast even when the site fills up.