Why I Hate WordPress Frameworks

And why you need to know if your site is built in one

When I develop a new site I don’t use a framework, I use only PHP and what is available in the core of WordPress. Why do I insist on doing it this way? It’s really simple, any developer that understands PHP and core WordPress should be able to take over development of the site at any time and be able to jump right in and start working on it with very little trouble. In addition, PHP and the WordPress core are both extremely well documented. Anything that a developer needs to know can be found with a simple search.

When I take over a site I expect the same thing; that I can jump right in and start working instead of wasting my time and the client’s time figuring out what’s going on.

Inheriting Websites

Inheriting a website is what developers call it when a client hires them to do work on their existing site rather than build a new one. Inheriting a website is something that comes with some overhead. You must figure out how it was built. You must crawl around in the code to get an idea of what can be done easily and what will take more work, or even what cannot be accomplished at all. You have to get into the head of the previous developer(s) by looking at their code. If it was built in a framework that you’re unfamiliar with then you’ll need to learn that framework as well.

Every Framework is Different

The commonly held belief is that all WordPress sites are the same; that if a developer is experienced with WordPress that they can easily take over development of any site built in WordPress; that this transition will be easy, painless and problem free.

This belief is wrong.

While yes, I can take over the development of any site built in WordPress (or any site for that matter), my efficiency and the efficiency of any other developer will depend on exactly how that site was built and their experience.

You see, using a framework means understanding how that framework does what it does. It’s like leaning an entirely new system. Most WordPress frameworks don’t require much of an understanding of how the WordPress core works. Instead the developer(s) of the framework create their own rules which must be followed. In many cases these rules have little to do with understanding WordPress coding and may not even make much sense at all to other developers. In many cases this means that you’re using what appears to be a completely different CMS from a coding standpoint.

To make this more difficult, most frameworks are poorly documented. The developers create a smattering of hard to understand documentation then throw up a forum and let make the developers that are using the framework try to help each other. It often takes hours or days of searching and digging through forum posts and asking your own questions on these forums to get answers to what should be the simplest of questions and complex questions may never get answered.

Some frameworks have better documentation that you must pay a fee to access, but from what I’ve experienced this paid documentation is only marginally better than what you get with the free ones and you still have the forum to deal with.

The poor documentation is somewhat understandable and really to be expected. It used to be that companies that produced software had a team of people that did nothing but documentation. This is not true today. Developers of software have never been known a great documenting their work. They’re builders and they want to build and leave the documentation up to others to worry about, unfortunately, there is no one else to do the work.

Eventually, given enough time, you may learn enough to get somewhat efficient with a specific framework.

Hundreds? of Frameworks

This is where the real problem lies. There are many, many frameworks, not sure about the hundreds part. I’ve looked but there isn’t any information on the exact number or a complete list. Many are not popular enough to make it into lists, but they are still used and others may still have to deal with them.

A developer may only inherit a single site built in a specific framework and then never see that framework again. It’s not really worth the time to the developer to REALLY understand the framework. They just want to figure out enough so that they’re not pulling their hair out every time they look at the site.

Every Developer is Different

Each developer or shop has their own way to build new sites. This may be like me, without a framework, and it may be with a specific framework that they use for all sites. They focus their attention on building sites in a single way because this is how they become efficient at doing things. Being efficient means the company can actually make a profit from the work they do. Developers like being efficient, they don’t like wasting time and they don’t like learning something they’re only going to use once. This is the reason that most developers will want to rebuild a site, hoping to keep the data and replace the rest.

This is one of the reasons that I hate frameworks. I have never had to deal with the same one twice and I really don’t have the time to become efficient at working with all of the popular frameworks, let alone every framework in existence.

My Framework

You could say that I have my own “framework” of sorts. My framework is built around the idea of being simple to understand for anyone that understands standard WordPress themes, functions, and plugins and is efficient at reading and writing PHP code. I have my own basic bare bones theme along with a library of customizable PHP functions, classes and plugins. This is where I start when I build a new site and this library grows each time I build a site. Like I said above, anyone that understands the WordPress core and PHP should be able to pick up a site I’ve built relatively easily. This is how I believe that WordPress sites should be built.

You Should Know how Your Site is built

If you are shopping around for a developer to work on your existing site you should know if your site is built using a framework and if so, which one. One of the questions you should be asking developers is if they have experience working with that framework. If they tell you that it doesn’t matter then they are lying to you. They simply cannot be as efficient working with a framework they are not familiar with as they can be working with systems they are used to. If they’re not familiar with it then you need to be prepared for inevitable delays while the developer gets up to speed on the framework used on your site and you need to know what these delays will cost you.

So, Why do I Hate WordPress Frameworks?

I don’t hate frameworks simply because I hate the idea of frameworks.

I hate frameworks because:

  • There are simply too many of them for one person or one shop to know them all.
  • I’ve never seen the same one used twice or needed to deal with the same one twice. I hate wasting time learning something that I’ll only see or use once.
  • I hate spending hours or days digging through poor documentation and forums to get simple questions answered.
  • Dealing with them means I’ll be spending less time doing what I love do to, which is coding and building and solving real problems.

Let me be honest, there are many other reasons that I dislike frameworks. This post only dealt with one aspect of them; development efficiency. I haven’t even touched upon code bloat and site speed or a number of other things that I dislike about them. I’ll save those for another time when one of those reasons gets me a frustrated as the site I just inherited.