WordPress – Free and Priceless at the Same Time

WordPress is web software you can use to create a beautiful website, blog, or app. We like to say that WordPress is both free and priceless at the same time.

The core software is built by hundreds of community volunteers, and when you’re ready for more there are thousands of plugins and themes available to transform your site into almost anything you can imagine.

WordPress is a free and open-source content management system (CMS) based on PHP and MySQL. WordPress is installed on a web server, which either is part of an Internet hosting service or is a network host itself; the first case may be on a service like WordPress.com, for example, and the second case is a computer running the software package WordPress.org. An example of the second case is a local computer configured to act as its own web server hosting WordPress for single-user testing or learning purposes. Features include a plugin architecture and a template system. WordPress was used by more than 26.4% of the top 10 million websites as of April 2016. WordPress is the most popular blogging system in use on the Web, at more than 60 million websites.

It was released on May 27, 2003, by its founders, Matt Mullenweg and Mike Little, as a fork of b2/cafelog. The license under which WordPress software is released is the GPLv2 (or later) from the Free Software Foundation.

Overview

WordPress has a web template system using a template processor. Its architecture is a front controller, routing all requests for non-static URIs to a single PHP file which parses the URI and identifies the target page. This allows support for more human-readable permalinks. Once downloaded, WordPress installation files have a size of about 20 MB.

Themes

WordPress users may install and switch between themes. Themes allow users to change the look and functionality of a WordPress website and they can be installed without altering the content or health of the site. Every WordPress website requires at least one theme to be present and every theme should be designed using WordPress standards with structured PHP, valid HTML and Cascading Style Sheets (CSS). Themes may be directly installed using the WordPress “Appearance” administration tool in the dashboard or theme folders may be uploaded via FTP. The PHP, HTML (HyperText Markup Language) and CSS code found in themes can be added to or edited for providing advanced features. WordPress themes are in general classified into two categories, free themes and premium themes. All the free themes are listed in the WordPress theme directory and premium themes should be purchased from marketplaces and individual WordPress developers. WordPress users may also create and develop their own custom themes if they have the knowledge and skill to do so. If WordPress users do not have themes development knowledge then they may download and use free WordPress themes from wordpress.org.

Plugins

WordPress’s plugin architecture allows users to extend the features and functionality of a website or blog. WordPress has over 40,501 plugins available, each of which offers custom functions and features enabling users to tailor their sites to their specific needs. These customizations range from search engine optimization, to client portals used to display private information to logged in users, to content management systems, to content displaying features, such as the addition of widgets and navigation bars. But not all available plugins are always abreast with the upgrades and as a result they may not function properly or may not function at all.

Mobiles

Native applications exist for WebOS, Android, iOS (iPhone, iPod Touch, iPad), Windows Phone, and BlackBerry. These applications, designed by Automattic, allow a limited set of options, which include adding new blog posts and pages, commenting, moderating comments, replying to comments in addition to the ability to view the stats.

Other features

WordPress also features integrated link management; a search engine–friendly, clean permalink structure; the ability to assign multiple categories to articles; and support for tagging of posts and articles. Automatic filters are also included, providing standardized formatting and styling of text in articles (for example, converting regular quotes to smart quotes). WordPress also supports the Trackback and Pingback standards for displaying links to other sites that have themselves linked to a post or an article. WordPress blog posts can be edited in HTML, using the visual editor, or using one of a number of plugins that allow for a variety of customized editing features.

Multi-user and multi-blogging

Prior to version 3, WordPress supported one blog per installation, although multiple concurrent copies may be run from different directories if configured to use separate database tables. WordPress Multisites (previously referred to as WordPress Multi-User, WordPress MU, or WPMU) was a fork of WordPress created to allow multiple blogs to exist within one installation but is able to be administered by a centralized maintainer. WordPress MU makes it possible for those with websites to host their own blogging communities, as well as control and moderate all the blogs from a single dashboard. WordPress MS adds eight new data tables for each blog.

As of the release of WordPress 3, WordPress MU has merged with WordPress.
Migration/wp-config.php

