Heya,

We’ve been talking about WordPress and how wonderfully extensible it is with plugins. But we have yet to look at its DARK side.

In particular, in this lesson, i’d like to give you some general guidance to help you make better technology choices in your business. Your business is unique, so even if i make a very comprehensive tutorial, i cannot make every decision for you.

Eventually, you’re going to need to choose plugins, services, or software on your own. And your choices need to be carefully studied and smart.

Not every plugin or theme built for WordPress is inherently good.

Not every software or service that APPEARS to solve your problem is gonna be the best choice.

And tech choices have a significant impact on an online business. Choose wrong, and you might end up with a complicated workflow that slows you down and reduces your productivity.

Or you might end up stuck with a solution that later gets abandoned (no longer updated), has no support, or is riddled with bugs. Migrating to another solution later can waste weeks and cost a fortune in data loss.

In fact, MANY plugins are poorly written, badly designed, and full of security vulnerabilities. They can cause your site to be entirely broken, slow, or open to hackers and saboteurs.

The worst part is, unless you’re a pretty decent programmer yourself AND you look “under the hood” to study the code, you’re unlikely to realise there are problems. To a typical user, it looks like the software has all the functionality they want, even when it’s ROTTEN to the core.

For instance, while looking for a membership solution for WordPress, i came across LearnPress; it seemed promising. The demo showed beautiful course presentations and a wonderful interface. It had all the features i was looking for in a learning management / membership system.

After i’d done my due diligence, i decided to adopt it.

I looked at their database structure and began the tedious task of migrating all my courses, students, and student records into their format. This required complex SQL queries which only  someone with advanced programming skills could pull off…and it was dangerous too, because a single mistake could easily destroy all my customer data.

It was only after i did all this that i discovered my site was CRAWLING to the point of being unusable.

Keep in mind, this was not due to heavy load. The site was not deployed to the public and its ONLY user was me.

Upon searching through Learnpress’ support, i found other users making similar complaints about speed. They were advised by the developers, Thimpress, to get a better server and to install caching plugins.

My guess is, most people would have taken the recommendation and did as instructed. They would have seen a sufficient improvement to end their complaints.

But i’m a pain in the ass.

I argued with their support that something is FUNDAMENTALLY broken in the software if out the gate, with a single user, it REQUIRES a caching plugin to be usable. Caching is something you do to further optimise efficient, working code. It should NEVER be required to fix the shortcomings of its developers, against their inefficient code.

Let me make this simpler…

It’s like buying a car that won’t drive past 10 km/hr–and when you complain to the dealer, they tell you to install a turbocharger! I mean, sure it will probably go faster now…but clearly there’s a problem if the car can’t go past 10 km / hr without a turbocharger, no?

Thimpress, the developers behind Learnpress have no business selling plugins or themes.

I later realised their entire code base was ripped off from Woocommerce and Sensei LMS, bastardised and butchered into something absolutely rotten. I was shocked that despite duplicating huge amounts of code, they claimed to be “compatible” with Woocommerce. Meaning, they encouraged users to use Woocommerce and Learnpress together. Anyone who did so was likely to have two copies of the same code running–with duplicate queries, duplicate database storage, and all sorts of conflicts and wasteful redundancies.

Needless to say, i did not continue using LearnPress. 

Another example was a popular mailing solution named Sendy. This was not a WordPress plugin, but one could buy a license and have full access to its code. So i considered it as a potential backend service for my own mail platform. Rather than start from scratch, i figured if it was a good fit, it would save me some time to start there.

I bought a license to the code and began to dig in to see how it can be modified to suit my work. At face value, it seemed like an extremely feature rich platform, very popular, and some were even selling it as a cloud-based sending service!

This was good news. Until i dug into the code.

I remember spending months pouring over it, thinking the developer is either some sort of genius or a madman. I mean, it was written like someone just sat down and programmed everything in one shot without testing or optimising or planning. The fact it even worked was miraculous. All over the place there was code duplication–it’s something you try to avoid as a best practice. As a programmer, if you’re likely to reuse some functionality, you wrap it onto a utility function and then you can just call it when you need it. But this guy was repeating thousands of lines of code, copying and pasting, modifying a few lines here and there to do something slightly different. He programmed like i did when i was 9.

It was a MESS!

How was he keeping up with this madness? If code is hard to follow, it’s hard to identify the source of bugs and security holes. Fixing an error in one place, won’t fix it in the 20+ other places that same code was copied and pasted. You’re bound to miss a few.

I did not agree with many of his choices, refactoring his code was taking way too long, and i knew it was going to be a nightmare to maintain. So, ultimately, i gave up on Sendy and moved on.

My point is, there’s a lot of things that can go wrong with software choices. Even *I* am not immune to them.

It’s not sufficient that a plugin or service does EXACTLY what you want…or that the interface looks beautiful or professional. Nor is it a matter of free vs premium. This is the easy stuff. Writing efficient, well thought out code is something only few programmers can genuinely pull off.

(Thank GOD i am one of those few programmers 🙂 i breathe this stuff).

How do you choose software for your online business written by the good guys?

Here are some general guidelines you can follow when i’m gone:
 
 
 
1. DON’T FIXATE
===============
 
If you’ve found a plugin or software service that does what you want, keep looking. Chances are there are plenty of alternative choices available too. It’s unlikely that one programmer / company decided to build a solution to the problem you’re facing and no one else thought of it.

So the most important tip i have for you is, don’t fixate.

