Skip to content

Plugins

Plugin incompatibilities

All sites on the WordPress VIP Platform are provisioned with robust, built-in performance features such as:

Adding third-party plugins that provide additional versions of these features is not only unnecessary, but may result in negative impacts on a site’s performance.

When considering a plugin to add to a site, verify that the plugin is not adding a version of a feature already provided by the platform. In addition, before adding any plugin to a site, complete the steps to evaluate a third-party plugin and its potential compatibility with the platform.

Caching

The features offered by caching plugins are already provided and handled more efficiently by the VIP Platform’s built-in Varnish page cache. Third-party caching plugins are not designed to work with the VIP Platform’s globally distributed edge cache servers and auto-scaling server architecture.

Caching plugins can also be incompatible due to

  • Attempts to write files to a cache directory: VIP’s containers are read-only.
  • Interactions with an .htaccess file: The .htaccess file only exists on Apache servers; VIP runs on NGINX.

Database backups, exports, and imports

Plugins that are intended to create SQL database backups, imports and exports will not work as expected. SQL database backups for VIP Platform environments run automatically, and database backups can be downloaded on demand in the VIP Dashboard.

Tooling already exists for:

  • Backups: SQL database backups for VIP Platform environments run automatically.
  • Exports: Database backups can be downloaded in the VIP Dashboard.
  • Imports: SQL databases can be imported to a VIP Platform environment with VIP-CLI.

Image optimization

Images uploaded to a site are stored on the VIP File System. The VIP File System automatically serves images that are:

Security

All web servers run in read-only mode. This helps protect applications on the platform against many common forms of attack (e.g. vulnerabilities that allow installation of backdoor shells and other malicious files).

Multiple security measures are supplied by vip-go-mu-plugins to all VIP sites, including protections for wp-login.php and xmlrpc.php.

Incompatible plugin operations

Write permissions for the VIP File System

  • Only the /tmp directory and the wp-content/uploads/ directory are writeable on the VIP File System. Plugins that attempt to write to any other directories will not work as expected.
    • Programmatic access to media uploads and writing to the wp-content/uploads/ directory requires the use of wp_get_upload_dir() or wp_upload_dir() to generate the correct, writeable path.
  • Plugins that attempt to create additional versions of an image file will not work as expected. These plugins can often be identified by operations that are intended to create additional versions of a file with an image size added at the end file name (e.g. my-image-300x300.jpg). The 300x300 dimension included in the file name indicates that the plugin expects to have write access, but the File System is read-only.
  • Plugins that create source code for images with a source domain that differs from the VIP site (e.g. https://i2.wp.com/my-domain.com/wp-uploads/my-image.jpg) will not work as expected.

SQL-intensive queries

Some plugins make SQL-intensive queries, and may also trigger SQL-intensive cron tasks. WordPress cron processes are run in a separate container from application requests, but because they both share the same MySQL resource, all queries should be as performant as possible. This is especially important for SQL queries and cron tasks occurring on high traffic sites (WordPress at scale).

Last updated: August 15, 2022