Why I don't like free Joomla! extensions

Posted by on

why-i-dont-like-free-joomla-extensionsThe fact that the Joomla! CMS is used by millions of websites means that there is a plethora of extensions available. Beware: not all extensions are created equal and many of them are more trouble than they're worth.

In today's day and age of open-source coding, web designers and developers have a number of tools at their disposal, most of them free. Powerful content management systems such as WordPress, Joomla!, Magento, Drupal and phpBB allow just about anyone to get involved in website creation and administration paying nothing more than a simple hosting fee.

The Magento shopping cart is by far the most difficult to set up and maintain and most Magento sites have a team of IT professionals behind them. There are scarce few free add-ons that enhance the Magento core.

On the other end of the spectrum are WordPress and Joomla!. Both of these two hugely popular CMSs boast thousands of free extensions that can be downloaded and installed in a matter of seconds. Functionality added from extensions ranges from Facebook Like buttons, forums, CCKs (content construction kit) and shopping carts to caching, security, SEO and content editor plugins and components. WordPress in particular has en enormous list of free plugins.

Commercial vs Non-commercial extensions

The Joomla! Extension Directory (JED) has an interesting mix of both commercial and non-commercial Joomla! extensions. Some extensions have free base plans with the option to purchase a paid upgrade to unlock all of the extensions' features.

Here at Puelo Consulting we try our best to keep away from free extensions. Before I explain why, let's go over the three different types of extensions available for Joomla!:

Non-commercial Joomla! extensions

Free extensions proliferate the JED. There are plugins and components that can add to a Joomla! site just about any feature you can imagine. At most user registration is required to download the package and the majority have no support plans, free or paid. If you run in to problems with the extension you are stuck using the forum (if there even is one) and support is, naturally, sketchy at best and non-existent at worst.

Most of the simpler free plugins and components are the result of custom development by a coder for a client. When a client approaches a freelance developer requesting a special feature be implemented in Joomla!, the programmer quotes a price to do the work. When the client accepts the proposal the developer normally also offers, for an extra fee, to grant exclusive rights over use of the new plugin, component or module to be developed. In other words, the developer agrees to abstain from providing the source code to other clients. Most clients decline this option and the programmer likely puts his creation on the JED as a free extension. Generally these types of extensions have a Donation button close to the download button. After all, why shouldn't the freelancer try to get a few more bucks out of his creation?

While occasionally some real gems pop up, the main drawback to these types of extensions is long-term support. The extension being a by-product of previous work usually means it has a short useful lifetime. It quickly falls behind the Joomla! updates and development and some can even become a security threat due to the use of deprecated php code or outdated flash players. Understandably, the dev has no real incentive to update or improve on the original package. He already made his money and maybe was able to buy himself a few beers with the donations, but for him it's off to new projects and new work.

Be extremely cautious with older extensions with no reviews on the JED or extensions that have not had a review for a few months. That normally means that not many people are using it and there's usually a reason why. The good news regarding the more basic extensions is that when one falls out of favor there are usually one or two more around to take its place. If you are adamant about installing free extensions try to make sure it is only for basic functions such as blocking the /administrator URL, creating a sitemap or re-writing http and https pages to avoid duplicate content. Try to avoid free, unsupported modules as any deprecated code could open up a huge hole for hackers.

That said, there are a handful of exceptions to my "free extensions suck" rule. In fact, these exceptions happen to be some of the most popular components on the JED. What Joomla! user has not at some point in time used K2, VirtueMart, Kunena or some of Phoca's tools? These extensions in particular have a team of coders behind them and have managed to maintain themselves at the top of their respective categories. All work well out of the box and fit nicely with most templates. However, all four can frequently conflict with other extensions and support is completely user-based. If you need help you are depending on other users of the component. Of the "big three" I can honestly only recommend K2 and Kunena. I have used them in the past but do not use them now unless demanded by a client. Some sloppy coding in K2 can make it a drag on site performance but overall it is a great solution for developers on a budget or novices just getting their feet wet with Joomla! Ditto on Kunena. It is an overall decent package but updates can lag way behind Joomla! and cross-component compatibility (for example with JomSocial and JFBConnect) can suffer for extended periods of time.

Nevertheless it is important to keep in mind that the people behind these packages are putting in many hours for your sake, giving you the opportunity to add some real power to your site without spending a dime. They are to be applauded for their efforts and are a shining example of the open source spirit.

Unfortunately I cannot say the same for VirtueMart. Development is slow, coding is sloppy, new versions are few and far between (only two major versions since its inception) and setup and administrative tasks are downright frustrating; almost painful. The VirtueMart team deserves plenty of praise for the enormous amount of effort put in to a project that has no monetary compensation, and for new or small e-stores it is a decent package to get started out with. That said, for anyone serious about selling online I wouldn't hesitate to suggest that you go running to one of the paid shopping carts that offer real support. You will probably need it since e-commerce is not to be taken lightly. Large and popular e-shops shouldn't even be on Joomla!, anyway. Magento is light years ahead of even the paid shopping cart extensions. Yes, it's a beast and you will likely have to dish out some money for a php programmer to fine-tune your shop but, if you're already making money selling online, that expense should not be too much to worry about.

