What Multisite Can Do For You
Anthony Cole, WordCamp Sydney | 21 July 2012
WordPress Multisite
• Used to be called MU, separate codebase
• Introduced to “core” in 3.0
• Used by everyone from the New York Times to Melbourne University
• We’re talking about it the context of use by an agency
My Background
• First Job: Lead Developer, Agency in Melbourne
• Lots of WordPress.
Then, one day...
• “We have ten sites that need to be upgraded”
• “Why don’t we use WordPress Multisite? I know how to do that”
NOT RLY
But Why?
• Centralised
• Easy to upgrade
• Efficient, Cost effective
Ask yourself...
• What are you trying to do?
• Overcomplication
• Overheads - is it cost effective?
“Take the red pill”
• Web Hosting
• ????
• US vs. Australia
• Who is your target audience?
Hosting
• Australia
• VPS or Shared - I prefer VPS
• United States
• WP Specialists - US based.
• WPEngine or Page.ly - Multisite
• Page.ly: Enterprise plans, WPEngine supports it out of the box
What I did
• Australian Traffic
• I wanted fine grained control over our hosting
Story Time
• One Friday night....
• Server went down at 4AM
• CPU Bug, not anything to do us
• Pretty lights
My Philosophy
• Keep it simple
• Don’t overcomplicate
• Do as little as possible
What happens if you make things complicated
• It might work, but stability is important
A few small things
• Pingdom - DNS/HTTP Checks
• DNS - Externally Managed
• Web Monitoring
• Munin & Monit
Let’s Setup Multisite
• wp-config.php
Setup Continued
Tools → Setup Multisite
Setup Continued
• “Setup Network”
• Subdomains or Subfolders?
• - Subdomains - you’ll need wildcard DNS and to configure Apache and nginx
Basic MS Stuff
• Network Admin UI
• When you’re developing plugins, ms-functions.php is your friend
• mu-plugins - autoloads everything
• http://wp.smashingmagazine.com/2011/11/17/wordpress-multisite-practical-functions-methods/
Remember...
• Keep it simple
Environments
• Two environments, exact clones
• Development
• Production
Multisite Health
• VCS
• Use Git or SVN, just something
• Nothing is bad
• We used git
Deployment
• Good for complex WordPress setups
• Capistrano
• WP-Stack - https://github.com/markjaquith/WP-Stack
• WordPress-Skeleton - https://github.com/markjaquith/WordPress-Skeleton
Structure is Function
• multisitewp = repo
• two submodules
• ms-plugins - Everything was thrown in
• ms-themes - twentyten and twentyeleven
• themes were submodules of ms-themes
End Result
• A bit messy. Git’s handling of submodules isn’t too good.
• If I could go back and do it again, I’d use braid and build a tool to manage dependencies
Braid
• Ruby gem for dependency management
• Supports git and SVN
• external management
• http://github.com/evilchelu/braid/
Caching
• KEEP IT SIMPLE
What some plugins claim...
LOL
Keep it simple
• wp-super-cache
• APC opcode cache drop in
Uptime
• Pingdom - HTTP and DNS
Backups
• BackupBuddy - basic
• But not ideal
• Ruby script on github that I forked and modified, uses S3 and run on a cron
• link to script
Hold Up
• What if someone hacks my server?
• Better way: Use an external EC2 instance
Plugins
• ALL THE PLUGINS
Awesome Plugins
• New Blog Defaults http://wordpress.org/extend/plugins/wpmu-new-blog-defaults/
• Theme Stats - http://wordpress.org/extend/plugins/wordpress-mu-theme-stats/
• WP Debug Bar & Debug Bar Extender
• Domain Mapping - http://wordpress.org/extend/plugins/wordpress-mu-domain-
Resources
• http://codex.wordpress.org/Create_A_Network
• http://wp.smashingmagazine.com
• http://wpcandy.com
Andrea and Ron Rennick
• Awesome people
• @andrea_r and @wpmuguru
• Networks+ Plugin
• Awesome Resources
• http://wpmututorials.com/
What I do
• So, what do I do now?
• I took the red pill
• Run my own agency
• kosmonaut.com.au
• @ksmnaut
Me
• anthonycole.me
• @anthonycole
• I love you all
Thanks
Top Related