Plugins are my bread and butter. I spend a great deal of time using them, organizing them, and evaluating them. Many WordPress users out there probably have a few groups of plugins they like to start sites off with. One set for client sites, another for blogs, another for test sites, etc. But keeping track of these various groups and manually installing them to every fresh WordPress install can be a bit of a hassle. Luckily, there are a few ways to approach the task.
The Simple Way
Fortunately, there are tools out there that allow you to group plugins together, and then move them from site to site. Most of them work by allowing you to create plugin bundles, which then fetches and downloads each individual plugin to your site all at once. This allows you to store various groups, and then easily move them from one site to the next.
The best that I’ve seen in this category is WPCore, which is actually fairly new. It allows you to create bundles of plugins, simply by searching for them and adding them to collections. Then, you can install the WPCore plugin, enter in the ID of your collection, and the plugin will automatically install these to your site. WPCore has support for third-party premium plugins as well, which I haven’t really seen anywhere else. All you have to do is enter in the URL of the plugin, and it will add it to your collection.
WP Install Profiles works in a similar way, allowing you to create various plugin profiles, or groups. You can then download these profiles and import them to any new site. However, WP Install Profiles is limited to free plugins hosted on the WordPress.org repository. But if that’s all your looking for, it’s easy to get up and running without an account.
WP Roller takes this one step further, allowing you to bundle together an entire WordPress install, with plugins and themes together. You can choose from their list or add your own from the WordPress.org repository or GitHub. At the end, you’ll download a big zip file containing all of the necessary files, including your plugins and themes, which you can then install like any other WordPress core download. They have free and premium plans available. If you’re just looking to manage WordPress plugins, this may be a bit much for you, but if you want to be able to group together a custom WordPress install, it’s a great option.
The Nerdy Way
If you’re a developer, or just a WordPress user comfortable with the command line, there’s another option for you. WP-CLI, a command line tool for WordPress, allows you to automatically install plugins with a simple command. Getting WP-CLI up and running requires you to install the package and run its installation process (full instructions here), but after you get it up and running, you simply need to cd into your site and you have access to a whole list of plugin commands without ever having to visit the admin. For instance, running:
wp plugin list
This will give you a list of all the plugins installed on your site. Even more helpful, you can install, activate, or deactivate a plugin right from the command line too. If the plugin exists on the WordPress.org repository, all you have to do is enter in the plugin slug to install it:
wp plugin install bbpress --activate
I added the “–activate” flag to automatically activate the plugin after it’s installed. If the plugin lives somewhere else, simply link to its zip file, locally or remotely, to install it.
wp plugin install http://s3.amazonaws.com/bucketname/my-plugin.zip?AWSAccessKeyId=123&Expires=456&Signature=abcdef wp plugin activate
There’s [a few more commands] WP-CLI gives you access to, making it fairly easy to get a new WordPress install up and running with the plugins you need, without having to visit the admin.
And once you’re familiar with WP-CLI you can also check out Dictator, a WP-CLI extension which allows you to save the “state” of your WordPress install, including a list of plugins that are active on your site. Your WordPress install’s configuration is saved as a flat YAML file, which can then be automatically added to any new site. So, after you use WP-CLI to install all the plugins you need, you can run:
wp dictator impose site-state.yml
And the plugins you installed will be brought to the state (activated or deactivated) of your previous WordPress install.
The Complete Management Way
For those of you managing several WordPress installs that don’t want to bother with the hassle of creating your own plugin bundles, there are management services which allow you to control all of your WordPress installations from a single location. This means you can easily spin up new installations, move or install plugins and themes across multiple sites, and activate or deactivate plugins all at once or site by site. These solutions take the hassle out of maintaining several sites, but they come at a price. Most of these services also include handy extra features, like automatic plugin updates, backup options, and security enhancements.
The most popular options I’ve come across are ManageWP and InfiniteWP. Both take a single-dashboard approach, where you can monitor multiple WordPress installs from a single web page, add plugins and themes, perform updates, and manage settings. And fortunately in both it is possible to install and update plugins across all of your sites with a single click.
ManageWP, however, focuses a bit more on backup and deployment, so it’s possible to easily migrate WordPress installs to new servers, or spin up new WordPress installs based on the settings of existing ones. This can be useful for replicating your plugin groups site to site.
InfiniteWP has done something interesting by bundling together various plugins as paid “add-ons” to their platform. This means that plugin functionality (such as Broken Link Checker and Wordfence) can be accessed and plugins can be run right from the InfiniteWP dashboard. That makes it easy to manage certain plugins across multiple sites all at once. And this includes support for the plugin if you run into problems.
Either way, hopefully you’ve found a way to manage your plugins better so you can just get right to the fun stuff.
Know of a way to manage plugins I didn’t mention? Let me know in the comments.
Jay Hoffmann is a WordPress developer hailing from NYC. In the strictest sense of the word, he is a WordPress enthusiast with an eye for front-end development and design. He has been working with WordPress since 2006 and currently works for a popular children’s media company. This year, Jay started Tidy Repo, a curated list of the best and most reliable plugins from around the web. You can also follow Jay on Twitter.