Phoca deserves special attention. They offer a great number of useful extensions that for the most part integrate wll into any Joomla! site. However, their extensions are mostly dedicated to doing one thing: a slideshow, a Google map or a file download. If you just need some quick functionality on a couple of your pages Phoca usually has something that can help and they are a trusted developer on the JED. Nonetheless, the various tools that Phoca offers should not be taken as a whole to extend your site in all directions. Loading your site with components, modules and plugins slow it down and make updating a time-consuming process, not to mention increasing the possibility of JavaScript or CSS conflicts. If you need lots of what Phoca has to offer you are better off paying some money and going with a professional CCK and having all of the functionality under one roof in a single component.

The only completely free component that I recommend for all Joomla! sites is the JCE Content Editor. It offers bloggers and administrators some great time-saving tools while creating content, links to other articles and other otherwise time-consuming HTML tasks. However, JCE can be a real security threat. It is important to keep the JCE component updated; and updates are quite frequent.

Now you must be thinking: what about Akeeba Backup? Isn't that free? Yes, it is free but it falls into another category - one you don't see on the JED. It is a "mixed" extension.

Mixed Joomla! extensions

A mixed Joomla! extension is my semantics for those that offer two different versions of the same component or plugin. What this means is that there is usually a free downloadable version with limited functionality. By paying a fee you can gain access to some more or all of the features. It is also common to offer limited-time paid support plans to users of the free extension.

Akeeba Backup is one of the most popular extensions on the JED and the best example of how mixed extensions work. The majority of Joomla! developers get by just fine with the non-commercial version. I recommend that this component be the first thing installed on any Joomla! site. That said, the free version only scratches the surface of all the Akeeba team has to offer. The people responsible for this extension are experts in keeping your sites safe, healthy and easy to restore in the event of a catastrophe. Users of the free version have limited access to the support forums and cannot post tickets without paying for support. The other alternative is to become a subscriber to one or all of their extensions. This business model allows the developer to maintain professional and feature-rich packages without shutting the door to casual Joomla! users.

Some of the best extensions on the JED fall into the mixed category and many of the limited free versions work so well that you will be enticed at one point to upgrade in order to unlock the full potential of the add-on.

Commercial Joomla! extensions

These extensions are developed exclusively for use by paying customers. For the most part they are good packages with decent to good support included in the price tag. They cannot be used without paying for a license or subscription. Most developers offer some form of trial, either limiting the time you can use the extension or locking some features on the front end. This allows you to explore it on the admin side and see what it can do, helping you determine whether it's right or not for your site. Many of the devs make a living with their software and are dedicated 100% to its performance and functionality. Generally one can expect frequent security updates, upgrades with new and improved features and professional support.

Choosing a commercial extension may be one of the hardest desicions to make regarding what needs to be installed on your Joomla! site. Many times it is not even an option because a client is unwilling to pay even $10 extra. That's why professional Joomla! designers generally hold developer licenses with one or more extension companies. This assures that the designer has a permanent and stable toolbox with which to work. Template companies normally offer unlimited access to their templates and associated modules, plugins and components which usually feature integrated styling with the template.

In other cases a commercial extension is necessary to accomplish a specific goal for a website. The most common applications are real estate, e-commerce, catalogs, communities, directories, ad management and SEO/SEF plugins. The most popular ones probably have a good number of reviews on the JED to give a general idea of user satisfaction levels. Some of the more specific components might have a very small user base and can be hard to evaluate by browsing the JED. In all cases the best action to take is to grab a free trial, install it on your site, do some initial set up and check how it works on the front end. If the results are satisfactory you can consider upgrading to the full version. Be sure to check the support forum to get an idea of how good or bad the support is. For e-commerce I cannot recommend enough the benefits of spending money on a commercial shopping cart. E-commerce is not to be taken lightly and you will likely need the support services of the developer.

Replacing simple Joomla! extensions with hard-coding

Don't let the title scare you. Hard-coding simple widgets is much easier than it sounds. One of the biggest mistakes that can be made on a Joomla! website is installing all kinds of plugins and modules to show Google maps, AdSense ads and Facebook Like, Google+ and Twitter buttons. The code snippets used to show these items are quite simple and are easily grabbed from the developers section of the respective websites. The necessary code is given to you so that all you have to do is copy it and paste it into a Joomla! Custom HTML Module. The problem with installing plugins to do this work, besides the fact that each extension you install on your site makes it a bit more complex and slower, is the annoyance that some are so poorly coded that they often execute themselves on every page of your site even if you are not using them on some pages. As an example, let's say you want a Facebook Like button only on your homepage. Facebook has a small snippet of JavaScript that accompanies the widget. This JS snippet is necessary for all content coming from Facebook. By hard-coding it only on your home page with a Custom HTML module you assure yourself that the code is only loaded on the home page. Many plugins will end up adding this code snippet to your entire site. If you have 1,000 pages but only want the FB button on the homepage, you are just loading unneccesary scripts on your other 999 pages. And if you end up installing another plugin with FB functionality you might end up getting the same snippet loaded twice which will break the communication between your site and FB. If you need lots of FB features you are much better off paying for an extension dedicated to integrating your site with Facebook.

Steve is the founder of Puelo Consulting and a specialist in designing and optimizing Joomla! websites.

Born and raised in the United States, he holds a M.S. in Civil Engineering. After working on some important construction projects overseas he moved his investments to and settled in Argentina and opened a restaurant. Following six years in the food industry he began his online career.

He is a specialist in design and custom development of Joomla! sites, on-page SEO, speed optimization and financial consulting.

Steve currently resides in Argentina with his family.