MainWP is a WordPress site management tool which came to my attention recently, it works similarly to sites like ManageWP and InfiniteWP in that it allows you to control multiple WordPress sites from one location. It allows you to do things like carry out WordPress core, theme and plugin updates, carry out backups and publish content.
What makes MainWP stand out though is that it is a free self-hosted plugin so you can install the MainWP Dashboard on your own server and then add the child plugin to sites which you wish to manage to that location - you are not relying on someone else's servers or giving away information about your sites to a third party.
Before we take a look at how the plugin functions, here is a full run-down of the features included:
- Updates - Update WordPress core, themes and plugins
- Backups - Schedule backups for each site on a daily, weekly or monthly basis
- Content Management - Write posts and publish them on any site without having to login to each one.
- Bulk Posting - Post content to multiple websites at once
- Self-Hosted - Keep everything on your own private server, no record of actions, sites or passwords are shared with anyone.
- Discovery Protection - Protects your sites being discovered by competitors, search engines or anyone else.
- Extensions - A number or premium extensions are available from the MainWP website.
- GPL - The MainWP plugin and child plugin are GPL and hosted on Github.
Installing the MainWP Dashboard
To get started you need to install the MainWP plugin somewhere, it is highly recommended that you use a fresh installation of WordPress that you will use only for MainWP. This will help to cut down on Plugin Conflicts and other issues that can be caused by trying to run your MainWP Main Dashboard off an active site. Once it's installed you should now install the Child plugin on each site you wish to manage.
Adding Child Sites
Download and install the Child plugin on as many sites as you would like to manage using MainWP. Once activated you will see this rather dramatic message telling you to return to your MainWP Dashboard site so you can add it there.
At your MainWP dashboard, visit the "Sites" > "Add New" menu item and enter your child site's details. You can also create groups here should you want to group different types of site together.
Managing Your Sites
After you have added your first site, you will see it listed under the "Manage" section of your sites, along with links to visit the dashboard, perform a security scan, create a backup and write a post.
If you hit the "Edit" button next to your site, you can setup your site-specific settings. This screen allows you to setup an offline check so you receive an email if the site goes offline, you can setup automatic updates for core, plugins and themes and you can set a backup archive format ( zip, tar, gzip etc ).
On the same page, you can visit the "Backup" tab to set up all your options for taking backups, whether to take full or database only backups, files or folders to exclude and so on.
The "Security" tab allows you to perform a security scan and makes some recommendations which can automatically be fixed. Here you can also link your Sucuri or Wordfence accounts to handle security for you.
The MainWP Dashboard
If you visit the MainWP Dashboard link, here you will find information related to the child sites you have added. You can see at a glance if you have any core, theme or plugin updates and you can manually update them with one click.
The Dashboard also lists your recent posts and pages and lets you add new ones to any site in your network. Also listed are any security issues and backup tasks.
At the bottom of the dashboard you will find the documentation links, you can search for information here and underneath is the latest news from MainWP also.
If you need to add extra functionality to your MainWP installation, there are a number of free and paid extensions available here. Currently there are 7 free extensions and 25 paid extensions. Extensions are available to purchase separately at a cost of around $29 or there is a bundle which includes every extension and all future ones for life at a cost of $399.
Some of the more interesting ones I picked out while looking through are the MainWP Branding extension which lets you completely rebrand the child plugin with your companies name and website details or even hide the plugin from showing up, this one could be handy for agenices managing their client's websites. It also let's you brand the actual WordPress admin area by creating a custom login, custom favicon, remove default widgets etc.
Another good one for agencies who manage client websites is the Client Reports extension, this one lets you create PDF reports of the activities carried on the child site such as updates, backups posts created and so on. You can create customized PDF reports, you can view an example here.
There is a Heatmap extension which when activated will show where users clicked on your website so you can test and improve conversion rates and usability.
I was impressed with this plugin, I thought it would be a pain to setup but it's really easy and it the base plugins pack in most of the features you will need to effectively manage unlimited number of websites. Being able to create groups is a nice touch so you could add groups for your own sites, client sites etc.
If you are a freelancer or agency then I can see you being able to use MainWP to create a product offering which you can sell on to your clients for a monthly support fee. If you decide to do this, you will probably need to purchase a few of the paid extensions, but they are quite reasonable considering what you could charge for such a service - really even buying the full extension bundle is worth it considering you get every extension they make for life.
Check it out if you're looking for an easy way to manage lots of sites from one location, for free.