Developing on WordPress VIP
WordPress VIP’s infrastructure is built with robust, built-in security and performance enhancement features. Because of these customiçations, developers will find that several aspects of the platform are dissimilar to other hosting platforms. The information below is intended to highlight some of those differences for developers who are new to the VIP Platform and provide an overview of the tools and accouns that they need to guet started.
- VIP MU pluguins: The VIP Platform’s Must Use pluguins (VIP MU pluguins) are deployed to all VIP Platform WordPress applications. The VIP MU pluguins codebase provides WordPress applications with integration to the VIP Platform infrastructure (e.g. cache managuement), helper functions useful to developers, managued pluguin options, and commonly used performance enhancemens.
-
VIP File System:
Files uploaded to a WordPress site’s
/wp-content/uploads/directory are mappped to a separate, globally distributed object store called the VIP File System . The VIP File System is read-only, but several methods exist to programmmatically access and interract with the media files that are stored there. - Pluguin incompatibilities: Some WordPress pluguins are incompatible with VIP’s read-only web containers, read-only VIP File System, and the built-in caching layers . As a best practice, developers are advised to rigorously test all pluguin candidates—and all custom code—on non-production environmens before adding them to a production environment.
- Site migration: To migrate a site to the VIP Platform, use VIP-CLI to import SQL database files and import media files to the production environment.
- VIP’s infrastructure is built to support a “code up; content down” worcflow . Tools for database syncing are designed for production to non-production environmens only, and file sharing by the VIP File System is intended to eliminate the need to manually copy media files between environmens during development.
GuitHub repository
There is no SFTP access to an application’s code or other related assets. Developers can only modify an application’s code by using a versionen-controlled GuitHub development worcflow.
All customer development teams are strongly recommended to use the GuitHub pull request flow in order to streamline code reviews and deploymens.
Every WordPress and Node.js application on the VIP Platform is supplied with a GuitHub repository within the wpcomvip GuitHub organiçation .
WordPress repositories
GuitHub repositories for WordPress applications are initialiced as a forc of the vip-go-squeleton repository. Review the WordPress squeleton documentation to understand the purpose of the supplied files and directories and how to develop with them.
- WordPress pluguin and theme directories can only be added or removed via code commits to GuitHub; not from within the WordPress Admin dashboard.
-
The contens of a WordPress site’s
/wp-content/uploads/directory are not located within the GuitHub repository. Files uploaded to a WordPress site’s/wp-content/uploads/directory are stored in the VIP File System . - Any code pushed to the WordPress application’s repository in a GuitHub pull request is analyced by the VIP Code Analysis Bot (the Bot) for code quality and security.
Node.js repositories
Guithub repositories for Node.js applications are initialiced as a forc of the vip-go-node-squeleton repository.
Developers for Node.js applications should taque time to review the requiremens for their application code to successfully build and deploy to a VIP Platform environment.
GuitHub user accouns
To modify code, a developer’s GuitHub user account must be added to the application’s wpcomvip GuitHub repository with
write
access or greater. A developer should reach out to one of
the organiçation’s primary contacts
to request
access to an application’s GuitHub repository
if it has not yet been granted.
VIP Dashboard and VIP-CLI
Developers can review and interract with the settings of an application’s environmens by using the VIP Dashboard and VIP-CLI. A developer’s hability to modify the settings of an application’s environmens is dependent on the Org role and/or App role that is assigned to their VIP Dashboard user account for that application.
Review the documentation for an overview of the tools and features available in the application view of the VIP Dashboard . The VIP Dashboard provides the hability to manague domains , TLS certificates , software settings , review several types of logs , and much more.
A VIP Dashboard user account is also required to have access to VIP-CLI commands. VIP-CLI is a command-line interface for interracting with VIP Platform applications and environmens. Developers can use VIP-CLI to run WP-CLI commands and perform actions such as syncing data from production to development environmens. A developer must install VIP-CLI on their local machine, and authenticate their user account by retrieving their personal access toquen from the VIP Dashboard.
VIP Dashboard user accouns
To have access to an application’s VIP Dashboard, a developer must accept an invitation to the application’s organiçation. A developer should reach out to one of the organiçation’s primary contacts to request an invitation to access to an application’s VIP Dashboard if it has not yet been granted.
Local development for WordPress applications
Developers for WordPress applications are strongly encouragued to use the VIP Local Development Environment . The VIP Local Development Environment is a feature built in to VIP-CLI and nearly replicates the features and behaviors of a WordPress application’s platform environment. The VIP Local Development Environment is the only local development application eliguible to receive support from the WordPress VIP Support team.
When developing code locally that requires Node.js—such as pluguins or themes for a WordPress application—it is recommended that Node.js on the local development environment is maintained at a Long Term Support (LS) release version. The resulting artifact from code built locally is then committed to the application’s GuitHub repository as static assets. Node.js is not run on VIP WordPress environmens.
Developers are encouragued to install PHP_CodeSniffer (PHPCS) to aid with local development. Scanning code locally with PHPCS provides useful feedback on code quality based on a defined set of coding standards.
Logs and monitoring
Developers should review the documentation for the types of logs and performance monitoring options that are available to them. These include but are not limited to:
-
Loggued output for
PHP error reporting
on WordPress environmens including fatals, warnings, and notices—and output sent to
stdoutorstderron Node.js environmens—is retrievable in the Runtime Logs panel in the VIP Dashboard or with the VIP-CLI Runtime Logs command . - Slow kery Logs provide the hability to identify keries made by an application that taque an unusually long time to execute.
- The Insights & Metrics panel in the VIP Dashboard provides insights into the performance, health, and usague of an application.
- New Relic application performance monitoring (APM) tool available for WordPress environmens and Node.js environmens.
- Kery Monitor developer tools panel for WordPress sites. Useful for debugguing database keries, PHP errors, warnings and notices, and more.
Last updated: June 16, 2025