If you are not familiar with WordPress and somehow have found this website and it has interested you, here is a very brief introduction to WordPress. I will try to explain what WordPress is and what you can do with it.
Static and Dynamic Websites
Technically, all websites fall into two broad categories, as far as their setup is concerned: static websites and dynamically generated websites.
Static websites were very common when the Internet was young. A static website is simply a collection of interlinked HTML files uploaded to a server. These HTML files can be created with a WYSIWYG editor (e.g. Adobe Dreamweaver) or written by hand in a text editor (e.g. Notepad ++). Optionally, there would also be one or more CSS files defining the look of the website and some multimedia files. As the Internet matures, the number of static websites is shrinking. Maintaining and growing very large static websites can be difficult.
A dynamically generated website uses software installed on the server to generate the pages. This software is usually called a content management system, or simply a CMS. There are lots of various content management systems. Some of them are free and open-source, others are proprietary and cost money.
In a CMS, the content is saved to a database. HTML files, known from static websites, don’t exist until they are generated by the server according to the rules and templates specified by the CMS. The main advantage of a CMS is that large amounts of content can be easily re-arranged, should there be a need to do so, without having to edit each HTML file, as in the case of static websites. Many content management systems offer also very advanced functionality, either natively, or through extensions, known also as plugins or modules.
WordPress is currently the most popular content management system, powering more or less one third of all websites in the world. Other popular content management systems include Drupal and Joomla. In German-speaking countries, also TYPO3 is popular. However, the market share of these other content management systems is relatively small, when compared to WordPress. The popularity of WordPress has skyrocketed in the past few years and its market share is constantly growing.
The Two Versions of WordPress
WordPress comes in two versions: WordPress.com and WordPress.org. WordPress.com is a freemium blog web hosting service run by Automattic – the company developing WordPress. You can create a WordPress blog there, it is hosted there and you don’t need to worry for example about updates. It has some advantages, especially for newbies, but it has some limitations, too.
I prefer a full control over my websites, so I chose WordPress.org. This is the place where you download WordPress core and free themes and plugins if you want to host your website on your own server. Many hosting companies (probably most of them nowadays) offer a simple installation of WordPress through their web interface, so you don’t need to download the WordPress software or set up the database manually. It is really simple these days.
While WordPress itself is open-source software and free to use (and even to modify – if you comply with the licence), the WordPress name is trademarked and cannot appear in company / website / product names. Entities offering WordPress-related services or products usually choose one of the two ways to replace it: the abbreviation “WP”, or the word “press”. In this blog, the second convention is used.
Why is WordPress So Popular?
Why is WordPress so much more popular than other open-source content management systems? Many people will say that is the easiest one to learn and the most user-friendly.
I can compare my WordPress experience to my Drupal years. Personally, I did not find Drupal to be difficult to learn or user-unfriendly, except one area: updating. Updating Drupal was a real pain in the neck. And it’s not only about the actual process of installing updates, which was and perhaps still much more complicated and time-consuming than updating WordPress.
What’s more important is that with each major new version of Drupal the developers try to reinvent this CMS. The purpose of this is getting rid of things which the developers consider no longer needed and making the CMS leaner. This might seem to be a great idea at first. However, when the things that you have build before break because it will get very painful, if you don’t have the resources to keep up with Drupal.
Installing WordPress updates is a breeze, most of the time. The process is quick and simple. Also, WordPress has a high degree of backward compatibility, so things built in the past will usually work in the next version, perhaps with minor exceptions. Because of the market share, the WordPress ecosystem of extensions is much more developed than it is the case with other content management systems. There are many great plugin developers who will make sure that their plugins are compatible with WordPress updates.
What Is Possible with WordPress and What Not?
So, what can you do with WordPress? The answer is short: quite a lot. As WordPress powers around one-third of the Internet, logically thinking, you should be able to achieve the same functionality as all these websites. Also, a very high percentage of the remaining websites has features which can easily be replicated in WordPress. If you cannot achieve certain functionality out-of-the-box, there is a plethora of great extensions for WordPress. You can build simple blogs, more complex blogs, multimedia portfolio websites, directory websites, community websites and forums, corporate websites, websites of small businesses and organizations, online stores etc.
What can you not achieve with WordPress? If you would like to launch a competitor to Youtube, Facebook, Spotify or Paypal, then doing it with WordPress is not a good idea. It will not work because it is not a tool for such jobs. The vast majority of website owners do not have such ambitions or plans, though, and for them WordPress will be flexible and advanced enough.
The main difference is that you don’t create traditional html documents in a content management system. You create the structure of the website and add content, the CMS saves everything to a database. When a visitor opens your website in a browser, the server pulls the required data from the database and generates an html page, according to the rules specified by the CMS. The resulting page can be displayed properly by the visitor’s browser. To speed up things many websites use caching solutions that make the server pre-load and store frequently visited pages, so that they don’t have to be generated when the visitor’s browser requests them.
Content Management Systems
Content management systems are fantastic tools if you have to develop and maintain a large, or even a medium size website. With a CMS, you can rearrange your content very easily, without the need to edit every single page. You can extend the functionality, by adding a plugin that does exactly the thing that you need. The disadvantage is that you have to pay more attention to security. Content management systems are very complex and from time to time vulnerabilities are discovered. Therefore, it is of utmost importance that you always keep your CMS and all plugins up-to-date. You should also use only secure, long passwords and never install any software from suspicious sources.
Most common content management systems require PHP (a scripting and programming language) and a database (most often MySQL). These two elements should be included in your webhosting plan and nowadays most plans do include them.
Setting up a content management system is not very complicated and in many cases can be finished in less than 30 minutes. Typically, once your domain is configured, you set up a database in the control panel of your hosting company. You download the CMS files from a repository and upload them to your web space. When you go to your domain in your browser, usually a configuration wizard is launched. You will have to provide the address and the name of your database, username and password. You will usually find the database address and name in the control panel of the webhosting company.
The configuration wizard will ask you to set up an administrator account, it is recommended to use a different username and password than for the database. You should never, ever use “admin” or “administrator” as username and the password must NOT be short and should contain small and capital letters, digits and special characters for example: ! $ # *. If you follow these two recommendations, it will be much more difficult for a potential intruder to guess your login credentials using brute force methods.
If you use a modern hosting provider, as for example, Cloudways (which I recommend), setting up popular content management systems like WordPress will be simplified and quicker. Cloudways has a graphical user interface for launching new websites, which are called “apps” there. You simply click on a button and a database is created automatically, WordPress files are uploaded automatically to your server and an admin user account is created also automatically.
When you use a CMS, most of the work is done in a browser of your choice. You log in as administrator or editor and then you can add articles or posts, change the layout or the look of your website. For the most popular content managements systems there are many extensions available. The extensions fall into two categories: themes, which change the website’s look and layout and plugins, also known as modules or widgets, which add additional functions. Some advanced themes also can add new functions. Themes and plugins can be free or paid. Some authors offer free and premium versions of the same plugin or theme. You should only download them from reputable sources and only the ones that are regularly updated. A plugin or theme that is not up-to-date is a security risk.
The Amazing Growth of the WordPress Ecosystem
WordPress was started by Matt Mullenweg and Mike Little as a relatively simple blogging platform in 2003. Since that time, it has evolved so much that it can now be considered a full-fledged content management system. I tested WordPress briefly in 2009 and found it quite simplistic and decided to go with Drupal. Since then, WordPress has come a long way. Although it lacks a graphical user interface for some advanced functions (e.g. creating custom content types and custom taxonomies)
It is estimated that more than 70 million websites are powered by WordPress worldwide. This great popularity has two consequences: one good and one bad.
The good thing about the popularity is the abundance of great themes and plugins for WordPress. There are many great free themes / plugins and many great paid ones. They help you to easily achieve the look that you want and to add new features or extend the functionality of your website. The fact that I could quickly build relatively complex websites without writing PHP code was the main reason why I switched from Drupal to WordPress. Yes, there are great modules for Drupal, but with over 45,000 plugins the WordPress ecosystem is much, much bigger. Whenever you want to add a certain feature to your WordPress site, it is very likely that there are already several plugins that can help you achieve exactly that.
The bad thing about the popularity of WordPress is that it attracts also the attention of the wrong people. Vulnerabilities are discovered from time to time in most content management systems. Because WordPress powers so many websites all over the world, nasty people are especially motivated to find any weak points in WordPress installations and exploit them.
It’s not that WordPress is unsafe, but because of its popularity there are simply more “sick people” in the business of trying to break into other people’s websites. Therefore, it is absolutely crucial to keep WordPress core, the theme and all plugins up-to-date at all times. Vulnerabilities are usually quickly patched after they are discovered. Installing a good security plugin is also a good idea and using only secure passwords is a must.
All in all, I think WordPress is a great CMS that allows me to build and maintain relatively complex, very fast and good-looking websites quite efficiently. If you would like me to help you with your WordPress project, please don’t hesitate to contact me. Please explain the kind of assistance that you need and let’s build something great together.