WordPress makes migration from one server to another relatively simple due to its use of a configuration file (wp-config.php, usually located in the root directory). This file controls the base settings for a WordPress website including (but not limited to) the database connection settings. Due to the use of a configuration file, migrating from one server to another can be accomplished by the following basic steps:

  • Download a copy of the WordPress files/folders (e.g. via FTP).
  • Download a copy of the associated database (view the ‘DB_NAME’ row in the wp-config.php for the associated database to back up).
  • Upload the files/folders to the new server.
  • Create a new database on the new server and import the sql backup.
  • Update the wp-config.php database fields to reflect.

History

Matt Mullenweg and Mike Little
Matt Mullenweg and Mike Little

b2/cafelog, more commonly known as b2 or cafelog, was the precursor to WordPress. b2/cafelog was estimated to have been installed on approximately 2,000 blogs as of May 2003. It was written in PHP for use with MySQL by Michel Valdrighi, who is now a contributing developer to WordPress. Although WordPress is the official successor, another project, b2evolution, is also in active development.

WordPress first appeared in 2003 as a joint effort between Matt Mullenweg and Mike Little to create a fork of b2. Christine Selleck Tremoulet, a friend of Mullenweg, suggested the name WordPress.

In 2004 the licensing terms for the competing Movable Type package were changed by Six Apart, resulting in many of its most influential users migrating to WordPress. By October 2009 the Open Source CMS MarketShare Report concluded that WordPress enjoyed the greatest brand strength of any open-source content management system.

As of January 2015, more than 23.3% of the top 10 million websites now use WordPress.

As of February 2016, WordPress is used by 59.1% of all the websites whose content management system we know. This is 25.8% of all websites.

Release history

Main releases of WordPress are codenamed after well-known jazz musicians, starting after version 1.0.

