Monetize your WordPress Multisite Network with the WPMU DEV Pro Sites Plugin

The WPMU DEV Supporter plugin has now become the WPMU DEV Pro Sites plugin. It’s got loads of new built in features making it the number one plugin for monetizing your WordPress network.

Ever wanted to create a monetized network like It’s a great model – create a network, give a away a free blog and then charge for extras.

We use the Freemium model ourselves at Edublogs – the largest Education blogging network on the planet (I’d hazard a guess that it’s the biggest in the universe too – unless there’s an alien edublogging network…..). Pro Sites is how we are able to run such a successful WordPress Multisite Network.

This tutorial is going to show you how to use Pro Sites to create a fully monetized WordPress Multisite Network. By the time you’re done you’ll be raking in the cash.

Let’s get going.

1. Install WordPress Multisite

If you’ve got the Pro Sites plugin then likely you’ve already installed Multisite. If not, you can learn how to here.

2. Install Pro Sites

Download and unzip Pro Sites.

Upload the /pro-sites/ folder to your /wp-content/plugins/ folder

Note: if you are using the Supporter Plugin you must remove all of the old files before installing Pro Sites. If you have existing user subscriptions with the old PayPal or Amazon gateways, make sure to copy the backwards compatibility IPN handlers to your webroot from the gateways folder.

Navigate to Network Admin > Plugins and activate the Pro Sites plugin

activate Pro Sites

3. Check out the Plugin

Pro Sites will now appear on your WordPress Network Admin menu.

Pro Sites Menu

[wdca_ad id=”55085″ ]

Before we go further let’s take a look at some of the new features:

Pro Sites > Statistics

Pro Sites statistics

We’ve added a whole load of new statistics. These include:

  • Monthly Activity Summaries
  • Weekly Activity Summaries
  • Ratios
  • History

Pro Sites > Coupons

you can now add coupons

You can now create coupon codes to offer discounts to users.

Pro Sites > Levels

you can now create levels

You can now have different site levels , giving access to more advanced features as your levels increase.

Pro Sites > Settings

create automatic emails

You can now set up Pro Sites to send automatic emails.

Pro Sites > Settings

new payment gateways

Check out the new powerful Paypal Express Gateway and Pro Gateway

4. Create Your Levels

Pro Sites now has in-built levels so that you can have different types of member. Like with our Membership plugin, you need to do some planning here. Having all of this planned out in advance will save on lots of confusion in the future. For the purposes of this tutorial I’m going to create 2 levels. You can create as many as you want.

Tip: Your each level aggregates the settings from the levels below. So, anything that Semi Pro has, Pro will have too. And if I have an Elite level that will inherit everything below that.

Here’s my plan:

Semi Pro

  • increased upload space
  • has access to ten additional premium themes
  • can embed using HTML
  • limit the number of pages they can create to 10
  • disable advertising on main site only
  • access to Facebook plugin
  • domain mapping


  • has further increased upload space
  • has access to all premium themes
  • can create unlimited pages
  • access to premium support
  • disable advertising on main site and five others

Go to Pro Sites > Levels

Edit level 1 to be your lowest level. On Pro Sites a level will have access to all of the features for its number and for all of the numbers below it. So 1 has access to 1, 2 has access to 2 and to 1.

edit level 1 to be your lowest level

Unlike our Membership plugin, you do not need to create a free level. Anyone signing up will have access to whatever you set up with WordPress and Pro Sites lets you add features or take away restrictions. Think of it as a plugin that lets people upgrade.

add your new level

Once you’ve created your lowest level create a new level and select add.

5. Settings

Once you have created your levels you can have a play around with your settings.

There are some settings that you can change here:

  • Change the name of “Pro Sites” – you can call it Awesome Sites, Full Sites, whatever you want.
  • Create a signup message to show on the signup page – you can use HTML here so be as creative as you want!
  • Create a sales message for your checkout
  • Give free trials

[wdca_ad id=”55097″ ]

I’m going to give everyone who signs up a free trial of my Semi Pro level for two weeks. Like so:

set up to give two week free trial to all signups

6. Create Your Modules

When you select something from Pro Sites > Modules/Gateways, its contextual menu will appear under Pro Sites > Settings

I’m going to activate all of the modules that I need for both of my levels. For my purposes I need:

  • Advertising
  • Post/Page Quotas
  • Premium Plugins
  • Premium Support
  • Premium Themes
  • Quota
  • Unfilter HTML

selected modules

7. Set up your Modules

Once you have activated your modules navigate to Pro Sites > Settings

a) Advertising

Navigate to Pro Sites > Settings and scroll down to Advertising

I want the following settings for each level:

  • Semi- Pro Sites – disable ads on main site only
  • Pro-Site – disable ads on main site + 5 more

