Why WordPress in Education

I’ve noticed the topic of WordPress in Education recently in my Twitter feed. @Jeffr0 over on WP Tavern was recently polling his followers for info on the type of CMS (Content Management Systems) used by schools, along with the cost to run such platforms. Here at Hamilton Wentworth District School Board, we are big WordPress users. Our main website is a WordPress site (http://www.hwdsb.on.ca). We run over 100 individual school websites on a WordPress Multisite Network, and back in May of 2011, we launched the HWDSB Commons: a second Multisite Network which now hosts over 8000 blogs for over 30 000 users.

There is a saying in the WordPress community, that WordPress is Free as in Freedom, not Free as in Beer. Beer may not the best example given the audience that may stumble upon this post in the feed (oh Puritan Canadian, you worry too much); free as is Costco samples would work as well, although it won’t look as good on a T Shirt). I don’t think I understood that concept when we first began this journey, because when you are first starting out, beyond the hosting fee, we found everything we needed in the free Plugin Repository hosted on WordPress.org. (In this instance I suppose I saw my own time dedicated to the project as a free resource.)

Think of plugins like “Apps for your Blog”. Plugins add additional functionality to your site. We use a number of different plugins to bend the Commons to meet our needs (more on that later, or by exploring the “plugins” tag on this site. Everything from BuddyPress to connect all our sites together in a Social Learning Network, to plugins that connect to our SAML infrastructure to enable Single Sign on between the Commons, our Brightspace LMS, and our Google Apps for Education instance. When you are first starting out, those free plugins are probably all you need. That’s where some misconceptions can rear their head. You see it in the forums, where users assume they can get free support for the plugin they just downloaded for free. 

I don’t want to paint a rose-coloured picture that WordPress is free (in the beer/Costco-sample sense). I actually get quite perturbed when someone refuses to pay for a solution to a problem they are having with their blog, to a small web dev agency spending their time creating thoughtful solutions. We pay for premium plugins. We pay for premium themes. We pay a developer who helps us to build new functionality. The biggest difference that the WordPress in Education community provides, is that others are also paying developers to build out functionality, and the vast majority of those institutions share the things they build for free.

Think about the private CMS companies working in Education today. Most of them will have a catalogue of premium enhancements you can purchase. Sometimes, when they don’t have what you need, they will develop something for you (at an cost, and then an additional maintenance cost). Once that enhancement has been built for you, it gets added to their catalogue, and each additional client pays (again) for that same, previously developed functionality to be turned on. This incremental payment system leads to all of the school boards overpaying for functionality that already exists.

In the WordPress ecosystem we operate in, I pay for functionality to be developed, and I share it openly on platforms like the WordPress plugin repository, or on sites like Github. The money you would have spent to enable the previously developed functionality, you can now spend on something else, something that I might benefit from. Think about how much more responsible this model is, particularly when we are talking about spending public money.

We are all contributing; and the community benefits from those contributions; and our money — and the functionality of our platforms — improves exponentially faster than if we were all spending our money paying the private company over and over again for code that has already been paid for by previous customers.

This is the true benefit. As an example: we built an integration between Google Apps and WordPress, and everyone else can use it for free. The money you save by not having to pay for the same add on, can be used to build something new; something that I might need too.

Currently that community is comprised of mostly post-secondary institutions, but a couple of my K12 colleagues have started asking questions about how they might replicate what we have built at HWDSB.

This (long winded) post is an attempt to help them stand on our shoulders.

What do you need to get started?

If your school board doesn’t have staff who understand Linux, or look at you sideways when you say NGINX or Apache, I would strongly suggest paying a hosting company to host your site for you. We started out hosting internally, but as we grew, we realized that there were hosting companies out there who have a dedicated team working to ensure that the server is optimized for the kind of traffic you are going to experience. We struggled for the first few years with the site going down. It always happened on the weekend. @avivaloca would DM me, and I would sheepishly hope that the technician (who wasn’t paid to work weekends) would respond to my panicked text messages, and restart the server. Save yourself that heartache and host with a professional hosting company. Not everyone in the organization will think that your site being down is as much of an emergency as you do. I nodded my head in agreement when the Mark Zuckerberg character in the movie The Social Network stated that Facebook could never go down. That’s the kind of passion I felt about the Commons, and we are now in a place were a 500 error is very rare occurrence.

You want control of the plugin infrastructure. Although tools like CampusPress offer a limited number of plugins to enhance your experience, the collaboration I am hoping we can build towards requires you to have full control of the plugin and theme directories on your site. Otherwise you’ll still be looking on with jealous stares at what we can accomplish with our independently managed WordPress install.

Storage is going to be your biggest headache. We built that Google Apps integration to allows users to host their content on Google, and embed it on their blog. We also built an integration with Vimeo Pro that let’s us host video on their servers for cheap, without our videos ever appearing within the vimeo.com directory. That helps, but the local media library is hard to beat when creating photo galleries. You can limit the size of each site on a multisite instance so users need to manage their content. We host our content on the Amazon S3 cloud, which is the cheapest way we have found to allow users to archive work from past years without having to worry too much about space. You won’t need this right away, but eventually your users will start asking for more room. We use Tarsnap to back all that up. We haven’t had an incident yet, but you should have a contingency plan if your site gets hacked.

We use Let’s Encrypt to secure all our sites with SSL certificates. It’s free, but you need to find a host who supports provisioning the certificates. This isn’t essential, but in some of our more creative uses of the site, we have embedded a blog within a course in Brightspace, and for that, you need https.

We use a Moderation plugin to help moderate inappropriate content on the site. Part of the mandate is to create a gradual on-ramp for young users to experience social networking, in a space we have full control over. When a post or comment is flagged, the 21CL team is notified, along with the owner of the blog, and the author of the post. These are key teachable moments, and are much easier to deal with than if the same issue cropped up on a platform we have less admin control over (like FB or Instagram).

We moderate the creation of blogs too. Teachers can create multiple sites, but with students we try to limit them to one site. This helps keep the blogging directory free from sites with only one or two posts, with the eventual hope that we will be able to help students procure their own domain in high school, and understand the value of owning their digital footprint.

For sites where we want to foster collaboration across the school board, we have created a plugin that allows students to request membership to a site. This is one of the key differences between how we use our LMS, and how we use the Commons. The LMS tends to be linked to a specific class/course. The Commons opens up the opportunity to collaborate across the hall with other classrooms, between schools within the school board, or around the world with external community partners, or other international contacts.

We have an integration with Brightspace that syncs the membership of a course to a role on a blog. This is great if a class wants to create a group blog to collaborate with their classmates. Think of it like the discussion forum is the rehearsal space, and the blog is the public performance space.

We have set up a site for all of our secondary schools, and a number of our elementary schools, to create an announcements slide show functionality, that is embedded in school websites, and displayed in the hallways of schools, and within classrooms. That Brightspace sync makes sure teachers all have the correct permissions to be able to add announcements from anywhere.


We host domain mapped blogs for employees: https://adunsiger.com, https://suedunlop.ca, https://mrjarbenne.ca, https://mrkelly.ca, https://mrpuley.ca, and a couple others, are all Commons hosted blogs. Domain mapping, similar to projects like A Domain of One’s Own, is something we continue to investigate to make this functionality available for students as well.

We host LOTS of classroom blogs. These sites create a window into the learning happening in the classroom, and I’m sure contribute to richer “what did you do at school today” conversations around the dinner table.

Some things we don’t do too much of yet: @therealmrkelly and I have been talking about podcasting lately. I noticed local Journalist Joey Coleman tweeting recently about the Podlove plugin that powers his podcast and need to explore that further.

On the topic of journalism, every school should have a student newspaper, and the Editflow plugin is installed and ready to be activated on any school site looking to explore this medium.

We solve a lot of problems with WordPress. We share all our solutions with the broader WordPress community. Maybe you should consider joining us.