Extensions, themes, or even WordPress core: as you surely know, updating your site is essential to protect you from security breaches and guarantee its proper functioning.
The problem is that all of this can take time. Much of the time. Especially if you hit updates manually, extension by extension.
For a site, pass again. But imagine if you have to manage 2 sites, 5 sites, 10 sites, 30 sites. Your schedule is likely to fill up quickly… However, performing H24 maintenance is not necessarily your objective.
Fortunately, there are very practical tools to administer several sites at the same time automatically, from the same dashboard. And at the same time, save precious time.
One of them is called MainWP. As you will see throughout this article, this extension goes much further than the “simple” option to update your sites.
In practice, it is a real site management system that it offers.
Originally written in September 2016, this article was last updated in March 2022.
What is MainWP?
MainWP is an extension free and open source that allows you to manage the maintenance of all your WordPress sites from a single dashboard.
From there, the possibilities are multiple: updating extensions, themes and the heart of WordPress, security scans, backups, post/comment/user management, etc.
One click and you update all of your WordPress sites. One click and you install your favorite extension on all your sites. One click and you add, delete or modify the role of all your users.
Do you see this time saving?
MainWP is self-hosted: it only works on a WordPress installation, not in SaaS mode (Software as a Service), like one of its main competitors, ManageWP.
The major interest is that with this system, you keep your private data warm.
Finally, MainWP can be used on an unlimited number of sites. Now, let’s start by seeing how this plugin works. Or rather, these plugins.
As you will see, MainWP’s mode of operation is rather atypical.
MainWP is operational thanks to two free extensions:
- MainWP Dashboard (10K+ active installs, 4.9 stars) installs MainWP’s site management system and dashboard. It will be your HQ in a way: it is from there that you will be able to control and manage all your WordPress sites, regardless of the hosting server on which they are installed;
MainWP Child (500K+ active installs, 5 stars) installs on any WordPress site you want to manage with MainWP.
It allows you to link your child sites (the “child sites”) to your dashboard (the parent site where MainWP Dashboard is installed).
MainWP Dashboard is a basic platform for generic maintenance. A set of useful free and paid extensions accompany this base for more specific maintenance.
I will come back to this a little later in the article.
What are the core features of MainWP?
By installing MainWP Dashboard and its free extensions, you have access to:
- one-click update core and WordPress plugins and themes;
- multiple scheduled backups on different repositories (via the extensions UpdraftPlus, BackWPup, etc.);
- to security scans (via Sucuri) to detect the presence of malware, bugs and other spam;
- to user management (addition, rights, passwords);
- managing articles and pages (publishing, updating, editing);
- extension management (addition, deactivation);
- update settings (automatic and ignored);
- to monitoring of your websites (in particular via the service UptimeRobot);
- to e-mail notifications during backups, updates and unavailability of your sites ;
- securing your dashboard ;
- control of abandoned extensions.
The little + : If a plugin or theme hasn’t had an update for a while, MainWP creates a “maybe discontinued” status to alert you to the likely need to switch plugins.
What are the system requirements to use MainWP?
MainWP requires some basic configuration for the proper functioning of the system. At the time of writing these lines, the minimum recommended prerequisites are the following (non-exhaustive list):
- WordPress 3.6 or higher;
PHP 5.6 or higher;
- MySQL 5.0 or higher;
- WordPress PHP memory limit: at least 64 MB.
Obviously, it is recommended and preferable, especially for security and performance reasons, to have a site running the latest version of WordPress and PHP (see all system requirements).
If in doubt, contact your host to find out the capabilities of the server that will host the MainWP extension.
Also find the list of compatible hosts. Be aware that it is not exhaustive, there is a good chance that MainWP will work with most hosts.
If you want to manage the maintenance of 30 or fewer sites, MainWP says a shared server can keep up. Beyond 30 sites, he particularly recommends switching to VPS (Virtual Private Server) hosting, which is more scalable in terms of resources.
How to install MainWP?
Step 1: Create a “fresh” installation of WordPress
To start, I start from a clean environment dedicated to the plugin. To do this, install WordPress with your favorite host.
As indicated just above, I strongly recommend a VPS or dedicated server for optimal use (you also have the option of installing MainWP locally).
On this new installation, no article, no page: I put the site in maintenance mode (waiting page). This setup is for me exclusively to host my MainWP dashboard.
I the security is fundamental. To help you, rely on these two resources:
Step 2: Activate the extension
From your new installation, go to Extensions > To add. Download MainWP Dashboard, then activate the extension. Surprisingly, you can enjoy a rather clear quick setup wizard. Champagne!
Follow the verification and configuration steps. Here, no special settings to operate the system, it is according to your sensitivities.
You will see that you will be offered, for example, to connect a “child site” (I show you in detail how to do it in the next part), or to activate the MainWP Advanced Uptime Monitor extension to monitor the availability of your site.
On the other hand, it is important to create an account with MainWP to be able to download the free extensions (the clever ones).
Congratulations, your dashboard is now installed. This is what will appear on your screen:
Without further ado, let’s get to setting it up.
How to configure MainWP?
MainWP offers a dashboard in French with access to settings via 11 menus present in the left side column.
Let’s break down each menu one by one:
- Overview gives quick access to the extension’s basic options: updates performed, connection status and security issues. You also have a shortcut to create a new article and a new page;
- Updates allows you to update your child sites (themes, extensions, translations and WordPress core);
- Site (s allows you to add new child sites and manage them. In particular, you can create groups to classify several sites, for example if they are from the same client. It is also here that you will have access to the monitoring of each site;
- Items will be used to edit, view and delete articles from each of your sites;
- Page : same as for articles;
- Themes is used to manage the themes of each of your sites, in particular their activation/deactivation/deletion as well as the possibility of activating automatic updates;
- plugins : same as for themes ;
- Users gives access to user management: creation of new users on your child sites, or quick update of the administrator user password that was used to establish the connection to your MainWP dashboard;
- Settings Allows you to configure the extension’s settings. The general settings allow you, for example, to adjust the frequency of updates, the widgets to display on your Overview, or even update confirmations. Advanced Options (Advanced settings) can be useful if you have specific needs related to IP parameters and the number of simultaneous requests. Otherwise, leave the default settings. You also have control over the email notifications you want to receive (eg if your WordPress site is down);
- Extensions is used to install, activate and manage all MainWP extensions;
- State informs you for example about the state of your server.
As you can see, the options are endless. It takes a little time to become familiar with the options offered but, overall, the handling is rather easy, in particular thanks to the French translation of the interface.
It is quite easy to understand where to perform this or that action. Speaking of which, now see how to add a child site to your dashboard.
How to add a WordPress site to your MainWP dashboard?
The principle is simple, I assure you. It is broken down into 3 steps:
- Go to the administration of one of the WordPress sites you want to manage.
- Install and activate the MainWP Child plugin. I remind you that it will serve as a bridge between this site and your MainWP dashboard. To add additional protection between the child extension and your dashboard, go to Settings > MainWP Child, and check the “Require unique security ID” box. Save the changes, then copy the generated identifier.
3. Add the child site to your main site, the one on which the MainWP Dashboard plugin is activated. To do this, go to the menu MainWP > Sites > Add.
Enter the URL of the site, the administrator identifier (the one that still has “admin”, I burn it) and the title of the site. Then, in the advanced options (click on ” Show optional settings ”), insert the unique security ID that you copied previously, then validate.
If it works, you will see the message below:
Repeat this process for each site you want to manage.
I advise you to create groups when adding your sites. You can easily find your way around when you have more than ten sites to manage.
Focus on two major features of MainWP: backup and monitoring
How to backup your sites with MainWP?
You can back up all your child sites using the extensions made available by MainWP.
In its free format, MainWP offers integration with:
- BackWPup ;
- UpdraftMore ;
- WPvivid Backup.
Of the three, I suggest you use UpdraftMore. Stable, complete and easy to use, it is also more suitable for beginners than the first two.
Scheduling automatic backups with UpdraftPlus requires two important steps.
Step 1: Install MainWP UpdraftPlus plugin on your MainWP Dashboard
- Go into MainWP > Extensions.
- At the top of the page, log in using your MainWP username and password, or create an account on this page.
To be able to install the extension, you must first buy it (without paying a penny, in our case).
- Get the MainWP UpdraftPlus extension by visiting this page. On the page dedicated to it, click on “Download Now” (Download Now), then “Proceed to checkout” (To buy).
Fill in the required information, then finish by clicking on “Place order” to validate. Rest assured, you don’t need to enter any payment information. Everything is free.
- Go back to MainWP > MainWP Extension > Install Extensions.
- Check the box corresponding to UpdraftPlus then at the bottom, click on “Install”.
A new UpdraftPlus tab has just appeared in the MainWP menu. The extension is installed and activated, but in order to use it, you must add a license API key and the corresponding email.
You will find these two elements in the section “ My API Keys » from your MainWP account.
Step 2: Install UpdraftPlus extension on your child site
The MainWP UpdraftPlus extension should be installed only on your dashboard site. On the child site, it is the classic UpdraftPlus extension, the one you can find on the official directory, which must be activated:
Proceed as for a lambda extension. Finish by syncing your child site with the MainWP dashboard:
Step 3: Schedule automatic backups
Meet in MainWP > Extensions > UpdraftPlusthen click the “Settings” tab.
Schedule the backups of your files and your database, in the section « Backup Contents And Schedule “. These settings depend on the content of the site and your personal choices. A regular backup of your database is still recommended.
Activate the report by e-mail when the backups are made, and finally select the remote storage space (Google Drive, Amazon S3, Dropbox, etc.) to which you want to send your backups.
If you choose none, MainWP will send these backups to your server. This is obviously totally discouraged for security reasons (if your site is hacked, your backups will be compromised).
If you don’t have any other specific needs, you can leave the default settings. Remember to save by clicking on the green button “Save changes”at the end of the page.
How to monitor the availability of your sites with MainWP?
You must be kept informed if your sites ever go down the drain: in a maintenance offer, it is essential.
Through its MainWP Dashboard extension, MainWP offers a feature to monitor your site (i.e. check its status).
It is accessible in the general settings, in the “Basic availability monitoring” section.
You can specify a check interval from “every 5 minutes” to “once a day”.
However, as MainWP points out, this option may cause server resource issues. She therefore advises, if you have a lot of sites to check, to go through her in-house extension: MainWP Advanced Uptime Monitor.
The latter works hand in hand with the UptimeRobot tool (it uses its API) and notifies you when one or more of your sites no longer respond.
Install then activate MainWP Advanced Uptime Monitor by following the same steps as for UpdraftPlus. To summarize, you must:
- obtain the extension from the MainWP site;
- install it on your site;
- activate the corresponding API key.
When everything is OK, the extension will appear on your dashboard, alongside UpdraftPlus:
To access the monitoring in real time of the availability of your WordPress sites, you must enter your UptimeRobot API key, which requires creating an account with this tool (free).
Once you have entered your API key, click on the button “Create New Monitor”then specify the following settings:
- Monitor Type : HTTP(s), Keyword, Ping or TCP Ports. The first choice, HTTP(s) should be fine in the vast majority of cases;
- Friendly Name : a nice name to recognize the site in question;
- URL (or IP) : the URL of the site you want monitor ;
- Monitoring interval : the lapse of time, in minutes, which elapses between each check of the availability of your site. In the free version, you cannot go below 5 minutes;
- Select alert contacts to notify : Select the e-mail address on which to receive notifications in case of unavailability of your site.
Click on “Create Monitor” to validate and repeat these actions for each site you want to monitor. From the Advanced Uptime Monitor dashboard, you will be able to view statistics, pause and edit all your sites.
If a downtime (unavailability of one of your sites) is detected, you are immediately notified by e-mail. I simply regret the absence of downtime reasons in this integration.
Other Free MainWP Extensions
Beyond these two very important features for maintaining a WordPress site, MainWP offers other free extensions to meet other needs, such as:
- Clean and Lockto remove unwanted sections from your MainWP Dashboard site, and even make your Dashboard page inaccessible (except to yourself);
- Custom Dashboardto change the appearance of your dashboard (colors, fonts, buttons, etc.);
- Vulnerability Checkerto inform you about vulnerable themes and extensions of your child sites;
- WooCommerce Shortcuts adds a widget to your child sites dashboard, providing quick links to your WooCommerce pages.
There you go, congratulations! Your generic maintenance base is now operational. You can edit, monitor, secure and backup all of your WordPress sites.
Boost your maintenance with paid extensions
MainWP also has about thirty paid extensions allowing to go further in maintenance.
- File Uploader allows you to upload your files from the MainWP dashboard, without going through your FTP client or your cPanel interface. Among other things, I send my CSS files through this.
- bulk Settings Manager gives you more rights in the WordPress settings. You can easily access basic settings such as permalinks or the size of the thumbnails of each of your child sitesfrom your dashboard site.
- White Label is very powerful. This extension allows you to customize the MainWP Child extension of the client site. This is the principle of white labeling: you replace all of MainWP’s visual identity with your own. You can also personalize the admin and the login and act on the information visible to your client (widgets, meta box, etc.).
- Clone allows you to duplicate a child site rapidly.
- Favorites saves your favorite extensions and saves time when installing a new site.
- Pro Reports is essential in a professional maintenance offer. This extension offers the possibility to create customizable maintenance reports ready to be sent to customers (ex: extensions activated/deactivated, backups made, media uploaded, security scan, monitoringGoogle Analytics, etc).
- Maintenance gently cleans up article revisions, drafts, spam, optimizes the database, and notifies you of 404 errors.
- WordPress SEO offers integration of Yoast SEO plugin features.
- iThemes Security also offers the integration of the functionality of the famous extension.
- Google Analytics gives you a view and information on the traffic of your client sites.
- Speed page integrates the extension Google Pagespeed Insights for WordPress and gives a view of the access times of your sites. It also allows you to be warned in the event of a drop in performance.
- light house audits the performance, accessibility and SEO of each of the child sites.
How much does MainWP cost?
MainWP is an open source and free tool. For the rest, it works like WordPress. If you wish to add other functionalities to it, you must go through an extension.
As you have seen, about thirty of them are chargeable. To benefit from all these extensions – it is not possible to get them à la carte -, MainWP offers 3 offers:
- the monthly payment: $34.8/month (about €31, VAT included). This solution is expensive in the long term, but interesting to try;
- the annual payment: $298.8 (about €289/year, VAT included). This offer is interesting in the medium term and offers you additional financial flexibility;
- the lifetime payment: $478.8 (about €424.56, VAT included). Thanks to the one-time payment, you access all the advantages of MainWP, without having to renew each year. Very interesting in the long term.
For each offer, you have access to all expansions as well as future ones, updates and support. A 30-day money-back guarantee is also included.
Our final opinion
MainWP is a very practical extension to efficiently manage and maintain an unlimited number of sites.
Its handling is generally simple, once you have taken the fold of its mode of operation. The translation of the dashboard into French is appreciable, as is the presence ofdocumentation provided (although in English) anda series of rather practical explanatory videos.
We can still regret the multiple actions to be carried out to install a home extension, at the start. For the rest, it’s not bad at all. 😉
Of course, there are competitors like ManageWP or InfiniteWP which are doing very well and offer interesting interfaces and economic systems.
On the other hand, the functionalities remain essentially the same. Only the price can tip the balance. Or this question of being self-hosted or not.
Remember that with MainWP it’s best to use a clean personal WordPress installation, which can be a bit of a hassle.
Download MainWP Dashboard plugin:
MainWP, for whom?
In the end, the extension can be adapted for any type of profile, from beginners to experienced technicians.
However, it is primarily intended for people who take care of the maintenance of several sites at the same time, like WordPress agencies or freelancers, whose job is to create sites.
Thanks to MainWP, you no longer need to log in individually to each site to perform basic actions. Each site can be managed from a single dashboard.
So, seduced? Would you be ready to use MainWP to manage all of your sites? Tell me everything in the comments.