While everybody praises WordPress, we decided to be a rare exception in this harmonious choir and introduce a certain dissonance into it. First of all we would like to ask all loyal WordPress fans to pardon us and not take our words as a direct insult or something of the kind. Let’s set it straight: we have nothing against the CMS, moreover, we use it ourselves for producing our templates. Consider this: is there any need to enumerate all cool features of the largest self-hosted blogging tool in the world exploited by millions of sites and seen by tens of millions of people every day? Just imagine this one more useless and boring post repeating the truism web development community already knows well enough.
Don’t you think that it would be better to read something you probably don’t know? What about the main disadvantages of using WordPress? Are there any that really bug the developers?
- The most serious disadvantage of WP, from our and other web developers’ viewpoint, is that you are exposed to security vulnerabilities. Due to the fact that you are using one of the most popular software platforms in the world, your site gets hit every time when the world gets hit. That means you need to be on top of security.
- Out of the box, WP is not configured in the most optimal way. For instance: permalinks are numeric until you activate SEO friendliness. The concept “Screen Options” is not something most people hear of every day. However, that’s where a lot of really useful stuff is configured. We can give you a vivid example of a useful feature hidden in the “Screen Options”. How will you turn on comments for a specific page after you killed them site-wide so you can setup anti-spam plugins without being exposed to an avalanche of spam immediately? It’s fairly obvious where to kill the comments site-wide – in the “Discussion Settings”. But what is not obvious is how to activate these comments for the specific content you want to be enabled. The truth is that the system is so huge that there is too much to learn to dig into the things that should be obvious.
- Notice that slug (part of the permalink after the domain name) most of WordPress users are even not aware of. It is something that is very useful to be able to modify. Lots of newbies are puzzled over activating this feature.
- Now about “Discussion and Comments”. Did you know that they are not the same? Discussion lets you control whether comments are active for that unit of content (page, post, or something else that extends WordPress). The “Comments” option will be visible from the screen that lists multiple posts or pages, but it won’t exist in the individual post’s “Screen Options”.
- The WordPress multisite configuration process (known as WordPress Network) is deeply technical. But there is a useful idea to involve a staging server and a production environment that relies on this feature. We are talking about DeployMint now.
- Some users have arrived at the conclusion that the platform is not as intuitive as it could be. Once you go beyond the basics, the steepness of the learning curve becomes completely surprising. Also, the way plugins and themes modify the platform makes it a challenge to configure them.
- Key tasks like creating custom post types and taxonomies can involve writing a lot of complicated technical code, where other CMS software has a far friendlier graphical interface to achieve the same thing.
- WordPress tutorials are often inconsistent and inadequate. Actually you’re learning from the enthusiasts who may or may not have a solid grasp of what they’re teaching. Sometimes it takes you a long time to debug your website after such classes even if you use only the reputed resources. There is always a possibility that the tutor can forget one small step, which will lead all your efforts to naught.
- The documentation is incomplete and inconsistent. If you use the CMS, you surely came across pages about specific functions on the WordPress codex that simply contained a notice inviting people to document the function. There are also totally undocumented functions and features. They even don’t have a blank page in the codex. To get to the truth you would have to spend a long time reviewing the source code to know that these features exist at all. In other places, you’re told a particular function returns an object, but no clue is given as to what form the object will take, or where to find that information.
- WordPress developers provide no support; it is being rendered via the enthusiastic community only. The result is multiple support forum threads that are left unresolved, or answered in a way that makes things a lot more difficult than they need to be (for example: using complex MySQL queries to solve a problem when a perfectly simple built in function would help to achieve the same result).
- Most plugins appear to be aimed at amateur bloggers and not the professional developers. They generally give no choice regarding the HTML output and how to integrate it within your template. Yes, the plugins are mostly free. But you can waste a lot of time sifting through them to find the one that’s suitable. And you often come across the plugins that haven’t been updated for years and have no support. In short, they’re great when they work, but a wrong step can break your entire site, ruin your SEO, cause browser incompatibilities, and so on. Don’t permit plug-ins to be installed automatically!
- The data model for post & user meta can have scalability issues in gigantic datasets. There are workarounds for this (hyperdb can be named among others). But it’s becoming more of an issue with situations like e-commerce plugins that use custom post types: e.g. WooCommerce with lots of products and lots of metadata can make for some massive join operations.
- WP genesis as a blogging engine still stays everywhere in the codebase (though many function references are being converted to “site” as the codebase is refactored).
- WP is incredibly backwards compatible, but it can’t be always considered a good feature because it is. That means that WP is not using modern PHP techniques in many places (i.e. global variables and functions, reliance on hacks for magic quotes, no lazy loading of classes, etc.) and function naming can be very inconsistent and confusing at times. But it runs just about everywhere and the API makes sense after a short learning curve.
- It can only use MySQL as a database backend that can be easily hacked without proper protection. Until the 3.9 version release, WP was using the older MySQL driver, now it uses MySQLi. AJAX calls fire up an entire WP environment to serve requests, which can be over-killed due to simple database access.
- Automatic upgrades – sounds not bad, yea? Nevertheless, this fancy feature is more of a curse than a blessing. It is recommended to remove the ability of updating themes and plugins from your production environment. Otherwise you will constantly troubleshoot problems an automatic upgrade caused.
- As to WP performance. The CMS needs a surprising amount of CPU power to run and consumes a lot of memory. To perform well you need to use a caching plug-in, and it’s still a hog. WordPress demands a lot of resources from server end. If your site uses a lot of plugins and a premium theme, then you might need a managed WordPress hosting. Getting a half decent WordPress host may be a solution. WPEngine or SiteGround are fine and in-expensive.
- Do you have some experience of WP customization? To tell you the truth, out-of-the box, WordPress kind of sucks. It doesn’t do SEO well; you need several plug-ins for that. The URLs aren’t humanly readable, you need to customize them (but not too much, lest you go down the mod_rewrite rabbit hole). It’s not laid out the way you want; you need a quality theme for that. Widgets are global, but maybe you only want them on certain pages or sections of your site. The process of customization takes a lot of time. You can spend months tweaking/customizing your themes, templates, plug-ins, and widgets to get them just right. The community is a wonderful place, but it won’t help you with customization too much. Only a few guys there actually know what they’re doing. Most of the customizations other people post are crap; they end up making performance even worse, executing too many queries, conflicting with other customizations, causing version conflicts, bloating your HTML/CSS/JS code, etc. Even if you find a great plugin but it doesn’t quite do what you want its update may turn into nightmare. Let us explain why. Supposing you have updated it yourself. Then there appears an update to that plug-in and now you have to update the update! The difference becomes huge and takes the whole day instead of a couple of minutes.
- WordPress is written in PHP. Some developers are discontented with this fact because if you are going to do some major functionality changes you will have to learn PHP and try tweaking it.
- Bloated code is also a problem. The WYSIWYG editor produces bad HTML, most themes and plug-ins are bloated. You need to install HTML/CSS/JS minifiers. But don’t get the wrong ones or they’ll kill your CPU by modifying every request.
- There is an opinion that more strength should be added to WordPress’ pages service. It’s not as elegant if you wish to be more granular about “the right content at the right time. WordPress roots are in serving pages and not the content per se.
- We guess you know that the core product is not the WP.org version. The core product is the WP.com version. That is, the road map typically follows a path that is to do what is best for .com, with .org having to be happy about any crumb that might fall off the table. They track closely, but numerous web community members are ready to bet that the .org version of the product would by now be significantly different if there was no .com version.
- Many are inclined to believe the biggest drawback of WordPress to be not the CMS itself but how WP is confused or misinterpreted by non-programmers as something anyone can simply jump into immediately and supposedly master within hours. Please note that WordPress the freebie site, WordPress the CMS, WordCamp, and so forth are not the same things and you’ll have less issues with the CMS.
- If you aren’t all that tech-savvy then you are going to have a little bit of trouble getting started with WordPress. Sure, the simple side of the site is, well, simple. But if you want to create something intense for your blog or website, then you will need to hire someone with the knowledge to help you build up your site. In other words, if coding is not one of your strong points and you are on a budget then WordPress might not be the best pathway to follow.
- If you are going to run a big e-commerce project, WP might seem not the comfiest solution. It’s not as good in handling large inventories compared to say Magento. This is inherently due to the limitations in how content is stored within WordPress. Please, don’t get us wrong. We are not saying that it’s impossible to build a large Amazon like store using WordPress. Anything is possible. But it would be very hard to maintain it.
- If you want to monetize your blog, there is an odd difference between WordPress.com and WordPress › Blog Tool, Publishing Platform, and CMS (or WordPress .org) that you should know about. Go with the latter for plug-ins and/or monetization. But some syndicated networks like BlogHer don’t use WordPress.
- We consider a greater amount of CPU usage an imperfection. Ask a blogger/webmaster who is hosting WordPress on a shared server how difficult at times it becomes to reduce the CPU usage.
- A great pain is trying to make WP work with Angular.js or similar for building web apps.
- Tempting offers of free themes, usually contain hidden codes, links etc. Think about purchasing a WP theme for your future website to avoid such handicaps./li>Here is an example of a nice current WordPress theme having good feedback from users who have already tried it out.
- Paid themes and plugins usually become way too expensive, and with regular updates rolling out, managing a website can become a hassle.
- WordPress is highly customizable, that sounds great but can be challenging for beginners to properly optimize their websites.
- Using WP means fighting with the defaults. WordPress has a strong legacy as all plain and simple blogging platforms. That means you can install it and have a functioning blog up and running in minutes. It also means upgrading WordPress is fairly low-risk, since it constantly builds on the past. Alas, this legacy also means you have lots of defaults like posts, categories, tags, pages, comments. If you want to change this default behavior, you have to work around it and change it. WordPress isn’t a blank canvas; it suggests a certain kind of site.
- User-generated content. WordPress assumes that registered users are editors or site owners. The login and profile pages are, by default, styled as admin-pages. It is a rather complex affair to allow users to create any type of content other than a comment from a template (non-admin) page. Building a highly community-driven site like YouTube or Facebook on the WordPress platform would be a challenge.
- Facet search. It’s gotten better, but facet search is still hard to do on a WordPress site. Creating pages that allow users to combine different taxonomy terms, meta fields, search terms, etc. is rather difficult. This makes building a shopping site or a classifieds site difficult in WordPress.
- In general, WordPress is an excellent choice for sites that are very top-down content driven. Blogs, obviously, but also magazines or news websites, portfolio sites, event sites, etc. Extremely user-friendly admin dashboard out-of-the-box is a big plus for those kinds of sites. But for sites that revolve around user-generated content or require complex searches through big catalogs of products, WordPress can be frustrating to work with. If you rely more on plugins to get your required functionality than on WordPress itself, you should probably consider some other platforms.
- Updates to the software are required in order to keep the platform up to date with the current browsers and mobile devices and ahead of malware and virus attacks. However, sometimes the plugins aren’t as quick to adapt to the WordPress updates.
- When you make updates to your site yourself, it doesn’t always flow the way you expected it to when looking in the actual browser. This makes a non-technical person frustrated.
- Graphics modification requires knowledge of CSS and HTML.
- SQL queries are complex.
- “Page and Posts Search Options” inside the admin panel are immature.
- When you click edit, it will take you to the edit page. After editing if you want to go to some other page, you have to click pages again, then search and edit. Don’t you think that it’s an extra hassle?
- It’s a hassle to update plugins, the base software and themes all the time.
- Sometimes WordPress can be too bulky.
Summarizing all the above points we would like to calm down all WordPress fans that went berserk reading our rather long cons list. Actually, we might have enclosed all really crucial disadvantages into 3 or 4 points. Though, all the specified items reflect the web community members’ opinions, so we couldn’t just ignore them.
Now let’s balance up this good portion of criticisms by saying that WordPress has a lot going for it, and is the first choice for many of the projects we see and admire on the web.
We understand that there will be developers who disagree with many of the above points. De bene esse we will repeat once again that everything listed herein above represents personal standpoints and experience of people who faced the downsides of developing websites using WordPress and shared them with the community. Thus, the benefits of WP surely outweigh all of these drawbacks.
WP provides more freedom than hand coding. Coding into WordPress makes long term maintenance and extending much easier. And yes, the author of this post also loves WP and will continue to do so, because its advantages are too manifold to be listed down here. With the kind of positive features the CMS obtains, any sort of disadvantage is scanty. But we still believe that our article, based on real people’s experience, will turn out to be helpful even for WP enthusiasts who don’t see any drawbacks of the platform at all and will continue to enjoy their attractive and functional websites skillfully avoiding all disappointing incidents.