WordPress websites used to be very simple, but right now they contain more and more complex logic and functionality. Unlike before, now one website may require two or three developers working on it at the same time. There are a lot of plugins that need constant updating and WordPress itself always comes up with new versions that are important to install. When a WordPress website contains five to seven plugins, that’s not a problem. But what if a website has 50+ plugins? The production tangles up with development, staging, and QA site versions, especially when there is a different code/version. This can easily make WordPress website development and support process a hot hell.
In this post, we will show how we solve all of these problems.
Base system for WordPress website development
As a foundation we use Wordplate (https://github.com/vadimagesteam/wordplate)
This boilerplate provides an ability to use a composer through which all the plugins and the WordPress itself gets installed. This ensures that the developers always use the same plugins and the WordPress version. If the developer will decide to update the plugins and the WordPress version he will do it by updating the version in the composer.json. After testing/checking he will commit composer.json and composer.lock files. All other developers should be able to simply pull the updates and run `composer install`.
By the way, Wordplate provides a lot of awesome features – we will describe them in upcoming posts, so stay tuned.
For development, we use git repo. For each env of the site (live/stage/QA) we create a separate branch.
For each task, we create a new branch based on the live env. When the task is done, the branch with this task is merged into QA, after testing on the staging site, it gets pushed to live. By using this approach we can develop several different features at the same time. Also, this allows to easily check or update the development process.
This is a very basic description of our development process, but now you can see the overall approach to our WordPress website development projects and why we work fast never compromising on the quality. If you have any questions or suggestions for a better development process, send us a message. We would LOVE to chat about it.