Developer(s) | WordPress Foundation |
---|---|
Initial release | May 27, 2003[1] |
Stable release | 5.9.3[2] ![]() |
Repository | |
Written in | PHP |
Operating system | Unix-like, Windows, Linux |
Type | Blog software, content management system, content management framework |
License | GPLv2+[3] |
Website | wordpress |
WordPress (WP, WordPress.org) is a free and open-source content management system (CMS) written in PHP[4] and paired with a MySQL or MariaDB database. Features include a plugin architecture and a template system, referred to within WordPress as Themes. WordPress was originally created as a blog-publishing system but has evolved to support other web content types including more traditional mailing lists and forums, media galleries, membership sites, learning management systems (LMS) and online stores. One of the most popular content management system solutions in use, WordPress is used by 42.8% of the top 10 million websites as of October 2021[update].[5][6]
WordPress was released on May 27, 2003, by its founders, American developer Matt Mullenweg[1] and English developer Mike Little,[7][8] as a fork of b2/cafelog. The software is released under the GPLv2 (or later) license.[9]
To function, WordPress has to be installed on a web server, either part of an Internet hosting service like WordPress.com or a computer running the software package WordPress.org in order to serve as a network host in its own right.[10] A local computer may be used for single-user testing and learning purposes.
WordPress Foundation owns WordPress, WordPress project and other related trademarks.[11]
"WordPress is a factory that makes webpages"[12] is a core analogy designed to clarify the functions of WordPress: it stores content and enables a user to create and publish webpages, requiring nothing beyond a domain and a hosting service.
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.[13]
WordPress users may install and switch among many different themes. Themes allow users to change the look and functionality of a WordPress website without altering the core code or site content. Every WordPress website requires at least one theme to be present. Themes may be directly installed using the WordPress "Appearance" administration tool in the dashboard, or theme folders may be copied directly into the themes directory.[14] WordPress themes are generally classified into two categories: free and premium. Many free themes are listed in the WordPress theme directory (also known as the repository), and premium themes are available for purchase from marketplaces and individual WordPress developers. WordPress users may also create and develop their own custom themes.[15]
WordPress' plugin architecture allows users to extend the features and functionality of a website or blog. As of December 2021[update], WordPress.org has 59,756 plugins available,[16] each of which offers custom functions and features enabling users to tailor their sites to their specific needs. However, this does not include the premium plugins that are available (approximately 1,500+), which may not be listed in the WordPress.org repository. These customizations range from search engine optimization (SEO), 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. 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. Most plugins are available through WordPress themselves, either via downloading them and installing the files manually via FTP or through the WordPress dashboard. However, many third parties offer plugins through their own websites, many of which are paid packages.
Web developers who wish to develop plugins need to learn WordPress' hook system which consists of over 2,000 hooks (as of Version 5.7 in 2021)[17] divided into two categories: action hooks and filter hooks.
Plugins also represent a development strategy that can transform WordPress into all sorts of software systems and applications, limited only by the imagination and creativity of the programmers. These are implemented using custom plugins to create non-website systems, such as headless WordPress applications and Software as a Service (SaaS) products.
Plugins also could be used by hackers targeting the site that use WordPress, as hackers could exploit bugs on WordPress plugins themselves instead of exploiting the bugs on WordPress itself.[18]
Phone apps for WordPress exist for WebOS,[19] Android,[20] iOS,[21][22] Windows Phone and BlackBerry.[23] These applications, designed by Automattic, have options such as adding new blog posts and pages, commenting, moderating comments, replying to comments in addition to the ability to view the stats.[21][22]
The WordPress Accessibility Team has worked to improve the accessibility for core WordPress as well as support a clear identification of accessible themes.[24] The WordPress Accessibility Team provides continuing educational support about web accessibility and inclusive design. The WordPress Accessibility Coding Standards state that "All new or updated code released in WordPress must conform with the Web Content Accessibility Guidelines 2.0 at level AA."[25]
WordPress also features integrated link management; a search engine–friendly, clean permalink structure; the ability to assign multiple categories to posts; and support for tagging of posts. Automatic filters are also included, providing standardized formatting and styling of text in posts (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 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.
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 MU adds eight new data tables for each blog.
As of the release of WordPress 3, WordPress MU has merged with WordPress.[26]
b2/cafelog, more commonly known as b2 or cafelog, was the precursor to WordPress.[27] b2/cafelog was estimated to have been installed on approximately 2,000 blogs as of May 2003.[28] 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.[29] Christine Selleck Tremoulet, a friend of Mullenweg, suggested the name WordPress.[30][31]
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.[32][33] 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 May 2021, WordPress is used by 64.8% of all the websites whose content management system is known. This is 41.4% of the top 10 million websites.[5]
Main releases of WordPress are codenamed after well-known jazz musicians, starting from version 1.0.[39][40]
Although only the current release is officially supported, security updates are backported "as a courtesy" to all versions as far back as 3.7.[41]
Legend: | Old version, not maintained | Older version, still maintained | Current stable version | Latest preview version | Future release |
---|
Version | Code name | Release date | Notes |
---|---|---|---|
0.7 | none | May 27, 2003[42] | Used the same file structure as its predecessor, b2/cafelog, and continued the numbering from its last release, 0.6.[43] Only 0.71-gold is available for download in the official WordPress Release Archive page. |
1.0 | Davis | January 3, 2004[44] | Added search engine friendly permalinks, multiple categories, dead-simple installation and upgrade, comment moderation, XFN support, Atom support. |
1.2 | Mingus | May 22, 2004[45] | Added support of Plugins; which same identification headers are used unchanged in WordPress releases as of 2011[update]. |
1.5 | Strayhorn | February 17, 2005[46] | Added a range of vital features, such as the ability to manage static pages and a template/Theme system. It was also equipped with a new default template (code named Kubrick).[47] designed by Michael Heilemann. |
2.0 | Duke | December 31, 2005[48] | Added rich editing, better administration tools, image uploading, faster posting, improved import system, fully overhauled the back end, and various improvements to Plugin developers. |
2.1 | Ella | January 22, 2007[49] | Corrected security issues, a redesigned interface, enhanced editing tools (including integrated spell check and auto save), and improved content management options. |
2.2 | Getz | May 16, 2007[50] | Added widget support for templates, updated Atom feed support, and speed optimizations. |
2.3 | Dexter | September 24, 2007[51] | Added 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. |
2.5 | Brecker | March 29, 2008[52] | Major revamp to the dashboard, dashboard widgets, multi-file upload, extended search, improved editor, an improved plugin system and more. |
2.6 | Tyner | July 15, 2008[53] | Added 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. |
2.7 | Coltrane | December 11, 2008[54] | Administration interface redesigned fully, added automatic upgrades and installing plugins, from within the administration interface. |
2.8 | Baker | June 10, 2009[55] | Added improvements in speed, automatic installing of themes from within administration interface, introduces the CodePress editor for syntax highlighting and a redesigned widget interface. |
2.9 | Carmen | December 19, 2009[56] | Added global undo, built-in image editor, batch plugin updating, and many less visible tweaks. |
3.0 | Thelonious | June 17, 2010[57] | Added a new theme APIs, merged WordPress and WordPress MU, creating the new multi-site functionality, new default theme "Twenty Ten" and a refreshed, lighter admin UI. |
3.1 | Reinhardt | February 23, 2011[58] | -Added 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. |
3.2 | Gershwin | July 4, 2011[59] | Focused on making WordPress faster and lighter. Released only four months after version 3.1, reflecting the growing speed of development in the WordPress community. |
3.3 | Sonny | December 12, 2011[60] | Focused on making WordPress friendlier for beginners and tablet computer users. |
3.4 | Green | June 13, 2012[61] | Focused on improvements to theme customization, Twitter integration and several minor changes. |
3.5 | Elvin | December 11, 2012[62] | Support for the Retina Display, color picker, new default theme "Twenty Twelve", improved image workflow. |
3.6 | Oscar | August 1, 2013[63] | New default theme "Twenty Thirteen", admin enhancements, post formats UI update, menus UI improvements, new revision system, autosave and post locking. |
3.7 | Basie | October 24, 2013[64] | Automatically 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. |
3.8 | Parker | December 12, 2013[65] | Improved 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". |
3.9 | Smith | April 16, 2014[66] | Improvements to editor for media, live widget and header previews, new theme browser. |
4.0 | Benny | September 4, 2014[67] | Improved media management, embeds, writing interface, easy language change, theme customizer, plugin discovery and compatibility with PHP 5.5 and MySQL 5.6.[68] |
4.1 | Dinah | December 18, 2014[69] | Twenty Fifteen as the new default theme, distraction-free writing, easy language switch, Vine embeds and plugin recommendations. |
4.2 | Powell | April 23, 2015[70] | New "Press This" features, improved characters support, emoji support, improved customizer, new embeds and updated plugin system. |
4.3 | Billie | August 18, 2015[71] | Focus on mobile experience, better passwords and improved customizer. |
4.4 | Clifford | December 8, 2015[72] | Introduction of "Twenty Sixteen" theme, and improved responsive images and embeds. |
4.5 | Coleman | April 12, 2016[73] | Added inline linking, formatting shortcuts, live responsive previews, and other updates under the hood. |
4.6 | Pepper | August 16, 2016[74] | Added streamlined updates, native fonts, editor improvements with inline link checker and content recovery, and other updates under the hood. |
4.7 | Vaughan | December 6, 2016[75] | Comes with new default theme "Twenty Seventeen", Video Header Support, PDF preview, custom CSS in live preview, editor Improvements, and other updates under the hood. |
4.8 | Evans | June 8, 2017[76] | The next-generation editor. Additional specific goals include the TinyMCE inline element / link boundaries, new media widgets, WYSIWYG in text widget. End Support for Internet Explorer Versions 8, 9, and 10. |
4.9 | Tipton | November 16, 2017[77] | Improved theme customizer experience, including scheduling, frontend preview links, autosave revisions, theme browsing, improved menu functions, and syntax highlighting. Added new gallery widget and updated text and video widgets. Theme editor gives warnings and rollbacks when saving files that produce fatal errors.[78] |
5.0 | Bebo | December 6, 2018[79] | New block-based editor Gutenberg[80] with new default theme "Twenty Nineteen". |
5.1 | Betty | February 21, 2019[81] | PHP version upgrade notices and block editor improvements. |
5.2 | Jaco | May 7, 2019[82] | Include Site Health Check, PHP error protection, the all-new block directory, and update package signing. |
5.3 | Kirk | November 12, 2019[83] | Polish current user interactions and make user interfaces more user friendly. New default theme "Twenty Twenty", designed by Anders Norén. |
5.4 | Adderley | March 31, 2020[84] | Social Icons and Buttons blocks added, blocks customization and user interface improved, added features for personal data exports, custom fields for menu items, blocks improvements for developers.[85] |
5.5 | Eckstine | August 11, 2020[86] | Added lazy-loading images, XML sitemaps by default, auto-updates to plugins and themes, and improvements to the block editor.[87] |
5.6 | Simone | December 8, 2020[88] | New default theme "Twenty Twenty-One," Gutenberg enhancements, automatic updates for core releases, increased support for PHP 8, application passwords for REST API authentication, improved accessibility.[89] |
5.7 | Esperanza | March 9, 2021[90] | New editor is easier to use, do more without writing custom code, simpler default color palette, from HTTP to HTTPS in a single click, new Robots API, lazy-load your iframes and ongoing cleanup after update to jQuery 3.5.1.[91] |
5.8 | Tatum | July 20, 2021[92] | Block widgets, query loop blocks, block themes, List View, Pattern Transformations, Duotone, new theme.json file, dropped IE11 support, WebP image support, new block support flags.[93] |
5.9 | Joséphine | January 25, 2022[94] | New default theme "Twenty Twenty-Two", new WordPress Admin feature Site Editor, Block Themes manageable through Site Editor, new Navigation block, improved block controls, Pattern Directory, List View, refactored Gallery block, Theme.json child theme support, block-level locking, multiple stylesheets per block.[95] |
The December 2018 release of WordPress 5.0, "Bebo", is named in homage to the pioneering Cuban jazz musician Bebo Valdés.[96]
It included a new default editor "Gutenberg" – a block-based editor; it allows users to modify their displayed content in a much more user friendly way than prior iterations. Blocks are abstract units of markup that, composed together, form the content or layout of a web page.[97] Past content that was created on WordPress pages is listed under what is referred to as a Classic Block.[98] Prior to Gutenberg, there were several block-based editors available as WordPress plugins, e.g. Elementor. Following the release of Gutenberg, comparisons were made between it and those existing plugins.[99][100]
The Classic Editor plugin was created as a result of User preferences and helped website developers maintain past plugins only compatible with WordPress 4.9.8, giving plugin developers time to get their plugins updated & compatible with the 5.0 release. Having the Classic Editor plugin installed restores the "classic" editing experience that WordPress has had up until the WordPress 5.0 release.[101] The Classic Editor plugin will be supported at least until 2022.[102]
The Classic Editor plugin is active on over 5,000,000 installations of WordPress.[103]
Many security issues[104] have been uncovered in the software, particularly in 2007, 2008, and 2015. According to Secunia, WordPress in April 2009 had seven unpatched security advisories (out of 32 total), with a maximum rating of "Less Critical". Secunia maintains an up-to-date list of WordPress vulnerabilities.[105]
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.[106] 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.[107]
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.[108] 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).[109] However, the filesystem security settings required to enable the update process can be an additional risk.[110]
In a June 2007 interview, Stefan Esser, the founder of the PHP Security Response Team, spoke critically of WordPress' 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.[111]
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 seven of them were vulnerable.[112]
In an effort to promote better security, and to streamline the update experience overall, automatic background updates were introduced in WordPress 3.7.[113]
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,[114] and editing the site's .htaccess configuration file if supported by the web server 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, for example, upload their own files (such as a web shell) 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 that the Yoast SEO plugin was vulnerable to SQL injection, allowing attackers to potentially execute arbitrary SQL commands.[115][116] The issue was fixed in version 1.7.4 of the plugin.[117]
In January 2017, security auditors at Sucuri identified a vulnerability in the WordPress REST API that would allow any unauthenticated user to modify any post or page within a site running WordPress 4.7 or greater. The auditors quietly notified WordPress developers, and within six days WordPress released a high-priority patch to version 4.7.2, which addressed the problem.[118][119]
As of WordPress 5.2, the minimum PHP version requirement is PHP 5.6,[120] which was released on August 28, 2014,[121] and which has been unsupported by the PHP Group and not received any security patches since December 31, 2018.[121] Thus, WordPress recommends using PHP version 7.3 or greater.[120]
In the absence of specific alterations to their default formatting code, WordPress-based websites use the canvas element to detect whether the browser is able to correctly render emoji. Because Tor Browser does not currently discriminate between this legitimate use of the Canvas API and an effort to perform canvas fingerprinting, it warns that the website is attempting to 'extract HTML5 canvas image data'. Ongoing efforts seek workarounds to reassure privacy advocates while retaining the ability to check for proper emoji rendering capability.[122]
Matt Mullenweg and Mike Little were co-founders of the project. The core lead developers include Helen Hou-Sandí, Dion Hulse, Mark Jaquith, Matt Mullenweg, Andrew Ozz, and Andrew Nacin.[123][124]
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.[125]
WordPress Foundation is a non-profit organization that was set up to support the WordPress project.[126][127][128] The purpose of the organization is to guarantee open access to WordPress's software projects forever.[126][127] As part of this, the organization owns and manages WordPress, WordCamp and related trademarks.[126][129][130] In January 2010, Matt Mullenweg formed the organization[131] to own and manage the trademarks of WordPress project.[132][133] Previously – from 2006 onwards – Automattic acted as a short-term owner of the WordPress trademarks. From the beginning, he intended later to place the WordPress trademarks with the WordPress Foundation, which did not yet exist in 2006 and which eventually took longer to set up than expected.[132][134]
WordCamps are casual, locally-organized conferences covering everything related to WordPress.[135] The first such event was WordCamp 2006 in August 2006 in San Francisco, which lasted one day and had over 500 attendees.[136][137] The first WordCamp outside San Francisco was held in Beijing in September 2007.[138] Since then, there have been over 1,022 WordCamps in over 75 cities in 65 countries around the world.[135] 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.[139] First ran in 2013 as WordCamp Europe, regional WordCamps in other geographical regions are held with the aim of connecting people who aren't already active in their local communities and inspire attendees to start user communities in their hometowns.[140] In 2019, the Nordic region had its own WordCamp Nordic.[141][142] The first WordCamp Asia was to be held in 2020,[143] but cancelled due to the COVID-19 pandemic.[144]
WordPress' 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,[145] and WordPress Forums, an active online community of WordPress users.[146]