Siteward Child is now on WordPress.org. Install it on every site you manage, free and unlimited.Get Siteward Child

How to Install a Plugin on Multiple WordPress Sites at Once

To install a plugin on many WordPress sites at once, you need a dashboard that can tell each site what to install and a companion plugin on those sites that carries it out. In Siteward that means installing Siteward Advanced Child on each target site, then using Fleet Plugins in Siteward Pro to install across every selected site in a single run: by name for plugins on WordPress.org, or from one uploaded ZIP for premium and custom plugins.

Updating, activating and deactivating plugins across a fleet is straightforward. Installing a brand new plugin on thirty sites is the job everyone puts off, because doing it by hand means thirty logins, thirty uploads and thirty chances to miss one. This guide covers how to do it in one pass, and explains the one piece of setup that catches people out.

Why the free companion plugin cannot install plugins

Siteward ships two companion plugins for the sites you manage, and it is worth understanding why before you pick one.

The free Siteward Child is distributed through WordPress.org, and the WordPress.org plugin guidelines do not permit a plugin to install other plugins from a third-party package. That rule exists for good reason: it stops a plugin becoming an unreviewed delivery channel for arbitrary code. It also means the free child genuinely cannot offer installation, no matter how the request is signed.

Rather than argue the point, we split the plugin. Siteward Advanced Child is the same code plus one extra module, distributed from omniswp.com instead of WordPress.org. It is still free, still GPL, and still needs no licence key.

  Siteward Child Siteward Advanced Child
Monitoring, backups, health Yes Yes
Core, plugin and theme updates Yes Yes
Activate, deactivate, uninstall Yes Yes
Install from WordPress.org by name No Yes (0.7.14 and later)
Install from an uploaded ZIP No Yes
Where it comes from WordPress.org omniswp.com
Updates itself Yes, via WordPress.org Yes, via omniswp.com

A site runs one edition or the other, never both. Most sites are perfectly happy on the free child. Use the Advanced edition on the sites you actually want to push plugins to.

Step 1: put Siteward Advanced Child on the target sites

On a site that has no Siteward companion yet:

  1. Download Siteward Advanced Child.
  2. On the site, go to Plugins → Add New → Upload Plugin, choose the ZIP, then Install Now and Activate.
  3. Open Settings → Siteward Connection and copy the site’s REST URL and its one-time connection key.
  4. In your dashboard, open Siteward → Add Site and paste them in.

From then on it updates itself like any other plugin, so this is a one-time job per site.

Step 2: switching a site that already runs the free child

This is the part worth reading carefully. Both editions store the dashboard connection under the same names, which is deliberate: it means a paired site keeps its pairing when you switch. But it also means the order matters.

  1. Deactivate Siteward Child. Do not delete it yet.
  2. Upload and activate Siteward Advanced Child.
  3. Check the site still syncs from your dashboard.
  4. Now delete Siteward Child.

Two things to know:

Do not activate the second edition before deactivating the first. They declare the same code, so the second one cannot load. From version 0.7.1 you get a plain-English notice explaining this and the site keeps working, but the tidy path is to deactivate first.

From version 0.7.1, deleting the old edition is safe. The companion plugin now refuses to clear a connection that another edition is still using. On earlier versions, and on sites still running the original omnis-child plugin from before the rename, deleting the old copy will wipe the pairing and you will have to reconnect the site. On those, deactivate and leave it in place.

Step 3: install the plugin on every site at once

Fleet plugin management is part of Siteward Pro. Once your target sites are on the Advanced edition, open Siteward → Fleet Plugins, select the sites in the Sites sidebar, and click Install to selected. The button tells you how many of the selected sites can actually be installed to.

The install window offers two sources.

From WordPress.org, by name

  1. Leave From WordPress.org selected.
  2. Type the plugin’s slug, such as wp-statistics, or paste its WordPress.org link. Siteward looks it up and shows the plugin’s name, author, version and active installs, so you can check it is the right one.
  3. Tick Activate after install if you want it live immediately, then click Install.

Your dashboard sends each site a short instruction, and each site downloads the plugin from WordPress.org itself. Nothing is uploaded, so it is fast and works on hosts that limit request sizes. A site that already has the plugin is left as it is, and activated if you asked. This needs Siteward Pro 0.11.8 and Siteward Advanced Child 0.7.14 or later.

From an uploaded ZIP

  1. Choose Upload a ZIP and pick the plugin’s ZIP file, such as a premium plugin downloaded from your account with its author, or one you built yourself.
  2. Tick Activate after install if you want it, then click Install.

The ZIP is uploaded to your dashboard once. Each site then downloads it from your dashboard through a private link that expires, and installs it only if it matches the uploaded file exactly. An uploaded ZIP replaces an existing copy of the plugin, so this is also how you push an update for a premium plugin that cannot update itself.

Either way, a progress view shows each site completing, with what happened on each. Selected sites running the free child are skipped rather than failing. If an install fails on some sites, fixing plugin install errors across multiple sites explains every message and what to do about it.

Is this secure?

Installing is one more signed action on the same connection everything else uses. Each site is paired with your dashboard through an OpenSSL keypair generated during a one-time handshake. Every request, including an install, carries a signature verified against the stored public key, with timestamp and nonce checks that block replay. A request that is not signed by the dashboard the site is paired with is rejected before it is read.

The download itself is checked too. An install by name only accepts files from downloads.wordpress.org. An uploaded ZIP is only installed if it matches the checksum in the signed request, so a site cannot be given a different file than the one you uploaded.

The dashboard always initiates the work. The companion plugin only downloads a plugin when a signed install instruction tells it to, and does nothing at all until it is paired. It also refuses to deactivate or uninstall itself on the dashboard’s instruction, so a bulk action cannot cut a site off from your dashboard.

Where to go next

If you are setting up from scratch, start with the documentation, which covers installing the dashboard and connecting your first site. If you are weighing this against a hosted service, the MainWP and ManageWP comparison covers how a self-hosted dashboard differs.

FAQ

Common questions

Do I have to put Siteward Advanced Child on every site?

No. Use it on the sites you want to install plugins to. Everything else can stay on the free Siteward Child from WordPress.org, which updates itself through the normal WordPress update screen.

Does Siteward Advanced Child cost anything?

No. It is free and GPL with no licence key. Fleet Plugins, the dashboard feature that installs a plugin on many sites in one run, is part of Siteward Pro.

Can I install plugins from WordPress.org by name?

Yes. With Siteward Pro 0.11.8 and Siteward Advanced Child 0.7.14 or later, choose From WordPress.org in the install window and type the plugin's slug or paste its WordPress.org link. Each site downloads the plugin from WordPress.org itself, so nothing needs uploading.

Can I push a premium plugin update to many sites this way?

Yes. Upload the new version's ZIP in Fleet Plugins. An uploaded ZIP replaces the existing copy on each selected site, which suits premium plugins that cannot update themselves without a licence on every site.

What if a site is not offered as an install target?

It is running the free Siteward Child. Switch it to Siteward Advanced Child using the steps in this guide, then use Rescan fleet on the Fleet Plugins page so the dashboard picks up the change straight away.

Unlimited sites · free to start

See it on your own sites.

Monitor unlimited sites free, or add Pro when you want expiry alerts, dynamic tags and integrations.