You can change the name of the feature but I’m happy with “Disable Ads.”

I’m going to enable Additional Ad-Free blogs, then attach 5 to Pro. Like in the screenshot below:

set up how many advert free sites a level can have

You can also change the sales message to encourage people to want to get rid of adverts.

And you can attach “Enable Premium Themes” to enable premium themes as well as getting rid of adverts.

We don’t want to do this as we want to limit the number of themes available to different levels.

Save changes.

b) Post /Page Quotas

Scroll down to post/page quotas.

I want to restrict the number of pages a Semi-Pro site can create to 10. Pros can have unlimited.

Choose “Pro” for Site Level and set the Pages Quote to 10. You can also change the sales text here.

setting up page quotas so that Semi-Pro sites can only create ten

Save changes.

c) Domain Mapping

Install domain mapping. You can check out this tutorial on Domain Mapping to learn how to set the plugin up.

On your Network Admin menu go to Settings > Network Settings and scroll down to Domain Mapping.

Set “Supporters Only” to “Yes”

Set up domain mapping to work with Pro Sites

Save changes.

d) Premium Plugins

I want to give all of my supporters access to various social media plugins. You can use the Premium Plugins settings to give plugins to different levels. I’m going to give my Semi-Pro users access to our Ultimate Facebook plugin and Pro sites are going to get Floating Social as well.

Navigate to Pro Sites > Premium Plugins

Note: You will already need the plugins installed for this to work.

Again, choose the lowest level that gets the plugin. Anything above this will also get it.

choose the plugins you want to give to each level and decide whether you want to auto-activate them or not

I’m also going to Auto-Activate them.

Save changes.

e) Premium Themes

Navigate to Pro Sites > Premium Themes

You’ll see a list of all of your installed themes and you can activate them for different levels. This list only shows disabled network themes – i.e. if you haven’t enabled it you will see it here and can control it with Pro Sites.

I’m going to set 10 for Semi Pro and the rest for Pro.

choose the themes you want to allocate to different levels

Save changes.

f) Premium Support

Navigate to Pro Sites > Settings and scroll down to Premium Support.

I’m going to enable Premium Support just for my Pro users. This means that they will be able to email a special support email address which will give them access to priority support.

insert your support email and choose which level you want to give premium support to

Save changes.

g) Quota

Navigate to Pro Sites > Settings and scroll down to Quota. Here you can set the amount of space each site can have. I’m going to give Semi-Pro Sites 100 MB and Pro Sites 500mb.

set your quota

Save changes.

f) Unfiltered HTML

Filtering HTML prevents users from doing things like embedding videos. This setting gives them full access to HTML editing. I’m going to enable this for Semi Pro users and up.


unfilter html for specific levels

Save changes.

And our modules are set up!

[wdca_ad id=”55086″ ]

8. Set up your Payment Gateway

Navigate to Pro Sites > Modules/Gateways

Currently Pro Sites supports PayPal Express/Pro and Manual Gateways. We may be adding more gateways in future updates.

I’m going to choose PayPal Express/Pro.

choose your payment gateway

Save Changes

Navigate to Pro Sites > Settings

paypal settings

You need to insert your own settings for PayPal, including your country, currency and API details. You can get instructions on the PayPal API here.

You can use PayPal Pro which lets you take credit card payments. To do this you need to sign up for PayPal Pro and PayPal Pro Recurring Payments.

PayPal Pro info

You can also edit the design of your payment page here.

And your Pro-Sites plugin is good to go!

Don’t forget that Pro-Sites integrates with lots of our other great plugins, including Membership and MarketPress.

WPMU DEV Members can download Pro Sites now and non-Members can buy it for only $39!

