What CMS is best for a large company?

Hi

I’m starting a new role soon and I know one of my first tasks will be to re-platform their content management system. They have around 11 sites world wide (multiple languages on each) with each getting on average 1.5-1.8 million hits a month. Please can someone give me some advice on what CMS I should go for as I’ve used both enterprise grade CMS (AEM, Alfresco) and also open source CMS such as MagnoliaCMS, WordPress. I will have a small in-house development team (6-8), so I’m wondering what would be the best route? Enterprise or open source? It is a fairly large company so I imagine it will be difficult to sell the concept of WordPress to them as their global CMS. Interested to know people’s thoughts on what they would choose to use?

many thanks in advance

1 Like

There are some very large organizations which use WordPress to power their websites, so I really don’t think size is an issue here. But have you looked into Drupal at all? It’s not the easiest CMS to learn but it has a lot of depth and flexibility, and is definitely suitable for large-scale projects.

I have not had any experience with enterprise grade CMSs, so I can’t really make the comparison with WordPress or Drupal.

2 Likes

In a generic sense not knowing anything about the business requirements I would say you can’t go wrong with Drupal 8. Wordpress can probably be twisted and turned to worked at scale but Drupal 8 is truly built from the ground up to handle scale, continuous change, and content editing. Not to mention the system uses modern programming practices unlike Wordpress which is just a whole bunch of spaghetti code straight out of the early PHP days.I would also that as a business it is probably best to use your current knowledge base. If no one knows Drupal than Drupal might not be the best platform for you it might be what people know. I mean are even married to PHP or open to other languages/platforms as well. There are a lot of ways to do things without getting tied down by a single technology just because.

2 Likes

If it is a professional website, Drupal or Joomla is what I would recommend but other than that, Wordpress does a great job. With Joomla or Drupal, you will need to know a little of web development or coding as well.

It’s impossible to offer any solutions until you know exactly what your needs are going to be. I suggest making a list of key requirements then use those to scope out possible candidates.

2 Likes

Thanks guys for your comments. It’s really interesting that you have all highlighted the standard 3 open source cms. I have worked in a few different industries and for example in banking I remember I couldn’t even get any of these on the short list (even for brochureware sites). They only wanted entreprise grade CMS systems. However after reading some articles I see that these 3 are now very popular. Have any of you used MagnoliaCMS, Jahia, Hippo? Thoughts compared to WordPress, Joomla, Drupal?

thanks again

Drupal is for complex, advanced and versatile sites; for sites that require complex data organization; for community platform sites with multiple users; for online stores.

Joomla is best for the sites with more content and structure flexibility than Wordpress offers, but still with fairly easy, intuitive usage. Supports E-commerce, social networking and more.

WordPress is ideal for fairly simple web sites, such as everyday blogging and news sites; and anyone looking for an easy-to-manage site. Add-ons make it easy to expand the functionality of the site.

Hope this comparisons will help you.

1 Like

So? Large companies shouldn’t use PHP as well, a lot of crap is said about PHP too.

Other than this reason, people (burdened by mis-conception or naivity) give following reasons on why not to use WordPress.

Lets go through them now.

The site is big, gets 800k-1 million monthly hits.

Huh? SitePoint here runs WP on its main site; while I dont have access to its stats but I can guess it gets a lot of traffic. Some other examples of sites which get several times more hits/traffic than the ~1 million count.

  1. Techcrunch
  2. Upvoted - a Reddit production which showcases curated content from Reddit
  3. Variety
  4. Digital Trends

These are some of the top websites in the world, all running on WP. You don’t need to be a rocket scientist to imagine how much traffic they get. But what am I talking about? wordpress.com itself runs WP.

The site is complex, its not a simple blog

or

WordPress Restricts Web Designers and Developers

Huh?

  1. New York Hall of Science website is not a blog
  2. Techcrunch’s design is not a simple one
  3. Variety.com & WWD.com - nothing simple about their design

You can create the front-end of WP based website how you want to, its entirely up to you. WP basically just provides you an admin UI & data storage structure but it doesn’t restrict you to it. Whether to stick with only WP code API on front-end or not is up to you, you also don’t need to restrict yourself to the data structure provided by WP, you can expand & grow as you like (don’t alter core structure or code & it would make updating your WP core very easy).

WordPress takes up lot of resources.

Huh?! Should stick with static pages, they take up least amount of resources. Jokes aside, yes I’d agree WP is not a lean-mean machine but for the feature-set that it provides out of the box, I think its a decent compromise. It would definitely depend on the use you want to put it to, WP is not the magic bullet, answer to all questions, etc etc.

WordPress search is crap

