Plugin incompatibilities
All WordPress sites on the VIP Platform are provisioned with robust, built-in performance features such as:
- Varnish page caching that runs on a global network of edge cache servers.
- JavaScript and CSS files are concatenated in order to reduce the number of requests that occur on a single page load. CSS files are minified as well as concatenated.
- Gzip compression for all HTML, CSS, JS, and image files.
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.
Backup, export, and import plugins
Plugins that are intended to create SQL database and media backups, imports, and exports will not work as expected.
Tooling on the VIP Platform already exists for:
- Backups: Backups for an environment’s SQL database and media files occur automatically.
- Exports: Download database backups and download media backups at any time from the VIP Dashboard.
- Imports: Import SQL database files and import media files to a VIP Platform environment at any time with VIP-CLI.
Incompatibilities with the VIP Platform infrastructure have been observed in the following plugins that perform backups, exports, and imports:
Caching plugins
The features offered by caching plugins are already built-in and handled more efficiently by the VIP Platform’s 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: The VIP File System is read-only.
- Interactions with an .htaccess file: The .htaccess file only exists on Apache servers; VIP runs on NGINX.
Incompatibilities with the VIP Platform’s caching layers have been observed in the following plugins:
Image optimization plugins
Images uploaded to a site are stored on the VIP File System. The VIP File System automatically serves images that are:
- Converted and served as next-gen formats to compatible browsers, including *.webp files.
- Served with
srcset
attributes. - Able to be dynamically resized, cropped and processed.
- Cached at the edge.
Incompatibilities with the VIP File System have been observed in the following image optimization plugins:
Security plugins
Multiple security measures are supplied by VIP MU plugins for all WordPress sites, including protections for wp-login.php and xmlrpc.php.
All web servers run in read-only mode. This helps to protect applications on the platform against many common forms of attack (e.g. vulnerabilities that allow the installation of backdoor shells and other malicious files).
Incompatibilities with the VIP Platform’s security infrastructure have been observed in the following plugins:
SQL query-intensive plugins
Some plugins generate inefficient SQL queries or can trigger SQL-intensive cron tasks when they are not designed for an enterprise-scale site. Inefficient SQL queries can be compounded if a WordPress site hosts a significant volume of content, if the site is on a large multisite network, if a substantial number of users are registered, or if the application code depends on inefficient meta queries.
On the VIP Platform, cron processes are run in a separate container from application requests, but both share the same MySQL resources. A large volume of simultaneous SQL queries can overload the primary or replica databases, which can lead to an increase in responses with a 503
HTTP status code. Because of this, all SQL queries and cron tasks should be as performant as possible to prevent negatively impacting the site’s responsiveness, especially during planned, or unplanned, high-traffic events.
Plugins that require write permissions
The /tmp directory is the only writeable path on an application’s web servers. Plugins that attempt to write to any other directory will not work as expected.
Media files that are uploaded or imported to a VIP Platform WordPress environment are not stored in a filesystem local to the site’s web server. Media files are stored on the VIP File System, which is a read-only external object store.
Plugin operations that expect media files to be stored locally, and to have write permissions within /uploads/, will not work as expected. An alternative plugin should be considered. Otherwise, modifications might be needed for the plugin’s code to be able to work with uploaded files.
Required write permissions have been observed in the following plugins:
Plugins that attempt to create intermediate images
Plugins that attempt to create separate, additional versions of an image file (i.e., intermediate images) will not work as expected. These plugins can often be identified by operations that are intended to create 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.
Last updated: February 07, 2023