Title: Beardo Multisite User Export
Author: Beardo.Tools
Published: <strong>setiembre 9, 2026</strong>
Last modified: setiembre 9, 2026

---

Search plugins

![](https://ps.w.org/beardo-multisite-user-export/assets/banner-772x250.png?rev=
3688923)

![](https://ps.w.org/beardo-multisite-user-export/assets/icon-256x256.gif?rev=3688923)

# Beardo Multisite User Export

 By [Beardo.Tools](https://profiles.wordpress.org/beardotools/)

[Download](https://downloads.wordpress.org/plugin/beardo-multisite-user-export.1.3.zip)

 * [Details](https://arg.wordpress.org/plugins/beardo-multisite-user-export/#description)
 * [Reviews](https://arg.wordpress.org/plugins/beardo-multisite-user-export/#reviews)
 *  [Installation](https://arg.wordpress.org/plugins/beardo-multisite-user-export/#installation)
 * [Development](https://arg.wordpress.org/plugins/beardo-multisite-user-export/#developers)

 [Support](https://wordpress.org/support/plugin/beardo-multisite-user-export/)

## Description

**A user export tool built for multisite network admins.**

Beardo Multisite User Export treats your network as a whole rather than as a set
of separate sites. Pick a site and export its users, or pick roles and export every
matching user across the entire network in a single file, with each person listed
exactly once and every site they belong to in the same row.

Everything runs inside your own WordPress installation. There is no account to create,
no API key, and no third-party service. The plugin makes zero external requests,
and the only thing that ever leaves your server is the file you download.

#### Export the network, or export one site

 * **Export by Role** exports across the entire network. Choose one or more roles,
   see a live count of unique users for each, and download one deduplicated list
   with a Sites column showing everywhere each user belongs.
 * **Export by Site** exports a single subsite. Select the site and the plugin loads
   the roles that actually exist there, including custom roles that only that site’s
   theme or plugins define, so you export precisely the users you meant to.

#### Filter to exactly the users you need

 * One or more roles, each with a user count
 * Account status: active, spam, or deleted
 * Registration date range
 * Your choice of fields: user ID, username, email, first name, last name, role(
   s), registration date, sites, and status

#### Formats that open cleanly

 * **CSV**, UTF-8 with BOM, so accented names and non-Latin scripts open correctly
   in Excel, Numbers, and Google Sheets
 * **Excel** (.xls, Excel 2003 XML Spreadsheet format), opens directly in Microsoft
   Excel and LibreOffice

#### Security built in, not bolted on

User exports are personal data. This plugin was written to keep them safe by default
and hardened against the mistakes that have gotten other export plugins removed 
from the directory.

 * Exports are available only to super admins, only over HTTPS, and only with a 
   valid security nonce
 * Every submitted value is validated server-side against an allowlist: roles, fields,
   format, site ID, and dates
 * Every exported cell is protected against CSV formula injection, so a username
   like `=HYPERLINK(...)` opens as text, not as a live formula
 * Role names coming from subsites are escaped before they reach the admin screen
 * No external requests, ever. Nothing is uploaded, synced, or phoned home

#### Built for real networks

 * Users are queried in batches of 1,000, so large networks export without timeouts
 * Role lists are gathered from every subsite, not just the main site
 * Users who belong to several sites appear once, with all of their sites listed
 * The admin screen follows your admin color scheme, including dark-mode themes

#### A complete audit trail

Every export is recorded: who ran it, which roles, which site, how many users, and
in which format. The Export History tab shows the log, lets you download it as CSV,
and prunes entries older than 90 days automatically. Developers can change the retention
window through the `beardo_mue_history_retention_days` network option.

#### What it does not do (yet)

This is a focused export tool. It does not import users, and it exports the core
user fields listed above rather than arbitrary user meta or WooCommerce data. If
you need those, a general-purpose import/export plugin is a better fit. If you run
a network and need a clean, safe, network-aware export, this plugin is built for
that.

#### Part of the Beardo.Tools family

Beardo Multisite User Export is one of a set of lightweight, security-first tools
for WordPress multisite networks from Beardo.Tools. Each does one job well, follows
WordPress coding standards, and ships with a full test suite.

## Screenshots

[⌊Export Users by Site: choose a site and its real roles load, with user counts⌉⌊
Export Users by Site: choose a site and its real roles load, with user counts⌉[

Export Users by Site: choose a site and its real roles load, with user counts

[⌊Export Users by Role: network-wide role selection with unique user counts⌉⌊Export
Users by Role: network-wide role selection with unique user counts⌉[

Export Users by Role: network-wide role selection with unique user counts

[⌊Field selection, status filter, registration date range, and format⌉⌊Field selection,
status filter, registration date range, and format⌉[

Field selection, status filter, registration date range, and format

[⌊Export History Log: the full audit trail, downloadable as CSV⌉⌊Export History 
Log: the full audit trail, downloadable as CSV⌉[

Export History Log: the full audit trail, downloadable as CSV

## Installation

 1. In **Network Admin > Plugins > Add New**, search for “Beardo Multisite User Export”
    and install it, or upload the `beardo-multisite-user-export` folder to `/wp-content/
    plugins/`.
 2. **Network Activate** the plugin.
 3. Go to **Network Admin > Users > Export Users**.

Requirements: WordPress Multisite, HTTPS enabled on the network admin, and a super
admin account.

## FAQ

### Does this work on a single-site WordPress install?

No. It is built specifically for multisite networks and requires multisite to be
enabled. On a single site it shows an admin notice and does nothing else.

### Why is the Export button disabled?

Exports require HTTPS. Enable SSL/TLS on your network and the button becomes available.
This is deliberate: user data should never travel over an unencrypted connection.

### Who can export users?

Only super admins, meaning users with the `manage_network` capability. Administrators
of individual subsites cannot see or use the export tool.

### What happens with users who belong to several sites?

In network-wide exports each user appears exactly once, with a Sites column listing
every site they belong to. Site-specific exports list only that site’s users.

### A subsite uses custom roles. Will they show up?

Yes. Role lists are collected from every subsite in the network, so roles that a
theme or plugin defines on one site only are included, with their correct labels.

### Can I export custom user meta or WooCommerce customer data?

Not in this version. The export covers user ID, username, email, first name, last
name, roles, registration date, sites, and account status.

### Can I import users with this plugin?

No. It is export-only by design.

### Are exports logged?

Yes. Every export is recorded in the Export History tab with the user who ran it,
the roles, the site, the row count, and the format. Entries are kept for 90 days
by default, and the log itself can be downloaded as CSV. Developers can change the
retention window through the `beardo_mue_history_retention_days` network option.

### Does any user data leave my server?

No. The plugin makes no external requests of any kind. Exports are generated on 
your server and streamed straight to your browser as a download.

### Is the CSV safe to open in Excel?

Yes. Every cell is checked for formula-injection characters (`=`, `+`, `-`, `@`,
tab, and carriage return) and escaped so spreadsheet applications treat them as 
text rather than executable formulas.

### Which Excel format is the .xls file?

Excel 2003 XML Spreadsheet, which Excel and LibreOffice open directly. Excel may
show a one-time notice that the file format and extension differ. Click Yes and 
the file opens normally. If you prefer a plain format, choose CSV.

### What happens when I uninstall the plugin?

All plugin data is removed: its network options (retention setting, batch size, 
cache expiry, export history) and cached transients. Nothing is left behind. Files
you already downloaded are of course unaffected.

### What versions of WordPress and PHP are required?

WordPress 5.8 or later and PHP 8.0 or later, with multisite enabled.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“Beardo Multisite User Export” is open source software. The following people have
contributed to this plugin.

Contributors

 *   [ Beardo.Tools ](https://profiles.wordpress.org/beardotools/)

[Translate “Beardo Multisite User Export” into your language.](https://translate.wordpress.org/projects/wp-plugins/beardo-multisite-user-export)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/beardo-multisite-user-export/),
check out the [SVN repository](https://plugins.svn.wordpress.org/beardo-multisite-user-export/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/beardo-multisite-user-export/)
by [RSS](https://plugins.trac.wordpress.org/log/beardo-multisite-user-export/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.3

 * Rebrand: Plugin is now **Beardo Multisite User Export**, published by Beardo.
   Tools; the slug and text domain are now `beardo-multisite-user-export`
 * Rename: All classes, constants, options, transients, hooks, and asset handles
   now use the `Beardo_MUE` / `beardo_mue_` prefix, matching the Beardo plugin family
 * Cleanup: Removed six obsolete `class_alias()` backwards-compatibility shims
 * Fix: Corrected the minimum PHP version in composer.json to 8.0, matching the 
   plugin header
 * Note: Because the option keys changed, settings and export history from earlier
   versions are not carried over
 * Fix: Export, history-export, and site-roles AJAX handlers were registered under
   the old `msue_` action names after the rename, so every request silently did 
   nothing; all three now match the `beardo_mue_` actions the forms and script send,
   with a test that pins them together
 * Improvement: All admin-script messages are now translatable via wp_localize_script
   instead of hardcoded English
 * Improvement: Uninstall cleanup now also runs under WP-CLI, which has no logged-
   in user
 * Cleanup: Removed unused sub-tab CSS and prefixed the required-field marker class

#### 1.2.1

 * Improvement: Admin screen now inherits colors from WordPress core and admin themes(
   dark-mode compatible) — removed hardcoded palette colors from plugin CSS
 * Improvement: Export information box now renders as a native WordPress notice

#### 1.2

 * Security: Escape role names/keys/counts at the HTML insertion point in admin 
   JS (prevents stored XSS via subsite-defined role names)
 * Security: Validate posted site IDs against existing network sites (AJAX and export
   paths)
 * Security: Apply CSV formula-injection escaping to the history CSV export (matching
   the main export)
 * Security: Unslash and strictly sanitize all request input; strict Y-m-d validation
   for date filters
 * Compliance: Full WordPress Coding Standards alignment — naming, escaping, and
   i18n on all output; class files renamed to WPCS conventions with previous class
   names aliased for backwards compatibility
 * Compliance: All user-facing strings internationalized with the beardo-multisite-
   user-export text domain
 * Refactor: New Beardo_MUE_Security class centralizes capability/nonce constants,
   CSV escaping, and site validation
 * Performance: Site dropdown no longer switches blogs per site; network role counts
   cached for 5 minutes; per-site role counts use count_users()
 * Cleanup: Removed dead transient references, a no-op JS branch, and inline styles(
   moved to CSS classes)
 * Requires PHP 8.0

#### 1.1

 * Maintenance: Updated plugin tooling baseline and test coverage pipeline

#### 1.0.3

 * Maintenance: Minor revision update

#### 1.0.2

 * Maintenance: Minor revision update

#### 1.0.1

 * Fix: Plugin Check/PHPCS escaping warnings in Excel export output
 * Fix: Removed direct database query from uninstall routine

#### 1.0.0

 * Initial release
 * CSV and Excel export support
 * Multi-role and multi-site filtering with per-role user counts
 * User status filtering (active, spam, deleted)
 * Registration date range filtering
 * Export history tracking with configurable retention
 * CSV formula-injection prevention and HTTPS enforcement
 * Chunked query processing for large networks

## Meta

 *  Version **1.3**
 *  Last updated **1 día ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 5.8 or higher **
 *  Tested up to **7.1**
 *  PHP version ** 8.0 or higher **
 *  Language
 * [English (US)](https://wordpress.org/plugins/beardo-multisite-user-export/)
 * Tags
 * [csv](https://arg.wordpress.org/plugins/tags/csv/)[export users](https://arg.wordpress.org/plugins/tags/export-users/)
   [multisite](https://arg.wordpress.org/plugins/tags/multisite/)[network](https://arg.wordpress.org/plugins/tags/network/)
   [user export](https://arg.wordpress.org/plugins/tags/user-export/)
 *  [Advanced View](https://arg.wordpress.org/plugins/beardo-multisite-user-export/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/beardo-multisite-user-export/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/beardo-multisite-user-export/reviews/)

## Contributors

 *   [ Beardo.Tools ](https://profiles.wordpress.org/beardotools/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/beardo-multisite-user-export/)

## Donate

Would you like to support the advancement of this plugin?

 [ Donate to this plugin ](https://beardo.tools/donate/)