Posts tagged "Middlebury"

WordPress Multilingual Multisite

I had a great meeting this afternoon with the good folks at Middlebury (Amy Collier, Sonja Burrows, Evelyn Helminen) to talk about a project they have with their School of Hebrew. They are looking to create a Community of Practice for their faculty where much of the content is in English, but there is also a forum that would allow them to write in Hebrew.

Multi languages can be tricky for a number of reasons, but a good thing about WordPress is that they’ve really focused on internationalizing the platform. This means you can install it in 162 different languages (including Hebrew) as of the date of this post..

There are several plugin solutions that can be helpful. For instance, some allow you to write various languages side-by-side, or tag a post a specific language and allow the end-user to choose between other translation, while others utilize engines to autogenerate translations.

But many of these are focused on end-user and not necessarily authoring. For example, when writing a comment in Hebrew, you want to be considerate of the change in orientation from left > right to right > left. WordPress itself has a very good article that talks about the different options, tools, and complexities ofmultilingual wordpress.

So I’ve been trying to think of how one site can serve multiple languages and will lay out below the approach I recommend: a multisite installation. Multisite will allow you to easily manage a similar look in feel as you share resources such as themes and plugins across the network, but will allow you to customize different aspects of your site(s) depending on their specific needs.

One other neat feature of WordPress is that you can do a multisite installation and each subsite can be a different language. Here’s a quick tutorial on how to setup different sites under a multisite with separate languages:

First, I’m going to use Installatron to make a fresh multisite install. The main thing here is opt-in to multi-site. I’m going to call this Dual Lingo (not to be confused with a similarly titled, massively popular language learning website!)

Screen Shot 2016-06-22 at 3.01.23 PM.png

For this installation, I’ve kept in English.

Now I’m going to go to Network Sites and check out my sites to add a new site.

Screen Shot 2016-06-22 at 3.02.35 PM.png

Screen Shot 2016-06-22 at 3.02.51 PM.png

Where my main site is, the new site will be In this dialogue box, I’ll also select Hebrew as the site language.

Screen Shot 2016-06-22 at 3.03.12 PM.png

So here’s my new Hebrew site:

Screen Shot 2016-06-22 at 3.05.49 PM.png


As I mentioned, Middlebury wants to have a Hebrew forum so I’m going to install a few plugins that allow 1.) visitors to generate a user account 2.) the forum itself and 3.) a single sign-on plugin so you can register for the account on the English site but still use those credentials on the Hebrew site. I’m going to install BuddyPress for registration, BBPress for the forum, and WP Multisite SSO for single sign-on. Once you’ve done so, make sure they are activated across the network.

Screen Shot 2016-06-22 at 3.11.06 PM.png

Now I’m going to navigate into my Network Settings to allow users to be registered.

Screen Shot 2016-06-22 at 3.14.11 PM.png

BuddyPress is going to tell me I need to setup the pages for registering and activating an account. So I’ll do that next.

Screen Shot 2016-06-22 at 3.15.40 PM.png

To do this, navigate to from your network settings to your main site settings and publish the pages. I’m going to simple call them “Activate” and “Register.” You want to leave the dialogue boxes blank. As I navigate to “All Pages” you’ll notice that BuddyPress generated a couple pages (activity, members) that you may or may not use.

Screen Shot 2016-06-22 at 3.17.31 PM.png

Next I’m going to go BACK to network settings and make match these pages to their respective templates.

Screen Shot 2016-06-22 at 3.20.21 PM.png

Last thing I’ll do on the Registration side is add a link to the Register page on the main sites menu and make its location the Primary Menu.

Screen Shot 2016-06-22 at 3.22.16 PM.png

Alright, now let’s setup our Hebrew forum. This can be tricky, of course, because we are in a different language. I’m going to generate a simple test forum so then we can test out all of the site functionality.


