WHMCS Integration • WordPress, Joomla, Custom Templates
One of the things web hosting providers overlook the most is the fact they can use WHMCS both as main website and client area. Yes, you got it right. There's no need to rely on systems like WordPress, Joomla and Drupal. WHMCS can be your CRM and CMS in the same time.
You can take as example our site where every page, including this same post you are reading, is powered by WHMCS. If this is the first time you visit us, let me quickly give you an idea of what I'm talking about. This website has:
- Blogging platform where I post articles like this one
- An extensive documentation to help new users with modules
- Feature requests to give users the possibility to share and rate ideas
- FAQ to help with basic needs of users
- News section
- Changelog from which customers review changes in softwares
- Live demo for visitors interested in trying our products
- Statistics about all features I just mentioned
This is all based on a "special" WHMCS (more on that later). It all comes packed with SEO enhancements like meta description, Open Graph Protocol, sitemap generator, structured data and most importantly full support for multi-domain and multi-language pages.
On this last aspect, we have katamaze.it that uses the same installation of WHMCS. The only difference is that contents are available in italian language. But we could have also set it to use a different template and currency.
What's better than having a single control panel that lets you manage every aspect of your hosting business? From customer relationship management to content management system including search engine optimization and a lot of extra features.
Having said that, many still complicate their business processes installing third-party softwares like WordPress with WHMCS bridges that connect them with scripts.
Old habits are hard to break, but not impossible. In the following chapters I'll list all the cons of running this setup describing the alternative.
Let's start examining why the use of WHMCS and WordPress is so popular.
WHMCS covers all of aspects of running a web hosting business. It keeps your web servers, domain registrations, billing and support system together but when it comes to CMS functionalities, it is a disaster.
The very few things that resemble a CMS, are announcements and knowledge base where most of the times people publish premade articles. However both sections seem to come from the 90's. They lack many features and the few ones that exist make things worse.
From an SEO perspective, meta tags, structured data and friendly URLs are missing. Yes, I know that WHMCS supports SEO friendly URLs but they cause duplicate content so I don't even consider this a feature but a problem.
Next we have the age-old question of multi-language that on this software is based on PHP sessions. Search engines don't use sessions hence they can't "see" and index multilingual pages of your site. There are more downsides but we can jump to conclusion.
WHMCS is the quintessence of anti-SEO that's where WordPress comes into place.
WordPress is considered to be the best choice for a website (other viable options are Joomla and Drupal). The idea at the base is that by combining WHMCS and WordPress one gets the best from both platforms but is it actually true?
It took me almost a decade to realize that the answer is "No".
Here is the thing. A CMS gives the impression that your website is taking shape very quickly. Installation is a question of minutes and there are a thousands of templates to choose from. Not to mention the many plugins just a click away. But this is a false perception of reality.
In real-life scenario, having a software to deliver contents and another to manage the business is like taking care of two babies. You have more to do and less time to do it.
At the end of the day, all you get in return is business process fragmentation as you have two separate systems that don't talk with each other. No integration or bridge can make things as smooth as managing everything from a centralized control panel.
To make your hosting company shine and prosper, you should be learning the tools you rely on. In this regard, you could be interested in the following articles:
Back to the topic, the learning curve of WHMCS is very steep. As a reference, I use it since 2007 and I'm still learning. It takes years before you feel confident. Using a CMS slows this process even further as one needs to keep up with an additional software.
I think the image below describes the feeling of using two control panels in the same time. Productivity is negatively affected.
Now if you employ a team of workers to address the multiple needs of your company or if your name is John Wick, you can sustain it but is it really worth the effort? Running two systems automatically doubles complexity.
You end up having multiple databases, credentials, two cookie bars with different policies. The constant need to go back and forth from WHMCS to WordPress administration doesn't help productivity. It's even worse if you happen to have multiple WHMCS as you also have to take care of multiple WordPress.
Invoices, orders, payments, products, domains and support tickets are on WHMCS. Posts, news, comments, marketing campaigns, contacts, analytic tools and advertising are on the CMS.
No matter how good is your team, you dissipate energies and waste time. If you are a one-man company or have a small team, in the long run you can't cope up with such a structure and you will likely neglect part of the duties.
Given that WHMCS is getting worse (every release introduces new bugs), imagine the feeling when you need to upgrade both systems. You can't postpone it for too long otherwise you expose yourself to the obvious risks of running outdated software.
I cannot speak for WordPress, but I learned the hard way that upgrading WHMCS is like jumping off cliffs believing you can fly. Before you attempt an upgrade, you need to:
- Backup all files (200+ MB) and database (40 MB up to several gigabytes)
- Make sure all third-party modules are compatible with the latest version
- Double-check all settings and action hooks in use
- Update template in line with recent changes
- Deal with new bugs that adds up to old ones that never get fixed
- Try new features that WHMCS staff has barely tested
- Having fun when WHMCS staff removes features for inexplicable reasons
- Cross your fingers and pray
It looks time-consuming and frustrating and it actually is. Minutes add up fast and lost productivity is real. That's why more and more hosting companies are reluctant to upgrade WHMCS. I know many that are still running version 5 that was released in 2011.
If you think that upgrading WHMCS is scary, don't forget there's still WordPress. It doesn't magically update itself so you need to go through a similar process. And we are not even talking about potential conflicts between both softwares.
How long will your patience last? Anything can break your integration or bridge in any moment. Ultimately it is very likely that you will discard updates diminishing security levels.
You surely want WordPress and WHMCS to look the same so that visitors don't notice they're navigating through different platforms. To this end, you need to create two versions of the same template. Depending on your skills, it can take up to several weeks or months.
Making things twice taking into account all the possible exceptions is not a productive use of time. It should be noted that systems use different template engine, syntax and Bootstrap version.
Even if one manages to get the job done, there will always be slight differences. Considering that WHMCS staff keeps releasing and removing templates without caring about backward compatibility, how long will the template last?
Planning upgrades when relying on systems that follow different development paths and life cycles, require budget, time and expertise. Things that small and medium-sized enterprises can not afford.
On one hand CMS are generally always on top of things in line with new trends and technologies while on the other WHMCS always falls behind. Let me give you an example.
Bootstrap 4 was released in 2015. WHMCS staff implemented it in 2021 with 6 years of delay not counting bugs. The sad part is that in the same time Bootstrap 5 is almost ready for use. With these premises, templates take an unreasonable amount of time that few companies can afford.
Speaking of seeing double, another problem in running WHMCS with a CMS is sharing logins between them. No one wants to force customers to register on both platforms with different credentials. Same goes for login and logout functionality.
With a couple of action hooks and so called "bridges" one can make it happen but the final result is not the same as having customers consolidated on one platform.
From an administrative point of view, going back and forth from CMS to WHMCS feels like traveling in two cars in the same time.
You write posts, approve comments, create landing pages for marketing campaigns on WordPress while invoicing and orders occur on WHMCS. This is a counter-intuitive design by default.
If you decide to follow the path of integrating WHMCS with a CMS, the first step is deciding who does what. Some features in fact exist on both platforms and you can't easily turn them on and off. Let's focus for a moment just on news supposing you want to use WordPress.
First disable WHMCS announcements by coding a couple of action hooks. Second remove all references from navbar and sidebar. Third redirect visitors. Fourth create htaccess rules to redirect old announcements to WordPress in order not to lose indexing on search engines.
This requires programming skills, extensive knowledge of WHMCS and a couple of hours. And we are just talking of news. There are tens of duplicated features that need to be addressed. That's not impossible but the integration is starting to become too much effort to be worth it.
Let's move to Analytics, conversion tracking and marketing campaigns. Who should benefit from such efforts? WordPress or WHMCS? No matter what the answer is. Both need tracking and Analytics otherwise you miss half of the data.
What's the point of having visitors clicking on Facebook Ads and see them disappearning when they move from WordPress to WHMCS? This undermines your efforts since you can't even understand if your marketing campaigns are generating sales.
A CMS is great from an SEO perspective while WHMCS is terrible all-around. A WordPress post outshines WHMCS where you are actually selling products.
Also don't forget that WHMCS causes duplicate content and prevents Google from indexing multilingual pages. Google "sees" your website as a single entity meaning all weaknesses of WHMCS reflect on WordPress.
Going further, some providers try replicate products page on WordPress to make them look more appealing to potential customers. This however adds unnecessary steps to the ordering process making it too long and complex.
Last but not least, you need to keep both systems on separate hosting plans to avoid vulnerabilities.
A cracker could get access to WHMCS by exploiting a vulnerability of your CMS and vice versa. The very fact that they must be kept separated turns the easiest of the task, like including a PHP script, into a nightmare. That's how most people end up using the terrible iframes.
To avoid misunderstanding of any sort, look at the image below. This is what I mean when I say "separated hosting plans". That's not about having separate FTP accounts. You literally have to treat them as two distinct websites.
I've seen it happening countless times. The vast majority of integrations sooner or later turn into abandoned websites. Completing them takes months. Keeping them functional is an ongoing concern that never ends.
At the end of the day, many hosting providers stop caring about upgrades, templates, updating contents as they have better things to do with their time.
From time to time they contact us because they would like to refresh the look of their website and the integration itself. We say thanks but decline the offer.
Let's face it. The reality is that integration is not a sustainable process. First it's expensive and extremely boring to code. Second the outcome is not confortable to use on a daily basis.
The good news is that so many years and integrations, I came up with the idea of creating Mercury, a module that brings all the features you would expect from a CMS directly in WHMCS.
Our own website is the living proof that it's working great! I even managed to increase traffic by 462% in 8 months.
I'm so convinced that integrations and bridges are a thing from the past that I even stop supporting them. Mercury has nothing to envy from a typical CMS and enables to use WHMCS for every aspect of the business. It also comes with extra features like:
- Service Level Agreement
- HereLang to translate contents on the fly
- SorTables for data visualization
- Improved fields with MagicInput
This is what I call a real integration.