Ok, there are some plugins available which can soup up the search. If you have access to engineers then you can roll your own version as well. If not then Google’s custom search or your own/3rd party Elastic Search based search can also be easily implemented. The in-built search is a basic one and a place to get started out of the box but doesn’t mean you have to be stuck with it forever.

WordPress code is crap.

If you’re making a website on WP then you shouldn’t be changing anything in the core. The only code you would be dealing with is your own theme & plugins - nothing stops you from writing those in a good way as you see fit. You can use composer, single responsibility & other patterns, auto-loading & all that good stuff. You would consume WP code API in your code to fetch data (even thats optional) but thats about it.

And if you feel so strongly about core code quality then submit patches with improvements to WP, its an open source project and anyone can submit improvements, bug-fixes etc.

Of all the people I’ve seen who whine about WP code quality etc, rarely I’ve come across those who do anything about it in terms of submitting patches etc. People love to whine about problems instead trying to fix them.

WordPress is in-secure

So if you use old versions of any software with known security issues you’d still be safe? This is the reality of all softwares, security issues are found & they’re fixed, its a perpetual cycle.

And in some advisory article I also read:

Every website on the Internet is vulnerable to hackers to some degree; however, having a custom website would mean that a hacker would need to target your website specifically.

Right!! So if one random WP website is hacked by a malicious person, it would automatically screw up your WP based website as well? Is this how things work? If your website is so obscure that on a custom software it would go un-noticed then same can be said to a degree if your website is based on WP. And if your website is quite popular then it doesn’t matter one whit, someone would try to get to it now & then irrespective of whether you use WP or not.

That said, fixes for any security issues in WP come out very quickly, faster than any other software could claim. Thats the benefit of using such a wildly popular software & it being open-source as well. People conveniently forget/overlook this.

WordPress has restrictive URI schema

WP has a well documented URL Rewrite API which you can use to have the URI structure you want, no need to stick with the default /YYYY/MM/DD/<slug>/ or /<post-id>/<slug>/ schemas.

.
In the end its you who has to decide what you’re looking for can be done in WP or not. WP is good at few basic things and you can take that & build upon it (saving time doing that basic CRUD boilerplate stuff). But there are some things which shouldn’t be done in WP or for which WP is not an ideal choice. Its just a tool, its not the magical answer to all questions posed by humanity.

I’ll give another example - I gave example of wwd.com above on the design point that how its not a simple design. WWD website has a paywall for its content; while the main website is built on WP, the paywall is part Nodejs & part Laravel because that got us the best fit in what we were looking for.

Disclaimer: I’ve citied Variety & WWD in examples above. I work for PMC which owns these brands & work in its in-house software engineering.

2 Likes

You’re not comparing PHP to WordPress are you.

WordPress is a pile of antiquated crap. Nothing substantial has changed throughout its existence. Where as other platforms such as; Drupal are able to recognize and embrace change. If for no other reason I would recommend staying clear of WordPress because it is a very stubborn and set in its way ecosystem. Ways that are antiquated, outdated and fundamentally flawed from a modern programming perspective. If Drupal can be rewritten from the ground-up so can WordPress but everyone is just lazy and doesn’t care about code quality in that ecosystem. Great for small simple sites for sites but not programmer happiness, continuous integration, and scale.

No I did not. Its a similarity comparison, heard of those? “Large company” & “WordPress” when used together usually refers to people belittling “WordPress” in the way that its suitable only for small things/websites/companies. Similarly people do belittle “PHP” as well, enterprises love their Java & .NET.

Again, so is PHP (per PoV of a lot of people). I wonder why are you still using/advocating it?

Nothing substantial has changed throughout its existence.

And you say this from your vast experience of using WordPress throughout the years?

Where as other platforms such as; Drupal are able to recognize and embrace change.

And leave their existing users f***ed. I’d rather not get into this cock-fight in which you definitely are trying to bait.

Great for small simple sites for sites but not programmer happiness, continuous integration, and scale.

Funny you should mention that, I addressed that in my comments above, go read & educate yourself. Also, do let everyone know the large scale sites you’ve worked on, you definitely seem very experienced. :slight_smile:

[quote=“9greej10, post:6, topic:217774”]
It’s really interesting that you have all highlighted the standard 3 open source cms.[/quote]

To be honest, that’s to be expected. Free CMSes are of course the most accessible, so that’s what most people will know. Whereas if an “enterprise” CMS costs a couple grand, and you need to set up a client meeting just to get a demo, then there are going to be many fewer people who even know about it. I was with an agency once that used Sitecore as their go-to CMS for their enterprise clients.

Ok great thanks guys. What about building your own CMS internally assuming you have a large enough dev team? Is this a wise move? what are your thoughts on this direction?

