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.comis a separate domain fromexample.comand uses its own activation, even though it sits under your main domain.wwwand nowwwwww.example.comandexample.comare the same site for licensing and use one activation.httpandhttpsThe protocol does not matter. Switching a site to HTTPS does not touch the license.
#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.
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,.exampleand.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.siteandddev.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.
#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.
#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