wordpress at new york university
TRANSCRIPT
Effectively manage and Scale WordPress Multisite and
Importance of Insights
Neel Shah@neelshah91
New York University
Harshit Sanghvi@harshit_ps
Contents● WP at NYU● Plugin/Theme Update Process● Mirroring Production to Dev/QA● Dynamic Site Creation Process● Importance of Insights
https://wp.nyu.edu
Web Publishing - Stats● 5227 Sites● 17880 Users● 65 Plugins● 52 Themes
Site Type:
● 52% Teaching & Learning ● 39% Personal● 9% Administrative
https://wp.nyu.edu
Web Publishing - Stack● AWS EC2 Instance● Amazon Aurora DB● Redis Cache● PHP 7● NGINX Server● Shibboleth Single Sign On
Selecting Hosting Provider● Your Current Team● Level of Support● Level of Access● Flexibility● Support for Single Sign On● Production and Dev Resource Sharing● Cost
Plugin/ Theme Update Process
● Benefits○ Avoid unwanted code in Production○ Shorter release cycles
● Tools○ CAC tools for wp-cli
(https://github.com/cuny-academic-commons/wp-cli-cac)○ Behat for unit tests○ Jenkins CI
Plugin/ Theme Update Process
Mirroring Production to Dev/ QA
Mirroring Production to Dev/ QA● Benefits
○ Fully mirrored Dev/QA environment○ Backup db for large multisite○ Migrate from one hosting provider to another
● Tools○ Mirror_db (https://github.com/neelakansha85/mirror_db)○ Jenkins CI
New Site Creation Process - wp-signup.php
SELECT TYPE
Dynamic Site Creation Process
CHOOSE WHAT YOU NEED
Essential Settings
MAKE IT PRETTY
Themes
SELECT PLUGINS
Features
YAY!
Finish
● Benefits○ Enhancing current wp-signup page
● Tools○ Site Setup Wizard
(https://wordpress.org/plugins/site-setup-wizard)
Dynamic Site Creation Process
Importance of Insights into Multisite
Some unanswered questions● How many sites are being created and when? ● What is the most popular theme or a plugin among all the sites? ● Are all my plugins compatible with latest WordPress version? ● Are any of my 10000s sites getting spammed? ● Is some user misbehaving within my multisite environment which affect
overall network performance? ● How are my users connected to each other through different sites?
WP Network Stats● Developed for New York University● Can answer all of the above questions and many more● Features -
○ Background processing for generating new statistics for the network. It allows you to safely generate stats without compromising the performance of your large multisite network.
○ Ability to fine tune batch processing settings.○ Protected network admin settings.○ Notification when the stats are available.○ Analytics dashboard using D3 charts to gain insights into some of the generated data.○ Generates set of CSV files corresponding to different types of stats.○ You can selectively generate the stats you need - Sites Stats, Plugins Stats, Themes Stats
or Users Stats.
Multidimensional Detective● Find sites with >200 users, >20 active plugins, >1000 posts, >5000
comments or >1000 attachments
Multidimensional Detective● Find sites with >200 users, >20 active plugins, >1000 posts, >5000
comments or >1000 attachments
Some Insights from NYU’s WordPress service
Sites Created By Date vs. Time of Day
Site Privacy, Active Theme, DB Version
Sites Registered Over Time
Users Registered between two dates
Users Interconnection
Use cases● Send targeted communication emails. e.g.,
○ To all the admins of sites which has more than 1000 attachments about potential violation of terms of use.
○ To site admin who is allowing comments from public about potential spam issues.○ To all the users who use a specific plugin/theme about upcoming changes to that
plugin/theme.
● Decide migration strategies when replacing/retiring a plugin/theme based on its usage.○ What to do when a plugin/theme is found incompatible with latest WordPress release
● Archive/delete sites or content created by alumni.
Thank You
Harshit Sanghvi@harshit_ps
Neel Shah@neelshah91
Questions?