This is almost certainly the worst of all your options.

Interesting you say that as with all of the tools/frameworks available now it wouldn’t take too long to build up an API hub (headless CMS) then use a framework such as ReactJS as the UI for the CMS. Then deploy already rendered html pages to live? I would then have a well structured API I could reuse for other channels/targets and just apply the relevant UI accordingly. This would also mean I would not have the bloat I would have using a opensource pre-built CMS. I suppose I would then also reduce the security risk as I imagine as soon as you download something like WordPress the entire world (and hackers) know your directory structure, DB configs et, etc. I would then need to go and apply my own security to WordPress. Having a bespoke build would mean we would be in complete control of the product and roadmap as well. Let me know your thoughts? thanks

Well on the flip side you also have the work of hundreds to thousands of developers on your side when using a well known open source framework or CMS. In my opinion the advantages of that kind of ecosystem far out-weight any advantages of programming things from scratch. That is not to say I wouldn’t recommend building a CMS yourself but if you did I would HIGHLY encourage you it be build it on a well known framework of some kind. Putting aside the language anything with a rich ecosystem, modern programming, and thorough documentation is a good start. If for nothing else the level of entry into the project becomes significantly less. As a business you won’t be as reliant on specific individuals to maintain the system. For example, I’m very familiar with Drupal. Just about any Drupal project I can figure out it. However, if that same system was still written in php but all custom code it would be a much higher barrier of entry for me. Not to mention *most custom code bases I’ve come across never have any useful documentation. People always preach they are going to write documentation but it never happens due to deadlines and what not. That is the reality of the majority of this business. So developing on platforms which already have a rich ecosystem including documentation can be a significant time and money saver as the platform evolves and people move in and out of the project. Not to mention the people whom are newer to programming typically ALWAYS prefer to reinvent and make their own wheel. A wheel that is most the time flawed and hardly a wheel at all and off course will lack any form of usable documentation. See it everyday on this very forum and it makes me sick thinking I will one day come across and have to fix whatever mess that person made when it could have *easily been done the right way the first time leveraging the vast ecosystem of open source modular components available today. Instead you have dumb asses writing their own half-cocked frameworks, cmss, and low-level code for things that already have a well known, well documented counter-part in the ecosystem.

1 Like

Can do that already with WordPress & I think 1-2 other open source CMSes (not limited to PHP here) which have REST APIs, so you can build front-end in React-JS or whatever else you like.

It would add another risk - since you’d be running a custom software which no one else has, it might happen that any security flaws or bugs would not be as quickly found, its always a factor to consider when deliberating between rolling your own mojo or using a popular off the shelf app (be it open source or commercial - doesn’t matter much here).

Its not as much work as you make it sound, basic principles apply regarding server/directory config & making them impossible to navigate via browser etc. You add a good caching plugin (W3 Total Cache or WP Super Cache) & thats it - to start off.

Along with being responsible for some common boilerplate stuff & mundane tasks which might not be what you’re actually aiming at.

I’ll give you an example: earlier at my work we used to run our WP websites on our own on AWS and we had to manage EC2 instances, caching issues, load balancers, upgrading WP core etc etc. Then we switched to wordpress.com VIP & now we just have to worry about our custom theme(s) & plugins - thats it. No more worries about servers or WP core updates or load balancing or anything else, the engineers at my workplace just focus on where we should.

Similarly, your focus would be better off on business specific needs, not at core CMS or anything. Thats why people suggest not to re-invent the wheel. I think thats one of the reasons Jeff said a custom CMS from scratch wouldn’t be a good idea.

I’m not insisting you go with WP, just talking in generic sense here. :wink:

Maybe people are going at this from the wrong angles.

You need to handle a couple million hits a month. Let’s do the math. Instead of “hits” which is nebulous, let’s just say actual valid visitors, or “people”, 2 million a month. If you divide 2 million down to minutes it’s about 45 visitors a minute. Doesn’t sound so crazy when you put it that way. Break it down further and it’s actually less than 1 visitor per second, a statistical 0, lol.

In any case, handling traffic, ak “visitors” is only somewhat based on abilities of the CMS, but also on the power of the server. You can put the best CMS around on a shared hostgator server and it still won’t handle 45 people a minute.

So first make sure your hosts can handle the traffic. The CMS is a secondary concern. How much actual bandwidth do 2 million users a month use? Are you hosting text pages or are they watching locally-hosted videos or downloading PDFs? What is the average visitor’s length of time on the site? How many pages do they view before exiting?

