news

Why WordPress is (not?) the right thing

WordPress, as the most popular tool for creating websites, has many advantages, but also disadvantages. In this article, we will look at some of which I have encountered while working with WordPress.

Among the various content management systems (CMS) for websites, WordPress is clearly the most popular. With a share of 43% of websites on the Internet is clearly at the lead. However, thir approach purely through one number, can be simplistic.
Let’s look at some of its advantages and disadvantages:

The huge advantage of WordPress is its low price and ease of installation. Everything needed is server space with an associated domain, which can be purchased for a few € per month.

Then all you have to do is upload the installation file from wordpress.org (many hosting providers offer automated installation) and click through the installation process, which requires no more than choosing from the offered options.

The basic installation of WordPress already includes several themes and a selection of plugins with expanding functionalities, more can be added directly with use of visual enviroment.

These are also the reasons why the share of WordPress on the Internet carries relatively little information – there are so many WordPress sites because building a site in this environment costs next to nothing and almost anyone can do it.

The WordPress is founded on community that constantly works on even more beautiful themes and more functional plugins. However, someone has to feed it. Various CMSs approach resource acquisition in different ways. Some collect fees from users and use these to finance development. Others go the route of everything being free and live off sponsorship.

WordPress has taken a middle path, where developers are on the one hand paid from the sale of premium content, but also many features are available for free. This is fondation for great strength, and weakness, of WordPress. The development of commercial plugins and themes brings funds into the environment which can be used to develop features. However, it also creates a highly competitive environment that often harms the quality of the sold products.

The fundamental problem with this market approach lies in this: when you search for products on aggregated marketplaces, you often meet with less honest sellers who are interested in biggest sales with minimal effort. Unfortunately, reviews are often unreliable, as administrators tend to remove negative reviews and may even threaten critics with blocking all your purchased content regardless who you boght from – without any compensation, of course.

Another downside of this “commercialization” of WordPress are overgrown themes. In order to more sales, many of them blur the distinction between a theme and a plugin. That in itself may not be fully bad – it is convenient to download one file with the theme and get all the necessary plugins with it. However, if you are looking for a simple theme with a few minimalist requirements, it may be difficult to find one. Often, a theme will contain a ton of features that you do not need but will slow down the site.

At the same time, it makes the choice more difficult because in the interest of more sales, even useful plugins tend to have a lot of features packed in that they are not very good at but the author added them to make the product more desirable. Consequently, it is not easy to choose the best product for a specific task because instead of one or two plugins targeted at a specific problem, developed with concentrated effort, we have dozens of plugins, many of which have the desired functionality only as an afterthough to increase sales.

A serious manifestation of the intertwining of plugins and themes is the so-called “theme-lock”. This is a situation when you buy a commercial theme that already contains plugins. When later arises need to update them, because not all themes automatically contain the latest versions of plugins, or replace them with another (free) one, you often find that this is not possible. The author of the theme intentionally locked it so that it cannot be used without a license.

Then there is nothing left but to a) wait until the author of the theme releases an update containing desired versions, b) live without desired feature or c) look for another theme – which itself can be rabbit hole leading to the collapse of website and the necessity for a comprehensive rebuild in a new theme.

WordPress is still haunted by it’s foundation as blogging platform. Basic installation offers only two types of content (‘post types’ in WP-speak) – post or page.

If you need to add structured data to the content in form of new fields, or post types with custom field settings, you need to use extending plugins. However, those are not supported by all themes and many plugins (especially those related to sorting and filtering in lists) are working only with two default post types.

A major complication arising from these beginnings of WordPress is the confusion over the use of the term ‘post’, which can refer either to a type of content or a specific piece of content regardless of its type. This is not clearly resolved, and authors use ‘post’ at their own discretion, disregarding any ensuing confusion.

In addition, the humble beginnings of WordPress are reflected in the structure of URL addresses. WordPress uses so-called ‘slugs’ to identify content. This is the last part of the URL address, which must be unique across the entire website. For example, if you have on the website an article called ‘Hello World’, its URL would be …/news/hello-world. Then you can no longer use URL …/gallery/hello-world for a photo gallery. WordPress will interpret this duplicitous slug as conflict.

Translations can also be problematic. Basic WordPress does not support multilingual content well, and translation possibilities depend purely on the goodwill of the author of a particular theme/plugin.

Even if the theme supports translations, you will probably need several translation plugins, as only a few of them support both structure and content translations.

One option is to override the source text, but depending on the code structure, this may only be possible by “hacking” the plugin/theme source code – such translation will be removed by the next update

Sorting content by post date is not easy either, as WordPress does not store information about when the page was created – only the date of the last update or publication (depending if it’s draf or published post).

Many problems with the data structure in WordPress can be circumvented by plugins that allow you to build a page from elements in the visual enviroment, without the need to create your own structure, like fields or post types.

However, it is important to note that such settings are applied only to a specific page and changes must be manually applied at all desired places.

This is a quite simplified overview of the pros and cons. The mentioned negatives are not insurmountable and an experienced developer can deal with some of them. However, doesn’t this negate the basic advantage of WordPress – cheap and quick website for everyone?

Recent posts