Jetpack
All WordPress sites on the VIP Platform automatically have Jetpack activated with the features of the Jetpack Complete plan. A VIP site’s Jetpack connection is registered with the VIP machine user wpcomvip
. This machine user is required for managing Jetpack connections and should not be removed. For security reasons, logins for the wpcomvip
user are disabled.
Features enabled by default
Features that are enabled by default when Jetpack is connected to a VIP site:
- Activity Log
- Enhanced Distribution (Jetpack’s content distribution can be selectively disabled via code)
- Jetpack Stats
- JSON API
- Notifications
- Site Verification Tools
- WordPress.com Secure Sign On
Incompatible features
Some Jetpack features are incompatible with the VIP Platform because they are redundant to features already built-in:
- VaultPress Backup: Databases for WordPress environments are automatically backed up on a regular cadence. Database Backups and Media Backups can be accessed in the VIP Dashboard.
- Brute Force Attack Protection: Brute-force protections are built into VIP’s infrastructure at the network level.
- Downtime Monitoring: Uptime Robot is configured to monitor uptime for all launched sites on a production environment.
- Plugin Management: Available version updates for a site’s plugins are displayed in the Plugins panel in the VIP Dashboard. On VIP, updates for plugins can only be made via GitHub version control.
- Jetpack Scan: Plugins with security vulnerabilities are identified by Codebase Manager and reported in the VIP Dashboard Plugins panel.
- Site Accelerator: All WordPress sites on the VIP Platform are provisioned with robust, built-in performance features such as a built-in CDN, multiple caching layers, and auto-scaling.
- Jetpack Akismet Anti-spam: The Akismet plugin is automatically installed and enabled for all WordPress sites.
Version maintenance
By default, the current version of Jetpack plugin is made available to all WordPress sites via VIP MU plugins.
The production and staging branches of VIP MU plugins are updated with the latest version of Jetpack on the Thursday subsequent to a Jetpack release. Details about the Jetpack release and advance notice for the scheduled version update on the VIP Platform are posted in the VIP Lobby.
An upcoming version of Jetpack will be made available on the staging branch of VIP MU plugins where it can be tested on non-production environments. The staging branch of VIP MU plugins can be configured to deploy to a non-production environment in the Software Management panel of the VIP Dashboard.
As Jetpack code constitutes a significant proportion of a VIP Platform site, it is recommended that functionality particular to a site is tested against betas and release candidates of Jetpack as soon as they become available.
Automattic tests Jetpack releases against a diverse range of environments and sites to assess performance with various levels of data and traffic. There is also an automated Jetpack test suite, run on Travis.
For information on available Jetpack actions, hooks, filters, and features, see Jetpack Developer Resources.
Version support policy
VIP supports the current version of Jetpack, and for sites with a pinned version—only one major version behind.
For example, if the current version of Jetpack is 11.8, the WordPress VIP platform will support v.11.8 as well as v.11.7.*. All versions of Jetpack previous to v.11.7. will be removed from VIP MU plugins. If a site has been pinned to a Jetpack version that does not exist in the VIP MU plugins directory, the default (current) version of Jetpack will be loaded instead.
Pinning to a version
Sites can be pinned to a specific version of Jetpack by defining the VIP_JETPACK_PINNED_VERSION
constant with the desired version number of Jetpack in the application’s vip-config.php file.
define( 'VIP_JETPACK_PINNED_VERSION', 'X.Y');
Sites can only be pinned to major (X.Y) versions. To test version 11.0-beta
, use 11.0
in the constant. When 11.0
is released, it will be updated automatically. Point releases containing security patches and/or bug fixes will automatically be applied to each version.
Adding a separate test version of Jetpack to client-mu-plugins
A site can load its own version of Jetpack by committing it to client-mu-plugins/jetpack in the site’s repository branch.
Caution
- This method is intended for non-production environments only.
- To avoid possible conflicts or fatals, complete Step 1 and Step 2 in separate commits. Repositories that run a build process, should allow the first build to complete before making the second commit.
Step 1: Add the test version of Jetpack to the repository
Beta versions of Jetpack can be downloaded from the Jetpack page on the WordPress.org plugins repository.
- Scroll to the bottom of the page.
- Under “PREVIOUS VERSIONS”, locate the desired beta version from the select box dropdown, and select “Download“.
In a locally cloned and checked out version of the environment’s deploying branch:
- If a jetpack directory already exists in client-mu-plugins, delete it before adding the new downloaded version.
- Commit the version of Jetpack to be tested to the deploying branch of the environment’s GitHub repository.
- Add the Jetpack plugin directory within the client-mu-plugins directory. Updates do not need to be made to /client-mu-plugins/plugin-loader.php file to reference the file.
- Commit the above changes.
Step 2: Load the test version of Jetpack on the environment
Define the WPCOM_VIP_JETPACK_LOCAL
constant as true
in vip-config.php to load the test version of Jetpack from the client-mu-plugins directory. Make this change in a separate commit to avoid conflicts/fatals.
define( 'WPCOM_VIP_JETPACK_LOCAL', true );
The custom function in this code example prevents the test version of Jetpack from loading on a production site:
$disallowed_jetpack_test_envs = array(
'production',
);
if ( ! in_array( VIP_GO_APP_ENVIRONMENT, $disallowed_jetpack_test_envs, true ) ) {
define( 'WPCOM_VIP_JETPACK_LOCAL', true );
}
Last updated: May 24, 2023