21 Responses

    Adam W. Warner

    Nice write up Siobhan. I’m hoping you continue to create more of these types of write-ups for other plugins too.

    This plugin rebranding and writeup comes just as I was considering offering this service to my existing members.

    Speaking of members…you mentioned above that it integrates with the Members plugin…can you tell us what you mean by this?


    @Adam, Membership integration can be considered in two ways currently. With Pro Sites you can make Membership a Pro plugin so users can use Membership to create membership sites on your network.

    Membership also has an integration option when setting up subscriptions. With it, you can associate a membership level with a Pro Sites Pro level. Currently that integration can only handle a single Pro level but more robust integration is in the works. Basically, the pre-existing Membership integration with Supporter is still there, but Pro Sites is backward compatible with that.

    @Will, Membership is a user-based plugin, letting you customize what a user sees on the site, whereas Pro Sites is a site-based plugin, letting you provide additional features on a site. Whether you’d still need Membership would all depend on the specifics you’re trying to achieve, either user-based or site-based.

    Also, Pro Sites supports any WordPress theme, though plugin-based themes like WP Touch could be done via the plugins section of Pro Sites.


    You mentioned page quotas above and restricting the semi-pro level to 10 pages, as an example. Does this also restrict the free version of sites, or will they still have unlimited pages?


    Hi … Pro Sites looks like a great plugin. I am currently testing pay to blog plugins and I have a couple of questions for prosites. I am not sure if it is capable of what I need to do. I am currently running a Buddypress Multisite.

    What I require is
    1. Pay to Create/Manage {Private} Blogs – So this is not a freemium model. So after a 30 day trial window they would pay monthly to access/manage the blog.
    2. Free membership – No blogs but users can sign up and then be assigned by the blog owners as users (with different levels of access on 1 or more blogs.
    3. Paid Membership – same as free (no blog) but access to additional features (like Buddypress groups or forum)

    Ideally I would like to also in the {near} future offer additional premium services to the Blog owners/managers for additional fees. This looks like something that pro sites can do easily.

    Is this something that pro sites can do? Would it require the membership plugin?


    @Nat, sorry for the late response here, but yes, sites that are not extended as Pro sites are essentially free sites, by default.

    @Joe, good question! That would only affect the Pro levels you setup the quota for. As a possible workaround you could disable the non-Pro levels with the Pay to Blog module and setup a very basic Pro level to use as a trial level, and have the page quota set there.

    @Bronwyn, you can use the included Pay to Blog module, which effectively disables the blog until upgraded to a Pro level, and you can then provide a trial period. As for items 2 and 3, it sounds like you might want to use the Membership plugin as well, to provide user-based access rules.


    Ho does a user reach a sign up page? Your information is great for setting up the modules but as a newbie, I have no idea what to do to make a menu item for the sign up here page.

    Thanks. useful otherwise.

    Joe Jenkins

    There are links throughout to the sign up page. For example, if a user takes a look at the available premium plugins (which has its own tab), there will be a link there to sign up to pro.



    Firstly, thank you for such a quick response.

    Sadly, I think I must be misunderstanding something somewhere.

    I want there to be a menu item on my front page for ‘get your own shop’ for unregistered users. (Marketpress, Multisite)

    This link will then take them to an options page where they can choose a package form given details and then complete a sign up/registration and payment via Paypal. I am using Pro sites to try to do this. (I have also tried Membership and pay to blog).

    I have not been able to find a way to access the options/sign up page that pro sites is suppose to have let alone create a menu item for it.

    I am very either very confused or something is missing.

    I have been searching and reading for over 12 hours and can’t find any simple instruction to assist with this.

    Please, please help me before I loose all of my hair and sanity.


    @nick We direct visitors to the sign-up page with a menu item titled “join” where they will be presented with upgrade options upon creating a site.

    The plugin creates an Admin Bar link for registered users which you can title via the admin options. For non-registered users you could create a menu item linking to domain.tld/pro-site

    @david Please correct me if I’m wrong on any of the above.

    @Siobhan Thanks for the detailed write-up! I’ll likely be referring to it often. the only thing I see missing is a little more detail about PayPal API integration and IPNs, especially if/when using an IPN forwarder for Pro Sites on multiple different domains – which I’ve had a horrible time getting to work. Any feedback on this unresolved support topic would be most appreciated.


    I have a quick question. When she describes the example, Siobhan describes a “hierarchical” progression of site options, but does this have to be the case? I mean, could you put together packages of themes and plugins that would meet the needs of certain types of users (retailers, bloggers, local businesses, etc) and just let a user “subscribe” to a meaningful package of options based on their specific needs??

    Hope this makes sense… Keep up the great work!


    It gives me a feeling that manual payment option exists – but every body thinks nobody is going to use it.

    No where it is explained – how to use manual payment gateway – or everybody out here thinks it is too obvious – “how to go about?”.

    I don’t mind acting dumb over here – but kindly help me with this problem.

    Thanks in advance.


    I have been searching for some time now and have not found an answer. How is advertising shown on sites? Is a block of code inserted into a sites template? Can you define the size, code and location of the advertising? A screenshot of the feature is not shown, or how it integrates into a site. I have been contemplating adding this plug-in for a few months, and that is the only setback.


      How is advertising shown on sites?

      Enable the Ads module from the Pro Sites admin then visit the Settings page to configure your advertising-free level, where you want ads to appear and enter whatever ad code you want to use.

      If you want to show/hide ads in location(s) other than the defaults, you can try wrapping the code in the original Supporter conditional call:

      if (supporter_hide_ads()) {
      //do not show ads
      } else {
      //show ads

      Of course, adding the necessary php tags, which would likely be stripped if posted in a comment here. Hope this helps! You might consider posting in the forums for better assistance.