Once you find your solution, research and study as many alternatives as you can. Don’t be so fast to adopt / buy the first solution you find. If something doesn’t suit you perfectly, scrap it and keep looking. Chances are you’ll find something better. Try to figure out which will serve you best before committing money, before migrating your data, and before starting to build data into it. Changing that choice later will be very difficult.
 
 
 
2. AVOID SOFTWARE BY MARKETERS
=================================
 
Your favourite gooroo released a bit of software? Fuck him. Don’t buy it.

WebinarJam was a piece of shit. Everwebinar was a piece of shit. Kartra is probably shit, because everything Filsame ever touched was shit. And this goes for just about every software a marketing gooroo has ever released.

Marketing gooroos don’t know the first thing about running a software business. They’re in it for the quick bucks. Giving support, making updates, and adding features is a long game most don’t have the patience for.

Plus, their primary business is marketing, not software development. So even if they develop and release a bit of software, they would need a major business restructuring and plenty of new fulltime hires just to maintain it. Which they’re not likely to have experience with nor to do in a good way. In the end, they will abandon the effort, leaving you in the lurch, and they’ll go back to releasing marketing frauducts.

Refer to point #1 above. You’re likely to find a better alternative written by a professional software company.
 
 
 
3. AVOID PREMIUM WITHOUT TRIAL
================================
 
If you come across a premium plugin or software or software service that doesn’t give you the opportunity to try it for free, don’t buy it. This is a HUGE red flag.

In fact, i’d avoid anyone who tries to get your card on file and automatically bills you in a period less than 30 days. Don’t go for $1 trials either, that’s a marketer’s gimmick. Professional software companies don’t do these shit tricks because they know how users use software.

Since the beginning of time, software has always offered a demo version.

This is only fair. You should have ample opportunity to try the software and see if it fits your needs and solves your problems. This requires time and enough usable functionality to give it a proper test run.

So if you don’t get a trial on your terms, refer to point #1 above, and keep searching.
 
 
 
4. FAVOUR OPEN SOURCE
=======================
 
In general, i suggest you find an open source solution to your technological needs…OR…if you do go premium, avoid individual developer efforts.

Open source, of course, has the advantage of being free. But not all free is good. Good open source is community developed. This means LOTS of people from different environments and with different needs are working on the software. So it’s getting battle tested in different setups, and there’s usually an enforcement of best coding practices to ensure good, efficient code results.

It is a lot of work for a single developer to maintain and upkeep good software. Even if the developer is decent, without a team behind the effort, their software usually leaves a lot to be desired. Which means, for the most part, you should prefer software built by a large team of developers.

So how can you tell if a plugin or software is open source and community developed?

Search for it on Github or Subversion. These are the most popular version control systems used in open source projects. Then ask the following questions:

How many people are actively working on it?

How frequently are they releasing updates?

How good is their user support?

Is the project still being actively developed?

See, many projects are TECHNICALLY open source because of their license and their source is in the public domain. But they might be unpopular in reality, with only a single developer actively contributing to them. Or they could be abandoned projects that have not been updated in a long time. So you have to answer these questions before you make your choice.

Here’s a good example you can try. Search for the Elementor page builder on Github. You’ll find it. So that’s a good sign.

Now, you can tell how many people are working on it by looking at the number of CONTRIBUTORS (60). That’s a decent team of developers.

To know how frequently they’re releasing updates, look at the number of COMMITS (18,741) and RELEASES (242). A commit is made every time the code gets updated like when a bug is fixed or a feature is added. A release, on the other hand, is when an official version bump occurs, and a set of features or fixes has been completed and a new version is released to the public. These are all pretty decent numbers.

To know about support, i don’t mean the usual support of hey i have a problem how can i fix it–but rather, if there are bugs or unexpected behaviours or incompatibilities that you as a user discover–you’d like the project owners to care enough about fixing them. So on Github, you can click the ISSUES tab. Here you will see 1,450 Open and 6,606 Closed. An open issue is a problem or task still in discussion which has not yet been resolved. A closed issue is one that has been fixed or dealt with. It’s a pretty good sign to see so many closed issues, because it means if you have a problem and you report it, it will be quickly fixed and incorporated into an upcoming release.

And if you want to know if the project is still in active development, check the LATEST COMMIT (8 days ago). Most likely this project has NOT been abandoned, it is still actively developed, since it’s only been 8 days since a change was made to the code.

It’s easy to figure out what a good project is if it’s on Github. I’d rather go for one of these than any free, premium, or individual programmer effort.

But if you do need a premium software, that’s ok too. Just make sure you get answers to these questions first. Most importantly, ensure there’s a TEAM behind it, not a single developer.

If it doesn’t fit, see point #1…look for another.
 
 
—-
 
 
I think this covers the main ways to make optimal software choices in your online business, especially when it relates to your WordPress website.

If you want to learn more about how to build your online business on WordPress and get unlimited traffic, leads, and sales that scale, check out the Super Traffic Machine. It’s a pretty impressive training program like none the industry has ever seen (or ever will see, because let’s face it–it’s a lazy industry in which few actually run an ethical business selling legitimate solutions to people who need them). I, on the other hand, come from an academic background and education is in our blood. I love to get through to my students and i love to see them learn. So this course, i wrote it with my friends and colleagues Zak and Andrew with great care. They’re the only people i know as obsessive about quality as i.

It’s easy to follow and you will love learning from us.

Check it out at the link below…

Until next time,

~jim