Managing users across a WordPress multisite network

TLDR

On WordPress multisite a user account exists once for the whole network, but roles are granted per site. One person can be an Administrator on one site, a Subscriber on another, and absent from a third, all on the same login. Super Admin is the only truly network-wide role, and it should be held by almost nobody.

The model, in one paragraph

The wp_users table is shared across the entire network. Roles are not stored there; they live in each site’s own usermeta as a capabilities key. That is why adding somebody to a second site does not create a second account, and why removing them from one site does not delete them from the network.

The gotchas that catch everyone

  • Removing a user from a site does not delete them. They remain a network user with access to every other site they are on. Deleting properly is a Network Admin action.
  • Email addresses are unique network-wide. One address, one account, across every site. This surprises people running client sites on one network.
  • Super Admin bypasses everything. Capability checks are effectively skipped. Treat it like root.
  • Plugins are network-activated or per-site. A user-management plugin activated network-wide applies its settings everywhere, which is rarely what you want.
  • Password resets span the network. A reset changes the password for every site, because there is only one account.

Deciding who gets Super Admin

The honest answer for most networks is one or two people, and neither of them is the client. Super Admin can install plugins, edit themes, create and delete entire sites and access every piece of content on the network. A client who needs to manage their own site needs Administrator on that site, which is a completely different thing.

If you find yourself granting Super Admin so somebody can do one task, that task needs a capability or a small plugin, not network keys.

Adding people to sites without creating chaos

  • Add existing network users to a site from that site’s Users screen; it links the existing account rather than making a new one.
  • Keep a written record of who holds Administrator where. Multisite makes this genuinely hard to eyeball.
  • When somebody leaves, remove them at Network Admin level, not just from the one site you remember.
  • Audit Super Admins every quarter without exception.

Ready to try it?

Running member profiles and directories per site on a network is exactly the kind of thing a profile plugin handles more gracefully than core. Try the live demo, see the full feature list, or get UserPro on CodeCanyon for a one-off licence fee.

When multisite is the wrong answer

Multisite is superb for genuinely related sites sharing users, themes and plugins. It is a poor fit when sites need different plugin versions, when one site’s traffic would hurt the others, when clients need separate billing and backups, or when you simply want isolation. A network is one database and one filesystem: a serious problem on one site is a problem for all of them.

Would rather someone else did it?

Splitting a site out of a multisite network, or merging one in, is fiddly and worth doing with someone who has done it before. Brief a vetted WordPress developer and get a fixed quote before any work starts.

Frequently asked questions

Can a user have different roles on different sites?

Yes, and this is the main advantage of the model. One account, different permissions per site.

How do I delete a user from the whole network?

Network Admin, then Users. Removing them from an individual site only revokes that site’s role.

Do plugins see users the same way on multisite?

Not always. Plugins written for single-site sometimes assume one set of roles and behave oddly. Test any user-management plugin on the network before relying on it.


Managing WordPress users

Try UserPro on your own site

UserPro gives WordPress front-end profiles, custom registration, social login and a searchable member directory in a single plugin. Try the live demo or see what a licence costs.

Want it built for you instead? Work with a developer who knows the plugin.

Leave a Comment