Need advice as to whether or not I should use Wordpress Multisite or set things up using "Numer

Need advice as to whether or not I should use Wordpress Multisite or set things up using "Numerous" Single Sites?

I have a large website that I will be setting up. Potentially about 10,000 pages. There will also be up to 150 different and individual departments. This is for a University.

My original thought, was to set up each individual department as a separate and individual stand along Wordpress site, with it's own Wordpress installation. On the other hand, I could set up a Multisite (Network) and have all of the departments set up as sub sites within the "Master Network".

Since I use InfiniteWP to manage updates and upgrades of plugins, Wordpress core updates, themes, etc., I wasn't so worried about having so many individual installations of Wordpress installed on the server.

My concerns are that if everything is installed under "one" master site, ...

1. The backup files and database for the "entire site (including all the sub sites)" will potentially become huge, with all the photos and documents that will be uploaded (for all of the websites) together. So the backup could be in the gigabytes (GB) for everything together. And I'm concerned that if I'm just doing one backup of everything, using Backup Buddy, etc., that this could become problematic. Even if I broke the backup into sections .. that would simply make the restoration process a bit of a nightmare .. if and when something might need to be restored.

2. If I'm using "many" plugins (over time) .. even thought some sites will use a few, and other sites will use a few, and other sites may use many, that .. if a plugin should fail, and cause a problem on the front end "or" the back end, I'm concerned that ALL of the websites may become affected and could go down. So .. if there's a conflict of a plugin .. during an upgrade, etc. I'm concerned that a problem with a plugin could potentially bring down "ALL OF THE WEBSITES" and become a serious issue .. and require a restoration, etc.

3. If the site was hacked .. that all of the sites would be compromised. Since all the sites are running off of one Wordpress installation, all of the sites could be compromised if something got hacked (maybe a plugin or a theme, etc.) that could allow a hacking of other things.

So .. I'm curious if I'm being paranoid or over worried about things that most likely won't happen.

Or .. in a situation of a large site like this, with concerns of potentially going off line and needing to then be restored, etc., would my consideration of installing 150 websites, as individual sites, and using something like InfiniteWP to manage all the updates and upgrades, be a good idea? This way, if a plugin that I might install for one department should have an issue down the road when it might update, etc., .. the only site or sites that would have a problem .. would be those that are using that specific plugin (and/or combination of plugins). But in this scenario, each site would truly be independent (from an operational standpoint) and each site could be backed up easily on an individual basis (and therefore also restored on an individual basis), etc.

I would greatly appreciate thoughts on this and advice on which way I should proceed.

Please also let me know if there are any other options that I haven't considered, that I should be looking at.

