Blog

SilverStripe vs. WordPress

Posted by Ramon Kupper on 14 December 2011 | 9 Comments

Tags: , ,

Disclaimer: This post is in no way meant to feed a flamewar. Even though I am obviously biased when it comes to SilverStripe, the german version of this very site - silvercart.de - was powered by WordPress with a commercial template for almost 10 months. There were valid reasons for this decision and I would do it again without hesitating.

SilverStripe vs. WordPress

Yesterday there have been some lively tweets about SilverStripe vs. other CMS (Joomla, Drupal and WordPress). While I have not worked with Joomla and Drupal so far, I do have first hand experience with WordPress. I could not resist the temptation and so I tweeted

C'mon, this CMS flamewar is Kindergarten: #SilverStripe is Lego Technic, #Wordpress is Lego Duplo. You can build castles with both :)

It wasn't until being under the shower this morning when I realised that this comparison could be interpreted in an unintended and misleading way.

I do not think that Lego Technic is superior to Lego Duplo in any way. Both have their own purpose - they are highly optimized, streamlined and spezialized toys, coming from the same brand. Being a father of two kids, I am familiar with both, Technic and Duplo. You can build wonderful castles with both of them, but still they are different. (For those of you not familiar with Kids and/or Lego: use google)

What I love about WordPress

I just love the fact that you can have a professional looking site up and running in minutes and start pumping content right away. There are lots of useful modules and a gazillion professionally designed templates that you can get by squeezing out a few bucks from your - hopefully not maxed - credit card. There are even tons of great free templates available if your are building the site just for the sake of content.

The shortcodes are so amazing that I find myself tempted to put them on the SilverCart roadmap. The WordPress blog module comes with categories and everything you can dream of and it beats the SilverStripe blog module big time. There are also some really great SEO modules available.

I don't like the CMS section. Here it becomes obvious that WordPress is a blog that tries to be a CMS. But it does the job.

The admin panel is easy to understand, some details could be solved better but overall I find it quite useful. Server side updates are a different story, though. While I totally love them from a user perspective, the developer inside me thinks about problems with code versioning, inconsistent codebase and complex workflows when deploying from a staging to a live environment. But would you need that deployment process for a garden-variety company website where only the content changes?

I tried to do a little bit of customizing (multilanguage site, anyone?), but the architecture and the code actually scared me away.

And in my opinion this is the central aspect of differentiating WordPress and SilverStripe.

What I love about SilverStripe

SilverStripe has many faces. It is a framework, but also a CMS (even more with the newly developed separation of framework and CMS). But it's also a cathedral with a growing bazaar of modules.

We are software developers, not webdesigners. Our product SilverCart may look like a normal website, but actually it is complex ecommerce software with a web interface. We think UML, IDE and VCS, not backend-template-editing and design wizard. I love the framework part, that lets us customize the software to fit the need of our clients. Nothing beats hammering down a pre-planned class diagram, /dev/build and have almost everything right in place. It really speeds up the development process and we are way more productive than we have been with any other CMS or framework so far. And you bet that we tried one or two of them before building SilverCart (but this is a different story...).

I also love SilverStripe because it does not interfere with our tools and processes. For us it is better to have less configuration in the database and more configuration in files. The template engine makes sense, unfortunately the templates can't have PHP code completion in your IDE.

When Felipe Skroski was interviewed on SSbits, he took the words right out of my mouth:

So in this scenario I think CMS will evolve to hosted solutions like virb.com and squarespace.com or to solid frameworks and UI kits to create the new web applications and that's the beauty of SilverStripe 3 - we call it CMS, some people refer to it as CMF, but it should be called something else like a web app SDK. Regardless of the name it's going to be a full-on development framework with a UI.

But where is light, there also is shadow. Some modules only provide a very basic set of functionality, for example the blog module. There is no way that SilverStripe can compete with WordPress when it comes to blogging functionality. And when you think of blogging as "pumping out significant amounts of content regularly and keeping it structured and masheable" you will understand why WordPress is #1 in the world.

And yes, there are plenty of design templates available for SilverStripe. But let's be honest: most of them suck. You just can't go out and spend a few bucks and receive decent design template in exchange. And this is a valid need today, not everyone needs or can afford a custom made design. Of course this is a chicken-egg problem: as SilverStripe gains steam and popularity, we will see the bazaar grow and more template/module/widget providers will emerge.

Of hammers, nails, screws and the Audi V8

"When you are wielding a hammer, everything looks like a nail."

Now it all boils down to identifying the problem and finding the right solution for it. You know these so called experts who come along with a solution even before they fully understand the actual problem. This is why I say: 

"When you are wielding a hammer, either focus on nails and skip the screws or learn to use the right tool for the right job."

You also have to understand that different personas have different needs and therefore a different perspective. There is no "Best CMS", just as there is no "Best Car". You wish you still had your old, rusty pick-up truck when you are trying to bring home that christmas tree in your shiny new Corvette...

One of the cars I owned that impressed me most was the Audi V8. While it was basically a Audi 200 chassis, these crazy Audi engineers somehow managed to squeeze in a massive V8 engine along with almost every available gadget. The result was a totally crammed engine compartment and you literally had to break your hands to get that wrench in place when you had to fix something. As a car mechanic, you would hate this car, because it is difficult to repair and everything takes much longer than it would with other cars. Of course the spare parts are special, too. The prices for the parts and the maintenance costs are sky high. But as a driver, you just love the car because of it's amazing cruising style, or because of the look in your neighbour's eyes when he sees you drive by or because of the image of the brand.