In any case, a good server is the first decision, to handle the actual bandwidth and connections. Apache itself will have limits, as does MySQL or nginx or whatever it may be. So first research some actual numbers. The “scale” you need to handle may have more to do with horizontal scaling, separating servers, clustering, load balancing, than the CMS. Picking a CDN may be more important than picking a CMS in some cases!
Hostgator, for example, literally says their shared hosts can handle 7,000 - 8,000 visitors a day. You need about 70,000 a day. This is server talk first before anything else.

That said, also ignoring the CMS, the hosting software is the next decision. Apache, for example, will handle everything you throw at it until it runs out of some resource like RAM, disk space, network bandwidth, or CPU. However, for concurrent connections, you have to look at settings like maxclient and adjust as needed. You can increase numbers and Apache will eat up RAM and CPU until everything halts. RAM is the big limiter here, not Apache.

Ok so now going beyond that. You’ve got servers with enough bandwidth, CDNs, horizontal scale, load balancing, whatever is needed. Then you’ve got your hosting stack, for example Apache/MySQL. Now it’s time to look at CMS.

The ability to cache well is a huge deal. The ability to minify. The ability to put out pages with small memory footprints. The ability to reduce queries. These help when comparing CMSes because even if Apache handles all the connections, we still have to wait for the CMS code (i.e. PHP) to assemble everything, query data, parse scripts, compile templates, and actually serve the page. Wordpress typically ends up on the slow scale without a ton of optimization. It can be made faster, by those in the know. There is one particular Drupal user (just random googling here) about 6 years ago, complaining about number of queries. In fact a lot of Drupal complaining is performance-related. Anyway, he had about 10k visitors a day (you might have 70k remember), and they clocked 6.1 million queries in just 12 hours. What if you need 7 times that, plus the other 12 hours of the day, for 85.4 million queries a day? yeeeeesh!

You mention “enterprise”. This is a nebulous term that doesn’t have specific meaning. Does it mean high traffic? Tons of sites have that and aren’t enterprises. Does it mean using a lot of bandwidth? na. Typically what they mean is that they want to use software that comes with warranty, support, backed by profitable businesses. This pretty means every CMS maintained by some guy in the Netherlands on Github is out of the question. This is why WP and Drupal are mentioned, typically because of support options.
Enterprises want exceptional security controls and extremely tight hold of things like updates. No update should break their websites, if in fact the enterprise software even updates very often, which they usually don’t. WP can update about every 20 days, not to mention all the plugin updates, this makes enterprise IT soil themselves. Everything has to be tested all over again, is it compatible with all our plugins? Will it break our templates and customizations? etc etc.

So your choices for CMS are now limited to actual companies with a good track record, solid and secure software, support availability, and track record of success.

Now look at the fact that you have a team of developers and probably a lot of custom needs such as the multi-language stuff (this can limit choices!). I would stay away from any CMS that focuses on non-developers and tries to abstract everything into wizards and drag-n-drop automated modules. You need control over all code and all parts of the template. The “easier” the CMS gets, the more abstracted you are from core stuff and ability to customize.

So take a look at a popular CMS like ProcessWire. I’ve used it, it’s cool, gaining popularity. But it’s pretty much owned by this dude Bryan Cramer. And support is “go ask in the forums” and if something is broken “hey do some pull requests and fix it”. This just isn’t what a large organization wants.

Speed tests seems hard to come by, people used to test and compare CMSes a lot more some years ago. But anyway, I found one comparison from some years back which showed a pretty sharp decline in page speeds and delivery once they hit about 50 concurrent users. 50 doesn’t sound like much, but out of your 45 visitors/visits per minute, you can bet some good caching and optimizing will be in order no matter which CMS you choose.

I’ve only used PHP and MySQL based CMSes, so I’ve got nothing to offer in the .NET/ASP or Java space. There are some Ruby projects out there too.
I would say take a look at MODX. I’ll be writing on it soon. It is more of a framework than a CMS, but it does both. There is a lot of freedom for developers to code and do whatever they want, with paid support options.
You already know about all the other popular ones, so I’m just throwing it out there to look at.

Good luck with you!

4 Likes

Word of caution with php. Putting aside WordPress which is architectural piece of trash any platform which doesn’t utilize namespaces and dependency management is a antiquated piece of garbage. You don’t want to start building an entire ecosystem on something that is already outdated and not using modern patterns. I haven’t heard a chirp about modx but a brief review of the code on github tells me it is not up to date with modern practices. It look like nearly all the same procedural code from 5 years ago. No dependency management or anything just all proprietary code in what is now a modular world.

Thanks all for your advice and comments - Its interesting as even in this post 50% are in favour of WordPress and 50% are not, so it very much seems to be a personal preference. Has anyone used Magnolia CMS before? It seems to be getting quite popular here in the UK? thanks again

Of course it is! There’s no such thing as “best”. It all comes down to preference in the end.