The last thing I’m going to do is add on my main English site a link to the forum and then a registration and login links on Hebrew site menu. Since we are doing registration on the main site, I’m going to grab that specific link as I don’t want to duplicate the signup process ( So I’m going to add a custom link to the Menu.


Since we initially installed the SSO plugin, when a user logins, they will now login to the entire network.


And we’re taken care of! We can now register across the network and then type in the proper orientation.


A couple of things I would strongly recommend to further expand this. Consider installing a Google CAPTCHA plugin for any BuddyPress site to thwart spam(In fact, I use one called Google Captcha reCAPTCHA for the regular signup page and another specifically for BuddyPress registration called BuddyPress NoCAPTCHA). Additionally, you can Remove Dashboard Access for non-admins with a plugin as well.

So that’s a super niche use case but it really shows you the flexibility of WordPress multi-site! Let me know below in the comments if you’ve similarly used WordPress multi-site to do something a little out-of-the-box.

Featured image: flickr photo shared by neilfein under a Creative Commons ( BY-NC-ND ) license

Three Flavors of Networked Blogging with WordPress

I’ve been helping with the launch of MiddCreate, a domains project at Middlebury, led by Amy Collier. One of their faculty members was interested in a multisite setup for her class, and while that’s a great approach, I wanted to offer the Middlebury folks a broader look at options for networked blogging with a particular focus on different models that WordPress affords.

Networked, distributed sites

This is the approach that I use for my PR Pubs course, which was popularized by Alan Levine / DS106. Essentially, faculty set up a course site and utilized it’s blog function to syndicate student work. This is arguably the broadest approach and lends itself well to student agency. This is because the model depends on student’s sites to have RSS feeds to process the syndication, so, technically, students are able to use any platform that produces an RSS feed. That said, it is also more arduous to manage at both a student and faculty level (though I would argue this may be a good thing depending on your objectives). If you are taking a portfolio building approach to your class, I highly recommend this model.

The how: If you are at an institution that has a Domain of One’s Own initiative (we have OU Create) and gives students access to tools like CPanel and Installatron, students have multiple applications that they can choose from (such as WordPress and Known). I have setup a WordPress instance to run the course site and installed FeedWordPress which is the real engine of the tool. I won’t go into this method too in-depth because Alan wrote a series in 2014 which is arguably the most comprehensive tutorial of the plugin (HIGHLY recommended). But for those new to the game, FeedWordPress allows you to subscribe to any of the Atom and RSS feeds that a site generates. If the student is using WordPress (as well as Blogger), you will see multiple options for RSS feeds pop up. That’s because there are feeds for the blogs as well as the comments (which can be beneficial if you want to track comments as well).

Screen Shot 2015-12-14 at 1.40.41 PM

Once you have subscribed to the RSS, you can look under the “Feeds & Updates” menu item and you can decide whether you want the course site to manually check for updates (known as a cron job) or automatically check for updates. I have mine set to check for updates automatically once an hour. One other feature that you might want to take a look at is where the permalinks point. You can either have it point to your local copy or to the students website. I prefer to point to the students site to really promote the idea of these networked, distributed sites, but occasionally a student site disappears and I appreciate the ability to point to the local copy.

There is also an Feedwordpress Advanced Filters plugin that can be handy. I use it to locally store the images that syndicate. That way, in the event that the student site goes down, I have a local copy cached.

Screen Shot 2015-12-14 at 1.44.12 PM

When you’ve finally subscribed to all of the student sites, your FeedWordPress dashboard will look something like this, showing the feeds, their address, and the last time the site was scanned for new posts:

Screen Shot 2015-12-14 at 1.37.18 PM

WordPress Multi-Site

So this is a new approach that I’m playing with. Tim Owens wrote a great series on WordPress multi-site and the advantages it brings. Multi-site is pretty self explanatory: One WordPress user is a super admin to multi sites. Most campus-wide blog solutions are, indeed, simply one installation of a WordPress multi-site. Users can sign up to create a WordPress website but do not manage the installation or its features. This means that all updates to WordPress, themes, and plugins happen at a Super Admin level.

What I wanted to look at was can you use WordPress Multi-Site to replicate the same functionality as distributed site syndication, but lowering the bar to entry for creating and maintaining the site itself. For some, becoming a full sysadmin of their own domain might not be desired and they are looking for an approach that mirrors a hosted solution (such as or Blogger). What would this look like?

I setup http:/ and installed WordPress Multi-Site. The next thing you need to do is go to your Network settings and enable registration for both sites and user accounts.


Then install both FeedWordPress and Inpsyde Multisite Feed (make sure to Network Activate FWP). Multisite Feed is a great little plugin that I found which allows you to create one RSS feed for posts across the entire the network, which means you are no longer managing the RSS feed of all students, but, rather, one MEGA feed.

Screen Shot 2015-12-14 at 3.45.01 PM

Next you’ll leave the Network admin site and go into the Dashboard of whichever site you want to use as your course hub and then add the feed to FeedWordPress. The feed is simply %siteurl%/multifeed (this URL is also customizable in the Multisite Feed settings).

Screen Shot 2015-12-14 at 3.46.49 PM

And, voila, I now have a syndication hub where students can just signup for a WordPress instance and will automatically be syndicating. I can even add a link to “Create a Site” by adding %site-url%/wp-signup.php to the menu.

Screen Shot 2015-12-14 at 3.56.43 PM

Now to just sit back and relax:


As students signup for an individual site, you’ll receive email notifications as well as find them on your Network Admin Dashboard under Sites:

Screen Shot 2015-12-14 at 4.36.49 PM

So when is this model appropriate? If students are producing a lot of course-specific work but is not necessarily towards a portfolio, you might take this approach. For example, say I’m teaching a U.S. Media History course, and I make an assignment that requires students to build sites in groups. My class has 24 students and I break them up into groups six groups of four. I then assign them decades (1910s, 1920s, 1930s, 1940s, 1950s, and 1960s) and tell them that I want them to build a resource site for each decade. And suppose I want a consistent look and feel. And let’s make one last assumption that future classes will either do past or future decades OR revise previous students work. Rather than having to manage several installation instances, you can allow students to fire it up themselves, and then you can manage all the updating and maintenance and you’ll still have a syndication hub of all student work.

It’s important to note that students are still technically admins meaning they can export content and then import it into their specific portfolio website if they want.

Group Blog

So the last model I want to look at is the good ol’, tried and true group blog. I have to admit, group blog has never been my bag. I’ve always found it a little suppressing when there’s not a huge barrier to having students create their own site. But this semester I actually had a use case where it came in really handy so I wanted to show how I set it up. We have a faculty member who liked the idea of blogging but teaches a large lecture class called “Architecture for Non-Majors” which is a general education course generally taken during freshman year and hovers around 100 students. He didn’t want to (or felt capable of) teaching domains at that scale. That said, he wanted a public facing space where students could write about and comment on various posts about architecture.

Enter the group blog.

The challenge for this was 1.) making it easy for students to sign up and 2.) making it easy for the faculty member to manage. This gave me an opportunity to play with BuddyPress for the first time in-depth. After installing WordPress, you want to install the BuddyPress plugin, one of the most popular WP plugins out there, which focuses on creating a social network on your site. BuddyPress has several popular features that you can enable including Activity Streams and Notifications:

Screen Shot 2015-12-14 at 4.05.46 PM

Additionally, it generates several custom pages which you can activate very quickly such as Register. This makes it very easy for students to register for the site’s main page.

Screen Shot 2015-12-14 at 4.06.05 PM

You’ll also want to make sure you’ve enabled registration within your WordPress settings under Settings > General. You’ll also want to make sure you’ve set new users to be “Authors.”

Screen Shot 2015-12-14 at 4.08.43 PM

One thing I really appreciate about BuddyPress is user management. You can easily see how many users you have as well as who has not completed signup, and by that I mean they haven’t clicked the verification link from their email. This can happen for a number of reasons including Spam filters. But, anyways, it allows you at an administrator level to resend the verification email (even in bulk!).

Screen Shot 2015-12-14 at 4.14.25 PM copy

So which model is right for you? Well, of course, that really depends on what you are trying to do and I’d suggest looking at several factors: your objective, disk space capacity, class literacy, personal vs collaborative, etc. While one could argue the merit or purity of a specific method, it’s hard to deny the flexibility of the mighty little WordPress.