You can’t do that with WordPress
June 23, 2021
As a WordPress developer, I hear the term WordPress tossed around a lot. Often, WordPress is injected into a declarative statement that might be true, untrue, misleading, or just confusing. Here is an example: “You can’t do that with WordPress.” Well, perhaps. WordPress is such an inclusive term that is all but useless in this kind of context. Give me some rope …
WordPress could refer to (among other things):
- The Content Management System (CMS)
- The hosting solution
- A collection of resources
- The overarching community of developers and users
If you’re game, let’s explore each.
The Content Management System (CMS)
When I think of WordPress, I think of the CMS. To be more accurate, I think of the PHP, database, and JS frameworks that make up the CMS. To me, it is less of an idea and more of a thing you can download … well here. This is perhaps a very literal definition of WordPress but is often what folks are getting at when they say WordPress. You might hear this as “my website is a WordPress website”.
A reasonable comparable here is Squarespace, Wix, Drupal, Shopify, BigCommerce, etc. These are other CMS options. They each facilitate the creation of a website and have pros and cons. Each is more or less “open source”, and that is really the limiting factor for any of these. WordPress happens to be one of the most open, of open-source software.
In this context, “You can’t do that with WordPress” is probably not a true statement. PHP, JS, and a database are really old concepts in development. One could argue that the age of these tools is a detriment. In reality, the age of these tools shows how robust they are. If you can dream it, you can probably find someone who can do it, in WordPress (CMS).
The hosting solution
You might hear I have a website on WordPress. This refers to https://wordpress.com/, which is a hosting solution. Here again, Squarespace, Wix, Shopify, and BigCommerce are good comparables. These are not only CMS choices; they are also a hosting solution.
Here is where a distinction is important. A WordPress website is not inherently on WordPress (.com). It could be, but it does not have to be. This is part of the open-source nature of WordPress (CMS). I can download the CMS and host it anywhere or even use it on a local computer.
In this context, “You can’t do that with WordPress” could be true. WordPress (.com), just like any other hosting provider, has rules about what it allows. While WordPress (.com) is watered down a bit, to “make things easier”, restrictions put in place by a hosting provider are not unique to WordPress.com.
A collection of resources
As referenced above, you might hear, I’ll get it from WordPress. This makes reference to https://wordpress.org/. This is a huge collection of solutions (themes and plugins) crafted in a way that will drop right into the WordPress (CMS). There is documentation and a support forum. The collection of free stuff that WordPress (.org) has to offer is bonkers!
In this context, “You can’t do that with WordPress” could be true. It might be getting at the idea that your particular need is so unique that nobody will have created and submitted a solution. Then again, there are no new ideas and the resources available via WordPress (.org) are just about endless. The key here is to understand that there is a TON offered up for free. You really just need to know what to look for and where to find it.
The overarching community of developers and users
Highest level, perhaps, WordPress is a community. As a wonderfully open-source software, every developer and user of WordPress (CMS) is a part of WordPress. The combined skills, knowledge, talent, and drive of millions of people around the world, are WordPress. In this context, “You can’t do that with WordPress” is just baffling. What do you even mean? Of course, we could collectively do it.
Want more incomprehensible? WordPress is a business owned by Automattic Inc., an American global distributed company. You can’t do that with WordPress? Does Automattic Inc. have some company policy I am not aware of? Silly, yes, but a reasonable question in the correct context.
WordPress is confusing because people us imprecise language
WordPress is a lot of things. Tossing it out cavalierly might make you look the fool. There was a time when you “couldn’t” have an eCommerce website that was in WordPress (CMS). Well, WooCommerce is a free plugin, you can get from WordPress (.org) and add to WordPress (CMS), you could host it on WordPress (.com), and it was developed by members of the wider WordPress community. The aforementioned proposition, today, is just wrong. Many suggestions in the same vein are equally wrong or at least misleading.
Ok, fine, I get it. Not everyone is a WordPress expert. If you made it this far, at least you know how big, complicated, and robust, it is. If you have questions about WordPress, you now know a bit more about what kind of questions to ask. You’re likely a better WordPress fact-finder, and that makes me happy.
Alternatively, if you are a WordPress expert, kindly refrain from making declarative statements about “WordPress”, without offering a little detail. You owe it to your audience to give them accurate information. I have to say it. There have been countless times I have heard, “We were told we can’t do this in WordPress. They Lied!” That is not the impression anyone wants to give – even if it is after the fact.
WordPress. It is a weird, vague, powerful thing that can do lots of stuff. Perhaps the only thing WordPress can’t do is clearly define itself.
Nuts and bolts false claims
My answer to many of these questions (or claims) is often the same – go read the WordPress codex (documentation). People often misunderstand WordPress, which is a shame, because it is fairly well documented. Another piece of background information – I use the Gutenberg editor. I discuss the pros and cons here. That is worth a read too, if you are interested.
You can’t make WordPress fast
For any question of speed or general quality control, I recommend a laboratory => best case scenario => real world work flow. Start by installing WordPress and not changing a thing. Test the performance the way WordPress comes, right out of the box. Do not change the theme. Do not add any plugins. If you do this, you will find WordPress is reasonably performant. Then, sprinkle on some basic speed optimization, like server-side caching and minification. You’ll find WordPress is plenty fast. From here, add or changes items one at a time. This moves you from a laboratory environment toward a real world environment. It also informs you what exactly robs your performance. You can then make informed decisions about if you want to keep a given feature.
You can’t make WordPress stable
WordPress is as stable as most any other software I know. The “well-known” WordPress instability problem is mostly due to poorly written themes and plugins. Do the due diligence before blindly grabbing a theme or plugin. Before using an off-the-shelf theme, consider that those themes are built for mass market appeal – not necessarily stability. While harder to find, there are plenty of readily available, off-the-shelf themes that are built to be clean, stable products. Additionally, the “there’s a plugin for that” mentality builds a house of cards. So, select plugins with care. It is important to remember – making a stack of plugins is a choice – not a requirement.
You can’t make WordPress secure
WordPress is plenty secure if you follow best practices and keep everything up to date. Many people who create WordPress websites have no idea what the best practices are. That is problem #1. The second problem – people create unstable WordPress builds that they are afraid to update. Out of date code is insecure. If you keep your WordPress build nice and lean, you will have a fast, stable and secure website.
You can’t achieve basic functionality without adding a bunch of plugins
This is somewhat true but also misleading. WordPress does a TON out of the box and often people overlook baked-in functionality. Read the codex and you might find you are adding plugins to “achieve” basic functionality that already existed. That said, I do use 6 plugins on every WordPress site.
- Security
- Caching/compression/minification
- “SEO”
- 301 Redirects
- Database maintenance/cleaning
- SMTP
The important thing to note … this is all I “need” to use. It is a fairly short list and even these I could forego. I leverage these solutions because they create an overall better solution. Additionally, they often are an effective shortcut. You can create an incredibly SEO rich WordPress site without an SEO plugin – but why reinvent the wheel? There is a time and a place to say, this solution is good, and I am using it.
You can’t have robust functionality without plugins
If you know HTML, CSS and JS – you can create some killer functionality with something as simple as a WordPress base theme (i.e. Twenty Twenty-five). If you take the time to learn a dash of vanilla PHP, you can create incredibly robust functionality via a child theme. I hate to say this – but AI has made “basic” writing of code … very accessible. If you are willing to do the work, almost anyone can do some pretty cool stuff without really knowing any code at all.
You can’t get away from the generic ‘WordPress look’
Honestly – this is just a case of lazy design. People say the same thing about Bootstrap. Design is not bound by the CMS, but instead, your imagination. Think bigger.
You can’t manage complex, non-blog content structures
I find it surprising that people still think of WordPress as a blogging tool. I mean, who blogs anymore? More accurately, though, I think this is a case of folks not knowing enough about how flexible custom post types can be. Custom post types can create ridiculously complicated site structure. I’ll go one further and tell you one of the tricks up my sleeve. You can create a directory on the server, and then use a sprinkle of vanilla PHP to render a WordPress page as the index of that directory. This can create insanely complicated, software-like solutions.
You can’t make a accessible (WCAG compliant) site with it
Most of this comes down to the fact that people who build using WordPress fail to understand how WCAG works. Semantic HTML and high-contrast colors are an excellent start and both are dead easy to do via WordPress. When you get into proper ARIA or form labels, that is more complicated. Again, though, this is not a CMS problem. This is a bad developer problem. Don’t blame WordPress for the fact that it is used by ill-informed folks.
You can’t migrate away from WordPress
If you are using Gutenberg, the database is mostly populated with HTML. It takes a skilled programmer, but you can programmatically move from WordPress to another CMS with minimal effort. You just have to know how to cut code, super duper good and have some wicked technique. This is true, though, of any CMS to CMS migration.
You can’t do all of the above without bespoke solutions
Here we have to get into the definition of bespoke. Folks are taking WordPress and turning it into a headless CMS. They are smashing it together with JS frameworks to create full blown applications. I really do not understand this approach. I’ll admit – even I, over the years I have done some incredibly weird things with WordPress, like merging it in Ember JS or making fully AMP themes. I did those things as experiments. I was just curious to see how far WordPress could be stretched. Vanilla code, decent hosting and a bit of knowhow is all you need.