Slide 1

Slide 1 text

What Multisite Can Do For You Anthony Cole, WordCamp Sydney | 21 July 2012 Sunday, 22 July 12

Slide 2

Slide 2 text

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 a web agency Sunday, 22 July 12

Slide 3

Slide 3 text

My Background • First Job: Lead Developer, Agency in Melbourne • Lots of WordPress. Sunday, 22 July 12

Slide 4

Slide 4 text

Then, one day... • “We have ten sites that need to be upgraded” Sunday, 22 July 12

Slide 5

Slide 5 text

Sunday, 22 July 12

Slide 6

Slide 6 text

Sunday, 22 July 12

Slide 7

Slide 7 text

Sunday, 22 July 12

Slide 8

Slide 8 text

• “Why don’t we use WordPress Multisite? I know how to do that” Sunday, 22 July 12

Slide 9

Slide 9 text

NOT RLY Sunday, 22 July 12

Slide 10

Slide 10 text

But Why? • Centralised • Easy to upgrade • Efficient, Cost effective Sunday, 22 July 12

Slide 11

Slide 11 text

Ask yourself... • What are you trying to do? • Overcomplication • Overheads - is it cost effective? Sunday, 22 July 12

Slide 12

Slide 12 text

“Take the red pill” • Web Hosting • ???? • US vs. Australia • Who is your target audience? Sunday, 22 July 12

Slide 13

Slide 13 text

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 Sunday, 22 July 12

Slide 14

Slide 14 text

What I did • Australian Traffic • I wanted fine grained control over our hosting Sunday, 22 July 12

Slide 15

Slide 15 text

Story Time • One Friday night.... • Server went down at 4AM • CPU Bug, not anything to do us • Pretty lights Sunday, 22 July 12

Slide 16

Slide 16 text

My Philosophy • Keep it simple • Don’t overcomplicate • Do as little as possible Sunday, 22 July 12

Slide 17

Slide 17 text

What happens if you make things complicated • It might work, but stability is important Sunday, 22 July 12

Slide 18

Slide 18 text

A few small things • Pingdom - DNS/HTTP Checks • DNS - Externally Managed • Web Monitoring • Munin & Monit Sunday, 22 July 12

Slide 19

Slide 19 text

Let’s Setup Multisite • wp-config.php Sunday, 22 July 12

Slide 20

Slide 20 text

Setup Continued Sunday, 22 July 12

Slide 21

Slide 21 text

Tools → Setup Multisite Sunday, 22 July 12

Slide 22

Slide 22 text

Setup Continued • “Setup Network” • Subdomains or Subfolders? • - Subdomains - you’ll need wildcard DNS and to configure Apache and nginx Sunday, 22 July 12

Slide 23

Slide 23 text

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/ Sunday, 22 July 12

Slide 24

Slide 24 text

Remember... • Keep it simple Sunday, 22 July 12

Slide 25

Slide 25 text

Environments • Two environments, exact clones • Development • Production Sunday, 22 July 12

Slide 26

Slide 26 text

Multisite Health • VCS • Use Git or SVN, just something • Nothing is bad • We used git Sunday, 22 July 12

Slide 27

Slide 27 text

Deployment • Good for complex WordPress setups • Capistrano • WP-Stack - https://github.com/ markjaquith/WP-Stack • WordPress-Skeleton - https://github.com/ markjaquith/WordPress-Skeleton Sunday, 22 July 12

Slide 28

Slide 28 text

Structure is Function • multisitewp = repo • two submodules • ms-plugins - Everything was thrown in • ms-themes - twentyten and twentyeleven • themes were submodules of ms-themes Sunday, 22 July 12

Slide 29

Slide 29 text

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 Sunday, 22 July 12

Slide 30

Slide 30 text

Braid • Ruby gem for dependency management • Supports git and SVN • external management • http://github.com/evilchelu/braid/ Sunday, 22 July 12

Slide 31

Slide 31 text

Caching • KEEP IT SIMPLE Sunday, 22 July 12

Slide 32

Slide 32 text

What some plugins claim... Sunday, 22 July 12

Slide 33

Slide 33 text

LOL Sunday, 22 July 12

Slide 34

Slide 34 text

Keep it simple • wp-super-cache • APC opcode cache drop in Sunday, 22 July 12

Slide 35

Slide 35 text

Uptime • Pingdom - HTTP and DNS Sunday, 22 July 12

Slide 36

Slide 36 text

Backups • BackupBuddy - basic • But not ideal • Ruby script on github that I forked and modified, uses S3 and run on a cron • https://github.com/anthonycole/simple- s3-backup Sunday, 22 July 12

Slide 37

Slide 37 text

Hold Up • What if someone hacks my server? • Better way: Use an external EC2 instance Sunday, 22 July 12

Slide 38

Slide 38 text

Plugins • ALL THE PLUGINS Sunday, 22 July 12

Slide 39

Slide 39 text

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 - http:// wordpress.org/extend/plugins/debug-bar/ • Domain Mapping - http://wordpress.org/extend/ plugins/wordpress-mu-domain-mapping/ Sunday, 22 July 12

Slide 40

Slide 40 text

Resources • http://codex.wordpress.org/ Create_A_Network • http://wp.smashingmagazine.com • http://wpcandy.com Sunday, 22 July 12

Slide 41

Slide 41 text

Andrea and Ron Rennick • Awesome people • @andrea_r and @wpmuguru • Networks+ Plugin • Awesome Resources • http://wpmututorials.com/ Sunday, 22 July 12

Slide 42

Slide 42 text

What I do • So, what do I do now? • I took the red pill • Run my own agency • kosmonaut.com.au • @ksmnaut Sunday, 22 July 12

Slide 43

Slide 43 text

Me • anthonycole.me • @anthonycole • anthony@kosmonaut.com.au Sunday, 22 July 12

Slide 44

Slide 44 text

• I love you all Thanks Sunday, 22 July 12