Working with WP Engine’s Legacy Staging

WP Engine is one of the main web hosts I use for Anchor Hosting. They recently announced new staging and development environments which will eventually make the existing staging site feature obsolete. In fact they now call staging “Legacy Staging”. During this transition phase having both legacy staging and the new staging and development environments is a bit of a mess.

Legacy staging has known shortcomings.

The legacy staging site is very basic and arguably easier to work with. It’s just a few simple buttons located right inside WP Engine’s tab on the WordPress backend. That said there are a number of issues I’ve run into while using them over the past few years.

  • wp-config.php modifications – Whenever deploying to/from staging, the wp-config.php file is injected with defined HOME and SITE_URL parameters. This wouldn’t be an issue except that these are prefixed with http://. That causes issues when all of my sites are running https://. My workaround is to manually comment out the 2 lines from wp-config.php which prevents it from re-applying. 
  • Not all uploads are copied – This might be a surprise however not all files in the upload directory are copied. Large files like videos or compressed archives are not included in the sync process. Also some older files are also not synced over which often requires me to manually sync the upload files via sftp. 
  • No SSH  access – While SSH access is a more recent addition to WP Engine it doesn’t support the legacy staging sites. 

New environments match a regular WP Engine site more closely.

From what I can tell, the new environment’s are really just a clever UI trick. Under the hood, WP Engine is simply spinning up regular environments, which means that all of the WP Engine features will work across each environment. It makes sense that WP Engine won’t fix the legacy staging issues if the their new environments already work just like regular sites.

Ideally everything should be manageable via wp-admin.

WP Engine could make this transition phase a lot more friendly with an improved the WP Engine tab within the WordPress admin (there custom mu-plugin). Most people won’t discover the new environments listed exclusively under WP Engine’s portal https://my.wpengine.com. Meanwhile the wp-admin tab still allows you to generate legacy staging sites even for all of the new environment sites 😧. This would be easily fixed if both new environments and legacy staging sites could all be managed from the WP Engine tab via wp-admin.