WordPress vs Joomla vs Drupal – Which CMS should you use?

Wordpress vs Drupal vs Joomla

I have seen this question being frequently discussed amongst start-ups and content marketers. Here’s my small attempt to help decide between which content management system one should go for.

What is a CMS?

A Content Management System (CMS) is an application using which you can create, update and delete your Content. Now this is a very loose description, and any web application where you upload stuff and manage it falls into this definition. So let me narrow this down a bit.

A CMS is a web application using which you can easily publish content on your website.

Yes, it’s the backbone software based on which you create (or have just created) a rocking website.

Why do I need a CMS?

You don’t. If your site is made of a few pages (5 or so), then perhaps you are better off with a static site. Plain Jane HTML. There actually is no need to hire an agency to create your site.

However, if you like me love writing on a regular basis on your site and keeping the site updated, with more and more pages … or have a site which is dynamic in nature (stuff keeps on happening on the site and there is never a boring time for you), then it is best to use a CMS to control what content goes live on your site.

  • A Content Management System will help you manage the content that you publish in a better fashion
  • A good CMS will also help you promote your content
  • An ideal CMS will help you monetize your content ;-)
  • The best CMS should make publishing a breeze, a process easy to perform and involving as less hassles as possible

So which CMS are out there?

There are more than a million Content Management Systems out there … no really! Talk to your average Joe, the web vendor and he would convince you to create your site in his awesome custom CMS. I know of Indian vendors out there who are doing this as their business model!!

But let me not talk about those, and focus on the ones which really matter. The ones which hold a significant share of the internet. The ones which are free :-), yes, since the free ones have a high share of the internet.

WordPress

WordPressThis is by far the most widely used Content Management System on the internet. At last count, WordPress has been powering more than 17% of the internet!

WordPress (yes the P is intentional, and has to be in caps!) is the proud creation of Automattic and is free to use. If you do not want to get into the technicalities and only focus on publishing, then simply head on over to WordPress dot com. If you can brave the tech part of setting up your own hosted WordPress (which is a breeze), then head on over to WordPress dot org and download the latest source.

Let me be honest with you, I am biased towards WordPress and it’s my defacto CMS.

One look at the search trends of Google will confirm this for you –

Pros

  • The community around WordPress is lively and helpful
  • This has the highest number of themes and plug-ins available for any CMS out there
  • Did I tell you that it powers more than 17% of the internet?
  • Very easy to setup and start using
  • Amount of efforts in terms of knowing technology v/s getting started with a kick-ass site is quite low

Cons

  • For complex requirements, you have to rely on other systems or major plug-ins. These are not as seamless as I would have wanted.

Joomla

JoomlaUnlike WordPress which started out as a blogging software and went on to become a full fledged Content Management System, Joomla started off as a CMS and was a fork of Mambo (forget about this CMS, it had its fair share of problems which Joomla fixed quite elegantly). During the initial days of Joomla, there was a lot of controversy between free software and open source (since it was formed from a CMS which was not exactly free). However the community that Joomla built was loyal and has since developed great support for it.

Although Joomla does pack a wallop when it comes down to meeting your CMS requirements, it does require a bit of getting used to and that’s why it powers 2.8% of the Internet.

Pros

  • Great support and documentation available
  • Built with CMS based sites kept in mind.
  • Easy to roll out complex site navigations.

Cons

  • Learning curve is a bit steeper and requires patience to understand the works
  • Plug-ins and Themes are not as seamless as one would expect

Drupal

DrupalThis is the oldest CMS amongst the three, and must have seen a lot of attrition in its community base as the other two CMS’ would have been released. That also explains why this community is fiercely loyal. That also would explain the well documented help for this CMS (a developer’s paradise). This is the CMS of the techie which comes bundled with a lot of power.

But with all this power comes a complexity which becomes difficult to master, and hence lesser adoption rates. At 2.13% of the internet, I will not call it less, but the other counterparts are doing well.

Pros

  • Well documented support centre
  • Strong base with excellent core features
  • Community of techies who know their CMS

Cons

  • Extremely steep learning curve
  • Lesser plug-ins and themes, it is assumed that the nuances you want can be implemented in-house

So which one should I go for?

I am not going to play safe and just stop at a CMS comparison, for that there are tonnes of other sites who have even done beautiful infographics on this topic. I am going to pick one of these CMS for you!! So help me out and ask yourself these questions (just pick the options!)

  1. Am I already familiar with any of these systems?
    1. Yes
    2. No
  2. How fast do I need to go to market?
    1. I have time, I am just toying around
    2. Yesterday
  3. Do I have a clear idea of what kind of features I want in my CMS?
    1. Yes
    2. No

If your answer is mostly 1’s then go ahead with the CMS you already know … you have the time to learn it and you know what you need to implement. Ask around in the communities and people will help you out.

