Automate WP upgrades at Bulgaria PHP Conference

Image: WikiPedia

Automate the update process for your WordPress website(s), plugin(s) and theme(s) to ensure you’re running the latest version safely and secure. Don’t you want to enjoy the things you love doing?

WordPress powers 26% of the internet is stated on WordPress.com website. This means it’s likely that you or someone you know has a website powered by WordPress. A simple blog, a web shop using WooCommerce or a true publishing platform: WordPress offers it all through many plugins and themes. It even comes with a convenient update tool, but only for WordPress itself. Depending on the amount of custom plugins and themes you have installed, you end up upgrading and updating your installation weekly, if not daily. And yes, it’s easy with one-click interfaces, but it’s still manual labor. And imagine you have not one site to maintain, but 50 or a few hundered, it’s all going to be a bit more challenging. You might wish you could automate this. Yes, you can!

Upgrade tools and services

There are several commercial and open-source tools that allow you to batch-update your WordPress installations. If you want an easy solution that will help you quickly, the following list will most likely provide a tool you would love.

These tools and services are designed to provide a solid solution for people who want to maintain one or more WordPress installations, and things like backups and testing can be purchased as a premium. Only the last two options allow you to automate the update process.

Continuous Deployment

At in2it we believe that everything should be automated if we have to do it more than once. This has given us a lot more freedom to do what we love doing: writing code and contributing back to the community.

All code we produce is versioned using Subversion or GIT. Our commit and push to our blessed repositories are still done manually. Once a change is detected in our blessed repositories, automated tests and provisioning tools are kicked into gear by our Continuous Integration (CI) servers. If every step is successful, the new changes are released.

  1. First on a testing environment to run our unit, integration, security and other tests.
  2. Secondly we deploy onto a “staging” platform to verify that the whole process of deploying works.
  3. Thirdly we deploy code live through a verified, automated process.

Continuous Deployment

This allows us to focus on the code and not on procedures. A continuous feedback loop from our CI servers will give us immediate notification if something was broken or incomplete, so we can intervene.

Continuous WordPress

A WordPress website is not too complicated code but many sites together can cause confusion. Each site is unique by the plugins and themes used. And since those are not part of the WordPress codebase directly it can quickly become a blind adventure where plugins and themes are forgotten or mixed.

To solve this, we approach WordPress, it’s plugins and themes as any another project. We can monitor the Subversion repositories of WordPress so we our CI servers can spot when there’s an update made to the codebase. Once the update is triggered, an whole series of actions are executed. You can automate all the steps you can think of.

Continuous WordPress processes

Automate all the things!

Join us at Bulgaria PHP in Sofia this October 7 – 9 where I will be presenting “Continuous WordPress, live is all good“. In this session I will go deeper into the subject of automating the maintenance of WordPress sites. No matter if you have a few or many sites to support, this session will give you all the insights needed to automate your WordPress updates.

If you haven’t got a ticket, move fast and get it now! And don’t forget: “Automate all the things!”


Michelangelo van Dam

Michelangelo van Dam is a senior PHP architect, PHP community leader and international conference speaker with many contributions to PHP projects and community events.