#wcpdx: WordPress Multisite

These are my notes from the 4:15 session I did at WordCamp Portland. It’s a quick introduction WordPress multisite, and why you might want to consider using it.

What is it?

WordPress Multisite is a way for using one instance of WordPress to host as many sites as you’d like. Originally known as WordPress MU, the multisite functionality was merged into WordPress in WordPress 3.0.

Disclaimer

Danger, danger, danger! You’re entering the realm of advanced WordPress user and, by editing files, the database, etc. you can potentially break your site so it will cry. Make sure to back everything up before you get started. And know that you’ve been warned.

Why is it useful?

WordPress Multisite is especially useful for those who have to administer multiples sites. If you meet all of the prereqs, it can make keeping WordPress up to date, installing new functionality, backing your data up, etc. a breeze. Instead of having to manually update each website you’re responsible for managing, you simply update one.

How do I set it up?

There is documentation you can follow in the WordPress.org Codex. Basically, what you need to do is configure DNS if you plan to use subdomains, make a change to your wp-config.php file, change .htaccess values if you’re using Apache, and then run through the guide in the admin. Boom, you’re done.

What should I be aware of?

Converting a single instance of WordPress to WordPress Multisite creates and alters database tables, and isn’t recoverable.

Hosting a lot of websites with WordPress Multisite means you should scale the resources available to WordPress accordingly. Otherwise, all of your sites will be slow.

Plugins and themes are installed once, so any changes you make are incurred for all of the users across your site. For this reason, if you’re using any WordPress.org or premium themes, you should make all modifications to the theme as a child theme (or, better yet, just CSS changes).

You can make some themes available to all sites, and other themes available to just specific sites.

If you plan to install a lot of themes, it would benefit you in advance to establish a scheme for storing them (e.g. setting up /wp-content/themes/woothemes/ and /wp-content/themes/wporg/)

Usernames are unique across the network. If you’ve set up a multisite instance for all of your clients, create usernames as firstnamelastname or similar.

Network activating plugins means they’re activated across all the sites in your network, functionality is available by default, and it’s not possible for the site admin to deactivate it.

WordPress Multisite isn’t magic, it’s technology that makes your life awesome.

What tips do you have for me?

Use a plugin like Restrict Multisite Plugins to make certain plugins conditionally available to sites.

Map custom domains to sites on your network with the domain mapping plugin.

When importing content with embed codes into a site on your WordPress Multisite network, make sure to disable the KSEs filter. As of WordPress 3.2.1, you need to do so with a special filter (which didn’t exist before 3.2).

You may want to disable some of the email notifications that go out.

Keep your users from needing to modify theme template files with the WordPress.com Custom CSS plugin. This is the same code that formerly ran on WordPress.com, is super awesome, and keeps a revision history of all your changes.

Configure your admin bar to include network admin links for super admins so you can easily access management functionality. You can also expose additional functionality for your users (e.g. custom CSS) where it makes sense.

Write your short plugins to customize the admin interface, and put them in /wp-content/mu-plugins/ to have them automatically loaded.

Other useful management plugins:

  • Term Management Tools – WordPress plugin allowing you to easily move terms between taxonomies, among other things.
  • Unconfirmed – See a list of invited but unconfirmed network users.
  • Plugins for Publishers – A list I put together back in April with other plugins I like

What questions do I have for you?

What doesn’t make sense about the network admin UI?

What features or functionality would you like developed as plugins?

What features or functionality would you like included in core?

3 responses

  1. Ben Le Foe Avatar
    Ben Le Foe

    Hi there – I’m running WordPress 3.4.2 in multisite and I ran into the whole KSEs embedded content issue… I had been trying to fix this using the “unfiltered_html” capability, until I realised this wouldn’t work on multisite.

    So at the moment I have managed to turn off the KSEs filters completely by commenting out some code in the kses.php file (-> see here http://www.kavdesign.net/blog/coding/how-to-disable-wordpress-html-filter-for-posts-and-pages) – however, I think this means that any level of contributor to my blog can add in HTML code

    I suspect people embedding “nasty” HTML won’t be an issue for me, but editing the WP core files doesn’t seem like a very elegant solution. What would you suggest?

    In your earlier post “Disabling HTML/kses filtering in WordPress Multisite” you mention your plugin and the fix Andrew Nacin developped – however (if I understand correctly) implementing this entails changes to both the admin.php file AND the use of your plugin… a semingly more complicated solution than the one I have at the moment!

    Am I missing something? Would your plugin solution give additional control over my blog’s users and what level of HTML access they had? Am I missing something here?

    Sorry for the convoluted question!

    1. My plugin removes the KSEs checks entirely, which probably isn’t the best approach. You could take the plugin, but only remove the filters if the user had a role of ‘editor’ or above, etc.

      Nacin’s fix makes it possible to disable the stripping of embeds during import.

Leave a Reply

Your email address will not be published. Required fields are marked *