Thanks,
Gary

  • Ash

    Hello @garymgordon

    I hope you are well today and thanks for asking the question.

    Well, based on your requirement, I think multisite is the best option. As you will have control over the network from a master site. But yes, there could be some issues that may arise.

    First of all, I will suggest you to get a well secured dedicated server as WordPress needs muck memory than normal sites. As you have a large application, so I think you are good to use money on this :slight_smile:

    #1. About the backup, you can use our snapshot plugin. If you have much memory in a dedicated server, and you store the backup in your server, I don't think that could be a major issue. Also, maintaining 150 backups could be a pain.

    #2. About plugin issues, in a multisite you will have control over the network and you can decide which subsites will use which plugin. And yes, there could be a broken or buggy plugin, but then only the sites that are using that plugin (in the sites where that plug is activated only) will break. Also, for this type of application, we always recommend to use a development stage and a live stage. So, in development stage you can play with the plugins and the settings when you are happy you can apply that to live site.

    #3. Hacking is a major issue though. So, you need to be very careful to choice your hosting company, you need to do some research in the web, need to check with some experts and then decide. Also, there are some important tips on how to make wordpress site secure. For example, if you keep your wp-config.php file outside of public_html, it is never accessible from the outside of the world until someone enters in your hosting, so hosting reseller company have to be a good one.

    Please let me know if it is helpful and feel free to ask more question if you have.

    Cheers
    Ash

  • Gary M. Gordon

    Ash,

    Thanks. I'm not sold on the Snapshot backup plugin. I prefer the backups in InfiniteWP and Backup Buddy.

    I would be getting a dedicated server. So we're on the same page with that.

    But what about my concern about potentially having to restore "only selected" sections or sub sites within the one large MultiSite. How could I do this .. if needed? Is there a way to backup individual sites (within a Multisite) so that I could restore the files and database .. just for that sub site, without effecting any other sub sites or the main site?

    I appreciated your comments very much. I'd love to hear more about my above points as well as from other users.

    :slight_smile:
    Gary

  • Ash

    Ahh that's a good point. Though it looks like Snapshot can create backup for subsites: https://premium.wpmudev.org/forums/topic/backup-restore

    Also, I have found some useful resources, please take a look:
    BackWP UP: http://marketpress.com/support/topic/can-backwpup-backup-of-individual-subsites-of-a-wp-multisite-setup/
    BackupBuddy: http://ithemes.com/codex/page/BackupBuddy_Multisite

    Also,we have an article on that: https://premium.wpmudev.org/blog/5-backup-solutions-for-wordpress-multisite-networks/

    Hope it helps! Please feel free to ask more question if you have.

    Cheers
    Ash

  • Gary M. Gordon

    Ash, it looks like Backup Buddy might be "back" to supporting Multisites. I've inquired more deeply about this. If so, then this is great.

    But I'm still concerned about the site becoming "so" big, that it might be difficult to backup (as a single entity). What if the single site becomes 5GB, 10GB, 50GB or so in size, with the wp-content and uploads folders, etc., for more than 150 websites.

    And .. I've also heard that not all plugins are designed to work with Multisites. Even though this may not be a huge issue, it is a concern.

    I just want to have the most stable environment possible and a setup that will operate in the best manner possible.

    As I said, since I can manage a large number of individual websites using InfiniteWP, the ability to quickly update plugins, etc., isn't an important reason for me to use a Multisite setup.

    I'm also not overly concerned with allowing certain users to have access to multiple sites. But .. it could be useful.

    So you're still thinking that installing a Multisite would be the best way to go? Are there any situations that would make you think otherwise?

    Gary

  • faydra_deon

    @garymgordon:

    Ash may have touched on this. I'm just jumping in here quickly before I get off to work.

    In the database for multisite, each subsite gets its own set of tables. You can just save a gzip or bzip of the tables for the particular subsite you want to backup/restore.

    Also, you could go with individual sites and use the same database for all the sites and still have the same "different tables per site" situation going on.

    You're right. Not all plugins are designed to work with multisite, so you might come off better with individual sites if that's a huge concern.

    Forgive me if this is redundant information.

    Faydra...

  • Gary M. Gordon

    faydra,

    No redundancy. :slight_smile: I'm looking for various opinions and thoughts. You're are well taken as well.

    I realize that sub sites are stored in separate tables, but I'm just looking to be able to use "a good tool" that can easily help me to backup (and be able to restore) sub sites (if I go that way) if and when needed.

    I guess I could also consider using Multisite (for most of it) and using single sites (if plugins become an issue - for any that might not play nice in the Multisite sandbox). haha

    I'm also concerned about security .. in the event the one multisite gets hacked .. that everything would be at risk. My thought was maybe to separate each site (into it's own installation) as a way to protect them. But maybe this is not really something I should be concerned with since my server and sites are typically very secure.

    Thoughts?

    Thanks again,
    Gary

  • catalyst

    Are you hosting on your own box, or have some larger infrastructure? That's important for the performance issue, no matter single or multisite.

    Database:
    Take a look at WPMUDEV's Multi-DB. That should solve a couple problems regarding backups and server performance.

    Media:
    Do offloading from the main server if possible. All the static content could go onto a different machine / network (CDN) which would reduce load on the main server and make backup / management easier.

    Server:
    Don't run all on 1 box. I don't know your scale but assuming a couple people times a couple web sites = more load than the average pc would handle. Run the database on a separate machine. So the web server is just that: web server. Run all you can through caching (consider memcache and varnish server-side and w3-total cache, wp super cache.. as plugin). Careful with caching plugins though: multi-site might be tricky to set up based on your scenario.

    Security:
    Splitting up the setup might not only give you a performance boost but also extra security levels. Furthermore, consider that if all runs in one setup, it only takes 1 issue to break it all.

    So in summary I'd look at least into a separate DB and web server, CDN-like offloading, multi-DB, and then do a customized backup per service as you need.

    Each topic above can be greatly expanded and there are some more but given you are still figuring out the landscape, I recommend you first see what you got on the backend tech- or finance-wise and then figure out how to maximize that.

  • faydra_deon

    @garymgordon:

    I actually prefer separate sites with separate databases and plugins and themes and everything.

    I know it's more work, but IWP makes it less so, and I have everything compartmentalized, so I only have to deal with one concern at a time.

    Multisite is useful, but I find it a pain to try to remember what to Network Activate and what not to Network Activate, what theme should be for this site and not for that site, am I an admin on these sites and those sites.

    Personally, I'd go with separate sites with separate DBs and IWP. Since this is what I do for a living, then it's not a matter of "it's time consuming" for me. It's just what I do, you know?

    Faydra...

  • catalyst

    Another thing to consider: how do users interact with the sites?

    - each site entirely stand-alone, or
    - users can "float around" with single login *, or
    - a campus network made up of departments but where actions across sites are tracked in 1 profile

    * For single login, do you have your own authentication or provide access to others the users might already have (FB etc), or rely on default WP setup?

  • Gary M. Gordon

    catalyst,

    We have a campus network (for registered students) that uses a separate application.

    There really isn't much that is shared across all the sites, except maybe things like Google Analytics for tracking, but I can just use the same code on all sites, since each one will be a sub directory of the main site (even if I install them separately).

    But these are good points and I thank you for bringing them up.

    We also don't need a single login for our users (on the public site). But .. for commenting on posts, etc., ... well .. that could be a thought.

    By the way .. I looked at https://premium.wpmudev.org/project/multi-db/ and watched the video, but I'm just a little confused as to exactly how this works. If you're familiar with it, maybe you can answer these questions. If not, let me know and I'll post this question in the multi-db area. My question is .. if I use multi-db and have multiple databases, can I (and how can I) .. tell Wordpress to use a separate database for each website or subsite in a WP Multisite configuration?

    I can also look to host my "uploads" folder in a CDN since that's most of the static stuff. That's a good idea too.

    But .. I don't know why .. but I'm still drawn to the idea of installing each sub site .. as a separate site with it's own WP installation. Do you think I'm crazy? Should I (in your opinion) just use WP Multisite?

    Gary

  • catalyst

    A couple more things:

    - why not create a shared Google Doc where you summarize all the above as per your requirement / setup and let people add pro/con bullets? This doc would be useful for others too I'm sure.

    Plugins:
    No matter single or multisite, try to limit their number as much as you can. At some point you will run into plugins that are no longer supported as WP development moves on.
    Too many plugins will lead to crazy combinations of bad luck and pure evil fate.. at 150 individual sites you'll keep handling support requests all the time why this and that doesn't work and what those errors and white screens of death means.
    Careful with plugin customization as it becomes a mess. Less so in multisite where you have it just once. Even more so when you're not the only one or always around to do the maintenance.

    Setup:
    As shown above, be careful with the setup so others can take it over or work with you. A multisite might save you from a bunch of problems if you have the proper backend.

    Multisite:
    A lot of large sites run on multisite but yes, they all have split databases. There's not too much choice the way I see it: either WPMUDEV's plugin or the one used by Wordpress.com: HyperDB.

    Database:
    Careful with the splitting and hosting: at the end of the day you talk about "only" 150 sites, so you might also do an overkill. Splitting it up into several databases (both plugins) is fine and you can then run each db on its own instance (server.. to use AWS terms). But make sure the servers can provide all you need from the plugin.
    If you are not intense on the database (say a lot of cached or read-only stuff), then you could as well run the master DB on a good machine and let it manage a read-only copy for all those queries. Coupled with caching this would reduce the load a lot: 1) store common read requests in the memory, 2) those that are new will be handled by the read-only server, 3) only those few write requests would be handled by the main DB server.
    Based on your site usage (how and how much), you might actually be able to skip or limit the DB splitting.

    Single vs. Multisite:
    Are you considering to "spin off" some sites? Of course you can always export a multisite's "sub" but keep in mind this doesn't necessarily mean leaving the nest per se: how is your school's administration? Do departments want complete control or are they happy with a shared account/platform? What are the policies?

    In conclusion (for now):
    - check your department policies (data, privacy, funding etc)
    - what infrastructure do you have (build new or use something existing, online or local...)
    - usage intensity
    - growth predictions (150 departments = n people.. how about 5yrs later?)
    - any other features "in the talks" that are not already a WP plugin?
    - department requirements (features...)

    I think we are about to go in circles if we further speculate so perhaps consider to write a summary about your project based on your research and this thread.. let people weight in on that and link to it from here if you like. It could become an interesting case study. Keep me posted :wink:

Thank NAME, for their help.

Let NAME know exactly why they deserved these points.

Gift a custom amount of points.