VersionCode nameRelease dateNotes
Old version, no longer supported: 0.7noneMay 27, 2003Used the same file structure as its predecessor, b2/cafelog, and continued the numbering from its last release, 0.6. Only 0.71-gold is available for download in the official WordPress Release Archive page.
Old version, no longer supported: 1.0DavisJanuary 3, 2004Added search engine friendly permalinks, multiple categories, dead simple installation and upgrade, comment moderation, XFN support, Atom support.
Old version, no longer supported: 1.2MingusMay 22, 2004Added support of Plugins; which same identification headers are used unchanged in WordPress releases as of 2011.
Old version, no longer supported: 1.5StrayhornFebruary 17, 2005Added a range of vital features, such as ability to manage static pages and a template/Theme system. It was also equipped with a new default template (code named Kubrick). designed by Michael Heilemann.
Old version, no longer supported: 2.0DukeDecember 31, 2005Added rich editing, better administration tools, image uploading, faster posting, improved import system, fully overhauled the back end, and various improvements to Plugin developers.
Old version, no longer supported: 2.1EllaJanuary 22, 2007Corrected security issues, redesigned interface, enhanced editing tools (including integrated spell check and auto save), and improved content management options.
Old version, no longer supported: 2.2GetzMay 16, 2007Added widget support for templates, updated Atom feed support, and speed optimizations.
Old version, no longer supported: 2.3DexterSeptember 24, 2007Added native tagging support, new taxonomy system for categories, and easy notification of updates, fully supports Atom 1.0, with the publishing protocol, and some much needed security fixes.
Old version, no longer supported: 2.5BreckerMarch 29, 2008Major revamp to the dashboard, dashboard widgets, multi-file upload, extended search, improved editor, improved plugin system and more.
Old version, no longer supported: 2.6TynerJuly 15, 2008Added new features that made WordPress a more powerful CMS: it can now track changes to every post and page and allow easy posting from anywhere on the web.
Old version, no longer supported: 2.7ColtraneDecember 11, 2008Administration interface redesigned fully, added automatic upgrades and installing plugins, from within the administration interface.
Old version, no longer supported: 2.8BakerJune 10, 2009Added improvements in speed, automatic installing of themes from within administration interface, introduces the CodePress editor for syntax highlighting and a redesigned widget interface.
Old version, no longer supported: 2.9CarmenDecember 19, 2009Added global undo, built-in image editor, batch plugin updating, and many less visible tweaks.
Old version, no longer supported: 3.0TheloniousJune 17, 2010Added a new theme APIs, merge WordPress and WordPress MU, creating the new multi-site functionality, new default theme “Twenty Ten” and a refreshed, lighter admin UI.
Old version, no longer supported: 3.1ReinhardtFebruary 23, 2011Added the Admin Bar, which is displayed on all blog pages when an admin is logged in, and Post Format, best explained as a Tumblr like micro-blogging feature. It provides easy access to many critical functions, such as comments and updates. Includes internal linking abilities, a newly streamlined writing interface, and many other changes.
Old version, no longer supported: 3.2GershwinJuly 4, 2011Focused on making WordPress faster and lighter. Released only four months after version 3.1, reflecting the growing speed of development in the WordPress community.
Old version, no longer supported: 3.3SonnyDecember 12, 2011Focused on making WordPress friendlier for beginners and tablet computer users.
Old version, no longer supported: 3.4GreenJune 13, 2012Focused on improvements to theme customization, Twitter integration and several minor changes.
Old version, no longer supported: 3.5ElvinDecember 11, 2012Support for the Retina Display, color picker, new default theme “Twenty Twelve”, improved image workflow.
Old version, no longer supported: 3.6OscarAugust 1, 2013New default theme “Twenty Thirteen”, admin enhancements, post formats UI update, menus UI improvements, new revision system, autosave and post locking.
Older version, yet still supported: 3.7BasieOctober 24, 2013Automatically apply maintenance and security updates in the background, stronger password recommendations, support for automatically installing the right language files and keeping them up to date.
Older version, yet still supported: 3.8ParkerDecember 12, 2013Improved admin interface, responsive design for mobile devices, new typography using Open Sans, admin color schemes, redesigned theme management interface, simplified main dashboard, “Twenty Fourteen” magazine style default theme, second release using “Plugin-first development process”.
Older version, yet still supported: 3.9SmithApril 16, 2014Improvements to editor for media, live widget and header previews, new theme browser.
Older version, yet still supported: 4.0BennySeptember 4, 2014Improved media management, embeds, writing interface, easy language change, theme customizer, plugin discovery and compatibility with PHP 5.5 and MySQL 5.6.
Older version, yet still supported: 4.1DinahDecember 18, 2014Twenty Fifteen as the new default theme, distraction-free writing, easy language switch, Vine embeds and plugin recommendations.
Older version, yet still supported: 4.2PowellApril 23, 2015New “Press This” features, improved characters support, emoji support, improved customizer, new embeds and updated plugin system.
Older version, yet still supported: 4.3BillieAugust 18, 2015Focus on mobile experience, better passwords and improved customizer.
Older version, yet still supported: 4.4CliffordDecember 8, 2015Introduction of “Twenty Sixteen” theme, and improved responsive images and embeds.
Older version, yet still supported: 4.5ColemanApril 12, 2016Added inline linking, formatting shortcuts, live responsive previews, and other updates under the hood.
Older version, yet still supported: 4.6PepperAugust 16, 2016Added streamlined updates, native fonts, editor improvements with inline link checker and content recovery, and other updates under the hood.
Current stable version: 4.7VaughanDecember 6, 2016Comes with new default theme “Twenty Seventeen”, Video Header Support, PDF preview, custom CSS in live preview, editor Improvements, and other updates under the hood.

Future

Matt Mullenweg has stated that the future of WordPress is in social, mobile, and as an application platform.

Vulnerabilities

Many security issues have been uncovered in the software, particularly in 2007, 2008, and 2015. According to Secunia, WordPress in April 2009 had 7 unpatched security advisories (out of 32 total), with a maximum rating of “Less Critical”. Secunia maintains an up-to-date list of WordPress vulnerabilities.

Automattic Publishes a White Paper on WordPress Security
Automattic Publishes a White Paper on WordPress Security

In January 2007, many high profile search engine optimization (SEO) blogs, as well as many low-profile commercial blogs featuring AdSense, were targeted and attacked with a WordPress exploit. A separate vulnerability on one of the project site’s web servers allowed an attacker to introduce exploitable code in the form of a back door to some downloads of WordPress 2.1.1. The 2.1.2 release addressed this issue; an advisory released at the time advised all users to upgrade immediately.

