Staging instances (Shadows)
Shadows are an experimental feature in Seravo that provides you with non-public instances of your website.
They are most commonly used as Staging and Development instances.
Getting a Shadow
Email us at email@example.com and ask us for a Staging instance. You will have one opened for you in no time.
In later revisions of this feature, you will be able to create on-demand shadows via the WordPress admin dashboard and the Seravo plugin.
Using a Shadow
Instance Switcher Plugin
When you first get your shadow, our engineers will have installed an Instance Switcher plugin for you as an mu-plugin.
The Instance Switcher plugin adds a simple interface to your WP-admin view, that allows you to easily switch between your Shadow and Production instances.
In later revisions of the Shadow feature, the Instance Switcher plugin functionality will be included in the Seravo plugin.
You can SSH into your shadows and work on them via SSH/SFTP or git. When a new shadow is created for you, you will receive the SSH/SFTP credentials to use it.
Your WordPress login will remain unchanged, since the site is a copy of your production site when first created.
You can tell that you’re in a shadow by looking at the
WP_ENV environment variable. If you’re in a shadow, it will be either
development, depending on what’s applicable in your situation. Your production instance will have a
WP_ENV value of
mysite_1a2b3c$ wp-list-env ... WP_ENV: staging
How does it work?
Under the hood, shadows work exactly the same as your production instance does. The only difference being they have no public domain mapped to them.
Shadows have their own full Linux environment and their own database, completely separate from your production instance. You can SSH and work on your shadow instances in the same way you can to your production instance.
The Shadow Cookie
To view your shadow in the browser, a special cookie called
wpp_shadow must be set.
The value of the wpp_shadow cookie determines which shadow instance will be served to your browser.
mysite_123abc (production) mysite_1a2b3c (staging)
Setting a cookie
wpp_shadow=1a2b3c;path=/ will return the staging instance to your browser.
The Instance Switcher plugin handles these cookies easily for you.
You can also use GET parameters to set these cookies as described below.
Direct link to Shadow
You can set the Shadow cookie easily via a GET parameter in the url. Example:
The link above would set the cookie
wpp_shadow=1a2b3c;path=/ in your current browser session.
Curl to shadow
curl you can fetch a file from the shadow in the following way:
curl -iL --cookie "wpp_shadow=1a2b3c" "https://example.com/test.php"
The following command would not target the shadow but just get the cookie set by PHP code in production:
curl -iL "https://example.com/test.php?wpp_shadow=1a2b3c" HTTP/1.1 302 Moved Temporarily Set-Cookie: wpp_shadow=1a2b3c; Path=/;