I took these notes about WordPress Network (Multisite) at our WordPress Grand Rapids (WPGR) meetup on March 15, 2012. Learn more about WordPress Grand Rapids on Meetup and WPGR.org.
Note: This page contains affiliate links. Please see Affiliate Disclosure.
Presenters
- Brian Richards
- Topher DeRosia
What’s a Network?
A WordPress Network is a collection of sites that all share the same WordPress installation and database. They can also share plugins and themes. The individual sites don’t have their own directories on the server, but they do have separate directories for media uploads and separate tables in the database.
Why use Network?
- easily update multiple sites; updates to WordPress, plugins, and themes apply to all sites
- quickly create new sites
A network is ideal for creating a WordPress development environment, because you can quickly create and destroy sites.
Caveats
- each new site creates its own tables, which can lead to scaling issues
- updates or changes to WordPress, plugins, and themes apply to all sites; any problems affect all sites
A network isn’t ideal for hosting client sites, because it’s not easy to move standalone sites in or out; you have to use WordPress’ import or export tools. However, plugins like Backup Buddy can make importing easier.
Creating a new network
Follow Create A Network in the Codex. Brian uses these steps:
- Create subdomain (you must have wildcard subdomains enabled; if you have cPanel, you probably do). You can also install to a subdirectory. Choose subdomain or subdirectory before creating network.
- Create blank database and upload WordPress files (or use your host’s 1-click WordPress installer).
- Browse to subdomain.
- Create wp-config.php and follow install.
- Open wp-config and add define('WP_ALLOW_MULTISITE', true);
- Log into WordPress. Click Tools > Network Setup.
- Choose subdomains or subdirectories (Brian recommends subdomain).
- Click Install. Paste generated lines into wp-config.php. Paste generated lines into .htacess.
- Log back into WordPress.
- Sites > Add New to create a new site in the network.
Domain mapping
Use a plugin to redirect a domain to a site in the network. Brian likes the commercial plugin Professional Domain Mapping from WP eBooks. Another option is the free WordPress MU Domain Mapping.
In your hosting account, point the domain being mapped at the network’s root domain. The plugin modifies .htaccess to redirect.
Themes
Super Admin must install themes, then network enable them for sites to use.
- Themes > Installed Themes
- Network Enable theme
Plugins
Super Admin must install plugins, then network enable them for sites to use. They can be activated per-site. They can also be network activated, which activates them for all sites. Individual sites can’t disable these.
Users
- Admin becomes the Super Admin of the network. They can create other Super Admins, Admins, or other roles.
- Admins can only enable themes that Super Admin has already network enabled.
- You can allow users to register their own accounts. You can also limit registration to email addresses within a set domain. Site Settings > Limited Email Registrations.
- Sites > All Sites. On Users tab, grant permissions.
Backup & restore
BackupBuddy (affiliate link) backs up and restores entire network or individual sites. Import Buddy migrates standalone sites into the network.
Uploads
- All uploads go to wp-content/uploads/blogs.dir/<site-id>
- Settings > Upload Settings. Site upload space limited to 10 MB by default
- To change existing sites, Sites > Edit > Settings > Site Upload Space Quota. Per-site settings override network limits.
Additional WordPress Network plugins
- Networks+ plugin: create a network of networks
- WP Blog Replicator: clone existing sites, optionally including content
Examples of WordPress Networks
- WordPress.com
- Varsity News Network
- WPStartbox.com is a Network install. demo.wpstartbox.com is a Network within this (using the Network+ plugin). Each demo site is created using WP Blog Replicator.