In May 2007, a study revealed that 98% of WordPress blogs being run were exploitable because they were running outdated and unsupported versions of the software. In part to mitigate this problem, WordPress made updating the software a much easier, “one click” automated process in version 2.7 (released in December 2008). However, the filesystem security settings required to enable the update process can be an additional risk.

In a June 2007 interview, Stefan Esser, the founder of the PHP Security Response Team, spoke critically of WordPress’s security track record, citing problems with the application’s architecture that made it unnecessarily difficult to write code that is secure from SQL injection vulnerabilities, as well as some other problems.

In June 2013, it was found that some of the 50 most downloaded WordPress plugins were vulnerable to common Web attacks such as SQL injection and XSS. A separate inspection of the top-10 e-commerce plugins showed that 7 of them were vulnerable.

In an effort to promote better security, and to streamline the update experience overall, automatic background updates were introduced in WordPress 3.7.

Individual installations of WordPress can be protected with security plugins that prevent user enumeration, hide resources and thwart probes. Users can also protect their WordPress installations by taking steps such as keeping all WordPress installation, themes, and plugins updated, using only trusted themes and plugins, editing the site’s .htaccess file to prevent many types of SQL injection attacks and block unauthorized access to sensitive files. It is especially important to keep WordPress plugins updated because would-be hackers can easily list all the plugins a site uses, and then run scans searching for any vulnerabilities against those plugins. If vulnerabilities are found, they may be exploited to allow hackers to upload their own files (such as a PHP Shell script) that collect sensitive information.

Developers can also use tools to analyze potential vulnerabilities, including WPScan, WordPress Auditor and WordPress Sploit Framework developed by 0pc0deFR. These types of tools research known vulnerabilities, such as a CSRF, LFI, RFI, XSS, SQL injection and user enumeration. However, not all vulnerabilities can be detected by tools, so it is advisable to check the code of plugins, themes and other add-ins from other developers.

In March 2015, it was reported by many security experts and SEOs including Search Engine Land that a SEO plugin for WordPress called WordPress SEO by Yoast which is used by more than 14 million users worldwide has a vulnerability which can lead to an exploit where hackers can do a Blind SQL injection.

To fix that issue they immediately introduced a newer version 1.7.4 of the same plugin to avoid any disturbance on web because of the security lapse that the plugin had.

WordPress’s minimum PHP version requirement is PHP 5.2, which was released on January 6, 2006, 10 years ago, and which has been unsupported by the PHP Group and not received any security patches since January 6, 2011, 5 years ago.

Development and support

Key developers

Matt Mullenweg and Mike Little were cofounders of the project. The core lead developers include Helen Hou-Sandí, Dion Hulse, Mark Jaquith, Matt Mullenweg, Andrew Ozz, and Andrew Nacin.

WordPress is also developed by its community, including WP testers, a group of volunteers who test each release. They have early access to nightly builds, beta versions and release candidates. Errors are documented in a special mailing list, or the project’s Trac tool.

Though largely developed by the community surrounding it, WordPress is closely associated with Automattic, the company founded by Matt Mullenweg. On September 9, 2010, Automattic handed the WordPress trademark to the newly created WordPress Foundation, which is an umbrella organization supporting WordPress.org (including the software and archives for plugins and themes), bbPress and BuddyPress.

WordCamp developer and user conferences

WordCamp SF 2009, Photo by John Biehler
WordCamp SF 2009,
Photo by John Biehler

WordCamps are casual, locally organized conferences covering everything related to WordPress. The first such event was WordCamp 2006 in August 2006 in San Francisco, which lasted one day and had over 500 attendees. The first WordCamp outside San Francisco was held in Beijing in September 2007. Since then, there have been over 507 WordCamps in over 207 cities in 48 different countries around the world. WordCamp San Francisco 2014 was the last official annual conference of WordPress developers and users taking place in San Francisco, having now been replaced with WordCamp US.

Support

WordPress’s primary support website is WordPress.org. This support website hosts both WordPress Codex, the online manual for WordPress and a living repository for WordPress information and documentation, and WordPress Forums, an active online community of WordPress users.