Support » Developing with WordPress » Splitting loaded WP install into smaller websites

  • Resolved farterazvan


    Hello guys,

    I am sorry I had to open this topic, but I was unable to find a proper thread in the forum, on the documentation or on Google.

    Basically I would like to know if it makes a good idea splitting a big WordPress either into smaller separate WordPress websites or a multisite or other recommendation.

    Here’s my situation. I use this big platform for building an ELearning platform which comes with lots of plugins. This makes pages load slow, resulting in lower scores on GTMetrix and Google PageSpeed Insights.
    I have a “Coming Soon” page built with Elementor, a page that does not require any of the functionality from the ELearning plugins.
    I will also have a couple of landing pages and contact pages that will not require the ELearning capabilities.
    All the pages (landing pages and coming soon) will be influenced negatively by the loaded JS and CSS.
    I cannot deactivate the ELearning plugins, cause I need them.
    I really need the functionality offered by the plugins.

    Ok, now I come in the forum for your advice.
    I was thinking to do either one of these:
    1. split the website into 2: a “Landing Page” website and a “ELearning” website
    2. make a multisite with the 2 subsites, thus keeping all information in 1 database

    The problems I am thinking for 1. would be: data duplication <=> unscynced CRM, a huge problem when trying to track customer behavior between the two different sites, analytics reports spreaded on 2 sites and so on. Nasty thing
    Whereas I think that if I kept both under the same multisite, this would save me the burden.

    I could also have everything under 1 single site, simplifying all the aspects I specified. But idk how to easily and gracefully manage the high load on every page coming from that ELearning platform.

    I also have other cards in my hands that I’m going to play later on: CDN, cache plugins, image optimization plugins, CSS and JS minifiers. I still think these are not really the best solutions in the case of those landing pages that don’t require the JS and CSS from the educational platforms.

    I have already asked the Theme support team from their perspective, but I decided I would ask you as well.

    I didn’t want to share the link of the site unless really necessary.

    Thanks a lot for your help. I find this question as a difficult one and I would be really happy if I could find the help here.

Viewing 3 replies - 1 through 3 (of 3 total)
  • My thoughts are to always throw more horsepower at the problem. VPS and lots of memory with SSDs are the usual order for me.

    I’d probably split my site onto two hosts in the same building or data center with my WordPress on the new server leaving my database behind on the present server. What that does is split the load and cause a slight parallel ‘pipeline’ effect where the server and database are not trying to run tasks simultaneously or overlapping work on just one host.

    I have done this split load on shared hosts while moving up from shared hosting to VPS systems.

    I’d also look at my plugins and disable every one of those that are not mission-critical to the day to day operations. Nothing says that you need Yoast, your backup plugin or your security plugin 24/7 unless you know you need it on.

    Using a manual cron sometimes will help also as WordPress won’t be trying to run cron tasks driven via visits.

    You might also want a proxy server in front of your WordPress. I like Nginx for those (but Apache for the WordPress itself, always).

    The coming soon page might be replaced with a plugin like Itro popup for now. You could even continue using that popup or some manual page to handle the first page where you then send visitors to the Elearning platform (the WordPress itself).

    I’d use some cache plugin… just for the better caching directives that will place in the headers for downstream proxies and I get on Cloudflare immediately.

    The CDN is a great idea paired with a decent cache plugin like W3Total Cache or WP Super Cache.

    I’d let WordPress worry with my images on upload and let the proxies, CloudFlare, and my CDN deal with the files as they see fit… though WPMuDev’s ‘Smush’ plugin is pretty cool.

    Finally, use your own judgment a bit more instead of letting the page speed tests dictate where you put your efforts. Treat them more as suggestions but if your site can keep up with the free Cloudflare proxy then you’ll be fine. Else you’ll see ‘500 series’ Ray Errors from Cloudflare. I never look at Page Speeds anymore as Cloudflare sits out front of my own hosts… If I can keep Cloudflare happy then everything else is usually fine.

    1. split the website into 2: a “Landing Page” website and a “ELearning” website

    That’s a common practice nowadays. I know you mentioned the burden to have two analytics reports, but IMHO it would be better to track in a separate report platform usage and landing(homepage) usage/visitors. By the way, if you keep both sites on the same server, you will have to increase your server specs (RAM, Cores, etc)

    I use this big platform for building an ELearning platform which comes with lots of plugins. This makes pages load slow, resulting in lower scores on GTMetrix and Google PageSpeed Insights.

    Take a hard look at what exactly is slowing your site, and try to optimize them. eLearning platforms are demanding, I suggest you to consider increasing your server resources, and look into using Redis for database caching

    Wow, thanks guys, lots of insights and really helpful perspectives.

    I think I have plenty of reasons in keeping everything in the same place. I also read a little more about filtering out unused CSS and JS files on specific pages/post types and I consider implementing that.
    Lots of things to do, now’s the time doing them.

    I’m going to mark this as resolved and come later on with my findings as I build on the architecture.

    Have a great day! 🙂

Viewing 3 replies - 1 through 3 (of 3 total)
  • You must be logged in to reply to this topic.