wp site list
Overview
View all subsites within your Multisite network. Filter by status (public, archived, spam, deleted) and export or pipe the list to other commands.
Syntax
wp site list [OPTIONS]
Options
| Flag | Description |
|---|---|
--fields=FIELDS | Fields to display (e.g., blog_id, url, registered) |
--format=FORMAT | table, csv, json, ids, count |
--site__in=IDS | List specific sites by ID |
--deleted | Include deleted sites |
--archived | Include archived sites |
Basic Usage
List all active sites
wp site list
Output:
+---------+----------------------------+---------------------+---------------------+
| blog_id | url | last_updated | registered |
+---------+----------------------------+---------------------+---------------------+
| 1 | http://example.com/ | 2026-03-12 10:00:00| 2026-01-01 08:00:00|
| 2 | http://example.com/blog/ | 2026-03-13 14:00:00| 2026-01-15 09:00:00|
+---------+----------------------------+---------------------+---------------------+
Real-World Scenarios
Scenario 1: Bulk updating all sites
for id in $(wp site list --format=ids); do
wp plugin activate custom-branding --url=$(wp site list --blog_id=$id --fields=url --format=table | grep http | awk '{print $2}')
done
Note: While wp plugin activate --network works for network-wide activation, looping wp site list is useful for per-site configurations.
Scenario 2: Auditing abandoned sites
wp site list --fields=blog_id,url,last_updated --format=csv > multisite-audit.csv
Quick Reference
wp site list --format=count # How many sites?
wp site list --format=ids # Just the IDs
wp site list --archived # Find archived sites
Next Steps
wp site get— check details of one site.wp site update— change site status.