Pro Yearly is on sale from $80 to $50! »

The A to Z of WordPress Multisite

The A to Z of WordPress Multisite

WordPress Multisite is a very powerful piece of functionality built into WordPress which is often under-utilised. In this presentation I'll introduce you to Multisite and cover:

* The concepts of Multisite
* Installation and setup
* What differs from a standard WordPress installation
* The management of sites and users
* The management of plugins, themes, and settings
* Advanced usage
* Gotchas and best practices

This presentation is primarily aimed at people who have experience building or implementing WordPress sites but have yet to dip their toe into WordPress Multisite.

Presented at:
* WordCamp Brighton 2017
* WordCamp Oslo 2018

#wordpress #wcbtn

23e12888dcd87d07434b7621bc164958?s=128

John Blackbourn

August 18, 2017
Tweet

Transcript

  1. The A to Z of WordPress Multisite

  2. John Blackbourn • WordPress core developer • Senior engineer at

    Human Made • Find me on Twitter, GitHub, WordPress.org: @johnbillion
  3. • The concepts of Multisite • Installation and setup •

    What differs from a standard WordPress installation • The management of sites and users • The management of themes, plugins, and settings • Advanced usage • Gotchas and best practices
  4. example.com example.com/site1 example.com/site2 example.com/site4 example.com/site5 example.com/site3

  5. None
  6. None
  7. None
  8. None
  9. None
  10. None
  11. None
  12. • Groups of client sites • College or university departments

    • Company intranets • Localised or regional sites • Clubs, churches • Business franchises • Network of blogs Managing related sites
  13. • Scottish Schools National Intranet • Harvard University • Reuters

    News • New York Times Networks of blogs
  14. Site Site Site Site Site Site Network

  15. Prerequisites: 1. In your wp-config.php:
 define( 'WP_ALLOW_MULTISITE', true ); 2.

    Deactivate all your plugins
  16. None
  17. None
  18. However... wp core multisite-convert wp core multisite-install --title="My Network" --admin_email="admin@example.com"

  19. Multisite WP-CLI wp-cli.org

  20. wp post list --url="example.com/site1" wp option update blogname "Site Three"

    --url="example.com/site3" wp user list --network
  21. • Database tables • Separate uploads directories • Super Admins

    • Different capabilities for Admins and Editors • Network Admin screen What's new?
  22. Database tables wp_comments wp_commentmeta wp_options wp_posts wp_postmeta wp_term_relationships wp_term_taxonomy wp_terms

    wp_termmeta wp_users wp_usermeta wp_blogs wp_blog_versions wp_registration_log wp_signups wp_site wp_sitemeta wp_2_comments wp_2_commentmeta wp_2_options wp_2_posts wp_2_postmeta wp_2_term_relationships wp_2_term_taxonomy wp_2_terms wp_2_termmeta Single Site Multisite Each site on Multisite
  23. Separate uploads directories

  24. Super Admins A user that can do anything on any

    site on the whole network, and administer the network from Network Admin
  25. Administrators cannot: • Install plugins or themes • Use the

    plugin or theme editors • Create new users • Edit existing users • Update core/plugins/themes • Post unfiltered HTML Editors cannot: • Post unfiltered HTML Different capabilities for Admins and Editors
  26. Network Admin screen

  27. None
  28. mtrunk.wp/wp-admin/network/sites.php Network Admin - Sites & Users

  29. mtrunk.wp/wp-admin/network/themes.php Network Admin - Themes & Plugins

  30. More drop-in plugins • sunrise.php • blog-deleted.php • blog-inactive.php •

    blog-suspended.php
  31. Multi-network

  32. REST API • Functions as expected on individual sites •

    Endpoints for network are in progress
  33. HTTPS Either use it (ideally), or don't use it

  34. Content syndication Not a reason itself to use Multisite •

    REST API • Elastic Search / ElasticPress
  35. /blog URL prefix Remove from permastructure in main site settings

  36. Plugins and libraries More on GitHub than WordPress.org

  37. User activity logging • Stream • Simple History

  38. Database sharding Don't even think about it. • Scale vertically

    first • HyperDB • LudicrousDB
  39. Multisite code is old upload_is_file_too_big() "This file is too big"

  40. Get involved • #core-multisite in • Bug fixing and improvements

    • 10 year old code
  41. Thanks! Find me on Twitter, GitHub, WordPress.org: @johnbillion