Conclusion

Different personas have different needs. As long as I don't have to pop the hood, I would go with WordPress again. I'd fasten my seatbelts and cruise right away. In any other scenario I would go with SilverStripe. That's because we are a software development shop and we know our needs. Of course, your mileage may vary.

So, when someone asks you the ultimate question about the best CMS, life, the universe and everything - you know the right answer is: 42 it depends.

Post your comment

Comments

  • Web design Wolverhampton, 04/01/2012 10:41am (3 years ago)

    Different tools for different jobs: a shoe can be worn on your foot or used to knock a nail into a wall (but it's rubbish at the latter).

    Similarly, WordPress is a fantastic tool for blogging and news sites but, in our experience, often fails to meet the needs of the corporate website.

    SilverStripe is much easier to customise to a business client's specific needs (especially the backend).

    Choose whichever is best for your specific needs.

  • Petre, 18/03/2012 4:25pm (3 years ago)

    But you do know, that Silverstripe supports Wordpress-style Shortcodes, right ;) (http://www.ssbits.com/tutorials/2010/2-4-using-short-codes-to-embed-a-youtube-video/).\n\nBut I might be misunderstanding here, in this case, sorry!

  • Ramon, 21/03/2012 8:44am (3 years ago)

    Hi Petre,

    you are right, the basic mechanism - i.e. the code parser - is already there but you still have to write the actual implementation to have them rendered...in WordPress the rendering of shortcodes usually comes with the template and is more or less a default feature. In SilverStripe it's not very popular to ship working shortcodes with the template.

    Cheers
    Ramon

  • Axel Reinhold, 10/12/2012 4:56pm (2 years ago)

    grow up and use RubyOnRails (aka Lego Mindstorms in your vocabulary)

  • Ramon Kupper, 11/12/2012 11:21am (2 years ago)

    Hi Axel,

    +1 for the Mindstorms example, but I wish you had some valid arguments that show how you can be massively more productive with RoR.

    I am not exactly sure how RoR could boost our productivity to a level that is - from a business perspective - worth investing some 100k € to retrain a development team of 6 people and rewriting all our webshop functionality. Just because it's more sophisticated and pure OO?

    "RubyOnRails is a powerful framework, but it lacks a nice CMS frontend for the static parts of a website" - not sure if this is still the case, but building a product that is supposed to be heavily customized on top of 2 utterly different technologies (if this is what you suggest) is financial suicide. Been there, done that. We worked with a software that required PHP and Java knowledge, it was 100% pure PITA.


    Cheers
    Ramon

  • Axel Reinhold, 11/12/2012 1:15pm (2 years ago)

    you always have even more than "2 utterly different technologies" to deal with in any web project. RoR is a big timesaver for teams, because of much stronger "convention over configuration" and DRY aproach. A main reason for the timesave is also much less code. It makes a big diffences in RoR and in SilverStripe to pull a value out of the database. In RoR its simply "table.column". This was something we really noticed in real project with 3+ developers. In the SilverStripe integration the only thing that is used from SilverStripe is the core CMS FrontEnd or simply the perfect TinyMCE customizion that SIlverStripe delivers.

  • Ramon Kupper, 11/12/2012 3:20pm (2 years ago)

    Hi Axel,

    I don't think we'll find a consensus here, because SilverStripe is also more convention than configuration. There's not that much configuration needed, is there?

    As for DRY, I think it's less of a framework feature and more a question of disciplined programming style. Not sure if we talk about the same things, but why do you think is DRY broken in SilverStripe?

    I think you are right when it comes to LOC required to achieve something in Ruby. But I am not sure about the measurable impact on overall productivity. Actually writing code is only a part between planning, documenting, testing and deploying - all of them are pretty much language agnostic.

    Of course more than one technology is used in a modern web project. But having to modify (and some client will ask to modify them sooner or later) independent backends that are written in 2 different programming languages is another thing. I won't go there again.

    Maybe we should schedule the next SilverStripe Meetup in your area, this discussion could last for hours ;-)

    Cheers
    Ramon

  • Axel Reinhold, 12/12/2012 1:51pm (2 years ago)

    You are welcome - but i think my area is not attractive for the meeting - to far off anything - would shure attend if you mange to get it in the "Fichtelgebirge". The discussion would last days - not hours. We should not start it in the meeting. I love SilverStripe as the ideal CMS for a wide range of clients - but when it comes to anything special - i choose RoR without hestitation.

  • Mittul Chauhan, 29/12/2013 8:41am (10 months ago)

    I m huge fan of wordpress but some of the things you said in this post is dead right.\n\nLike, Wordpress does the best job when it comes to Blogging as well as the themes availibility. \n\nBut i am really looking forward to learn SilverStripe now and i am really excited by seeing its front end structure code management.\n\nThe main reason silverstripe is not providing that much templates like WP does coz its less popular than WP. \n\nBut I m very hopeful that silverstripe will also gain popularity sonner or later as far as i am concerned.