If your answer is mostly 2’s then just pick WordPress and start. It is easy to learn, fast to implement and flexible at the start (since you do not know what you exactly want, you would have to do a lot of tests to determine what works for you.

What the Internet has to say about WordPress vs Joomla vs Drupal

You can say that I am biased with WordPress. Yes, I am … since these days I make my living by working on the WordPress stack. However, you do not have to take my word for it, here’s a comparison of what the Internet has to say about these three different CMSs.

 

Installing WordPress on localhost

WordPress is a fantastic Content Management System, it can be a very simple application to learn for newbies, and it can still deliver the high level of customization that pros typically require. The level of help available across the interwebs for this is also high and it has a thriving developer community. I thought that I would add to the helpful howto’s on WordPress so that a complete newbie can install WordPress on his own machine to give it a whirl.

Here’s a step by step guide on how to install WordPress on your machine –

  1. First ensure you have all the right resources (XAMPP) – This is to ensure that you have a webserver with a MySQL server setup on your machine. Download the setup and install it. It will typically create a folder C:\xampp. Within this folder, make a note of the htdocs folder (this becomes your document root for your local web server). To check whether this has been properly done or not, simply open a browser and type in localhost and see whether you get a welcome page or not!
  2. After setting up your own webserver, you need the WordPress scripts. Download and extract this in your htdocs folder (it should default to a wordpress folder)
  3. Now simply type in this URL in your browser (http://localhost/wordpress). If you are setting it up for the first time, then you will be prompted to create a configuration file. Wordpress Configuration
  4. Now remember, for the next step you need to have created the database for WordPress. This is pretty straightforward. Open another link in your browser (http://localhost/phpmyadmin). This will be installed by default if you are using XAMPP. I am creating a database by the name of wp2, here’s how it looks
  5. Creating Database
  6. Now go to the previous browser window and click on the “Create a Configuration File” and proceed to the next step. Enter the following details, (Database – wp2, Username – root, leave the password blank since the default MySQL password for XAMPP is empty! Click on Submit.
  7. All right! You are all set to run the install (a confirmation for this is the Run the Install button!).
  8. The next screen is simple, what do you want to call your site (Site Title – I would always name it test since its on my local machine), username is admin and password also admin. NOTE – On a live webserver, the usernames and passwords will HAVE to be different.
  9. In the end, I always check off the Allow Search Engines to index this site. Its on my local host and I do not want to do unnecessary indexing and pinging to the search engines.
  10. That’s it, now you login with your username and password (in this case it was admin, admin). You should see the Dashboard of WordPress. Congratulations! You have setup WordPress on your localhost successfully!

I hope you found this helpful! In case if you got stuck anywhere in the steps outlined, do let me know, I shall be more than happy to help you out!

The Office-less Organization

As someone who has been working on the web for the past decade or so, I have always dreamt of my ideal organization as the one which does not have any offices (read that as a work from home). Obviously, I have heard of many IT organizations working on this model viz., Accenture, IBM to name a few.

However, my idea was not just that. I thought it could be possible to have an organization which does not have any offices! All the employees will be operating independently on their own. This utopian organization seemed a dream and I had more or less dismissed the thought … until today!

An excerpt from Wall Street Journal

The Web-services company Automattic Inc. has 123 employees working in 26 countries, 94 cities and 28 U.S. states. Its offices? Workers’ homes.

At Automattic, which hosts the servers for the blogging platform WordPress.com, work gets done wherever employees choose, and virtual meetings are conducted on Skype or over Internet chat.

The company has a San Francisco office for occasional use, but project management, brainstorming and water-cooler chatter take place on internal blogs. If necessary, team members fly around the world to meet each other face to face. And if people have sensitive questions, they pick up the phone.

How freakin’ awesome is that!

I decided to dive further, and learn more about this organization.

Guess what, they are awesome –

Being the makers of some of the web products that I have come to love and cherish – WordPress, Vaultpress, Akismet, Jetpack, CodePoet … damn, their lis goes on. Google cannot be a dream company, this should be the dream company for all of us WordPress tinkerers!

Shortcodes in WordPress

I love WordPress.

The blogging platform is a great content management system (CMS) to run on your website. Not only as a blog, but it can host your entire site. For example, most of the info pages on Pristine are on WP. In fact over the past year or so, my team has been learning how to create themes for WordPress.

At Pristine, we are providing the training schedules course-wise and city-wise on our different pages viz., for CFA Level I page, we are giving the schedule for all cities where CFA Level I is being conducted, for the Mumbai page, we are giving the schedule for all courses which are being conducted.

It does not take a rocket scientist to figure that there is a lot of duplicate information (which needs to be constantly updated) on different pages. With 8-10 centers and 6-7 courses that means anywhere between 50 to 70 pages which need to be updated whenever the training schedule changes. What a nightmare!

That’s where Shortcodes come in. Shortcodes are essentially functions that you can call from the WordPress CMS. Those of you who have used WP in the past would know that the WP platform is very easy to publish content ensures that you can only enter HTML in the publishing mode. We cannot write PHP scripts within the WP pages.

One way is to customize your templates, but if you want to run the script within your WordPress Publishable Content, then Shortcodes is the elegant solution. All you have to do is declare a function in the theme’s corresponding functions.php file, declare your short code and bind that to your new function. Voila! Now you have your own short code!

So, in this example, all I have to do is create a filterable query for the training schedule and pass either the city or the course as an argument in all my pages. Every time the schedule changes, all I have to do is update it once in the database, and the content will get auto-updated in all my 50-70 pages.

Upgrading WordPress

With the WordPress 3.3 update coming out, I decided that it was about time that I upgrade the wordpress running on our company’s website from the lowly 2.7.1 to the current version. This has been a thorn in my side from quite some time (about a year now). I had earlier attempted to correct this, however direct update options available in WP always resulted in broken themes or worse, broken functionality. It’s a nightmare when you have to consider the SEO juice you would be loosing because of the change in URLs. Even if I put in 301 redirects, it was too much of an effort to consider the update.

Installation

  • Christmas and New Year is always a slow time for any business, the perfect time to update WordPress. Also, using Google Analytics, I noted the time of the day when we receive the least no. of visitors (2am to 7am IST, when the no. is around 300-400 visitors per hour, else it goes as high as 1700-2000 visitors per hour)
  • The first thing I did was ensure that my hosting environment was compatible with WP 3.3. Turns out that my PHP version was not updated. I found this excellent guide to upgrade PHP from 5.1 to 5.3.
  • Once that was done, I double checked to see if my existing packages were compatible with the updated PHP. Turns out, that a lot of the functions in the previous version were deprecated. My error_log was looking like a battlefield scarred with PHP Fatal Errors, and PHP Warnings. Some quick fixes, I was ready for the WP update.
  • Using the awesome 5-minute WP install, I installed a dummy version on a hidden subdomain. I was sure to disable search engines on this deployment.
  • I then exported all the data from our current system and imported it into this deployment. This was the easiest part!
  • I then copied our theme files, and installed it into this new WP package (you have to check the theme files for deprecated methods)
  • I then copied all the plug-ins from the old to the new WP. These were then updated. The good thing about updated plug-ins is that you get awesome set of functionalities and security updates that you so wanted. Note to New Webmasters: There are a lot of plug-ins out there whose older versions contain backdoors (more on this later), trigger false alarms on search engines, etc which need to be taken care of. Earlier I used to this clean-up using shell scripts, but not anymore :)
  • Now with a bit of tweaking here and there, the site had URLs which were function properly (no more worrying about loosing on our SEO efforts).
  • With adding a fair bit of plug-ins into the system, came a new problem – conflicting jQuery!! Earlier this month, I had asked our intern to hand script a jQuery menu, and that was conflicting with the other jQuery scripts. Fortunately, we have jQuery.noConflict().

A whole new World!

  • WordPress 3.3 is breathtakingly awesome!
  • The custom fields have been nerfed, now you have to do a fair bit of tweaking around to introduce custom fields in pages. But that allows me to have a higher controls on them. Earlier custom fields had this nagging way of getting out of control in a wordpress installation. Not any more!
  • Plug-ins like All-in-one-SEO make for better and simpler SEO efforts. All my worries of duplicate title tags are slowly vanishing away!
  • Better plug-in support! Earlier where I would myself script a small workflow on the WP installation, now I can again rely on the huge set of awesome wordpress plug-ins

The good part of this transition was that it took me a little of 3 hours to completely migrate. Of course for some other media (such as videos, pdfs, etc.) which I did not want to migrate to a new folder, I created softlinks and the task was done. All in all, if you are facing legacy wordpress systems, and are worried about upgrading them to the latest version … dont. The best method is to deploy a new version and migrate all the content (however ginormous the task sounds, its a better approach).

Mastering a Mammoth

As part of my work, I am also maintaining the corporate blog these days. Sadly, the content management system (CMS) on which the blog is based on is kinda out of date. So much so that it has become virtually impossible to recreate the same environment on my own desktop.

What this means as a software person, I have to make changes and edits on a production platform. Not only does this give me the heeby jeebies, but also it makes the task a bit too tedious. Any one who has worked on an online server knows the PITA (pain-in-the-ass) it is to edit code files online.

Over the past week, I have been trying to handle this mammoth. I so miss my own agile and flexible WP 3.04 platform!!

In fact typing this blog has made me de-stress :-)

One of the great things about working with legacy CMS is that you get to (or rather have to) understand the exact workings of the CMS, you suddenly start seeing a plethora of possibilities and that gives you a sense of fulfillment.

WordPress Theme!

Created or rather tweaked my first WordPress theme ever. Have taken the Magazine theme and with the help of Angad worked out a flashy new theme for our latest blog at work.

Interesting to note that many people do only this for a living and some of the themes fetching a whopping $200 per piece. Makes me want to learn WordPress as an engine and contribute (eh … loosely using the term here!) to the WP community.