I have inherited a situation where our team supports over 100+ separate WordPress installs for various clients. I am looking to make the whole process a bit more efficient.

For all of those in a similar situation of managing a large number of Wordpress installs:

Are there any tools or techniques that are helpful? The thought of migrating all of these to 3.0.2 by logging in or writing a script from scratch both sound particularly unappealing.

  • 1
    I'm planning on launching a set of tools to address the needs of pro WordPress developers. I'd love to get your input on what you need. You'll find my email in my profile. – MikeSchinkel Dec 7 '10 at 3:17

Well it depends on how/where they are hosted. If if they are hosted on different servers or the same I would still use the command line and a script file. If they all have different usernames/passwords you going to have to write a lot. Pre-planning will save you a ton of time in maintenance.

First it would be best to get some data on all the sites, for instance versions.

Here is an example of a script file for multiple servers, http://www.cyberciti.biz/tips/execute-commands-on-multiple-linux-or-unix-servers.html but in your case you would do something like grep wp_version wp-includes/version.php to get all the version info.

Of course if they all have diff admin passwords you would have to include each one.

An alternative would be to write a script to crawl the sites to grab the meta generator tags ( though they are sometimes disabled).

I would also do a mass backup using the command line and a similar script, possibly automated to a date based dir and using an sql dump.

You can then also update to the latest version for all 100+ servers using a command to run a script file.

The big drawback would by incompatible plug-ins/themes or if any core code was edited, this is why I would try and gather as much data as possible to avoid any issues with keeping them up to date.

I do not know of anyway to automate getting a list of active plugins though, so you might have to manually get some info and hopefully you have command line access to the sites.

It might take a while to set this and and perfect it, but the benefit is that you can tell your boss it takes 2 weeks, and that will leave you with 1.9 weeks of free time.


Theres no limit to the number of ways to manage this situation.

I wrote a script that uses

  mount --bind   

to link all of the wordpress core files to a single location on the server, which is mounted as read-only even though the files can be edited via the one folder.

The two directories I have bound are wp-admin and wp-includes (not wp-content) as well as wp-settings.php and any other files besides wp-config.php

With this setup its as easy as doing this to upgrade:

 cd /wordpress-master
 wget http://www.wordpress.org/wordpress-latest.zip
 unzip wordpress-latest.zip
 cd wordpress
 mv wp-admin ../
 mv wp-includes ../
 mv *.php ../


It takes me around 15 seconds to upgrade 50+ sites. Not to mention that all of the wordpress core files are secured from anybody who manages to hack into the FTP or something weird like that.

So for theme compatability issues, it is possible to do this for your setup: (heres how mine is)

 /vhosts/master/4.5.2/   has  wordpress v4.5.2
 /vhosts/master/4.5.8/   has  wordpress v4.5.8
 /vhosts/master/4.6.2/   has  wordpress v4.6.2

an update script might have this in it: (in psuedo code)

 read a file containing the version mounted to each wordpress site,

 foreach site {
      unmount the current site's bound files

      mount the current site's upgrade version

      execute 'wget (sitename/index.php)'  and save to a file

      if the file contains the </html>  tag  near the end 
           then it the site upgrade completed, 
           leave the new binding and 
           update the file with the new version

      if it doesnt, then the upgrade failed
              unmount the site from the newest version,  
              remount it back to the version in the file


I know this was asked a while ago, but you should check out ManageWP. It's still in beta, so it's got some quirks, and I think you can only manage up to 100 sites there, though you may be able to ask for permission to manage more. You can upgrade sites and plugins from this one dashboard, post to multiple sites, and more. They're adding new features all the time, like the ability to backup and clones sites.

It was created by Vladimir Prelovac. http://managewp.com/

  • What happen if manageWP crashes? Or gets hacked? You could be on the receiving end of a terrible situation where a hacker manages to steal your one password and logs into your manageWP account then completely destroys all of your sites (happens with multi-site WP) – mike510a Sep 30 '16 at 7:43

You need to think about multiple situations. I like Mike Nickaloff's approach but what if your 56th wordpress site's theme uses out dated theme and it's not compatible with your latest Wordpress core update? It will crash that particular site when you upgrade your core. What if a client who hosts site on your server wants to migrate to different agency or developer? If you use ManageWP approach, your site will bound to ManageWP. In your situation, I would look for managed Wordpress host, such as WPEngine, that can manage server side administration for you. Managed Wordpress hosting providers will administer server for you and it will help you resolve issue very quickly.

  • There is an easy way around this -- see my updated post – mike510a Sep 30 '16 at 7:32

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.