If you have a question and answer that is not asked and answered on these pages, please add that to the appropriate FAQ or visit FAQ Work Page. Codex Volunteers will merge your contribution into the appropriate area.

What is WordPress?

WordPress is open source web software that you can install on your web server to create your website, blog, community or network. WordPress started out as a tool for blogging, but has evolved into a full-fledged Content Management System (CMS), capable of powering websites, networks and communities.

Why Choose WordPress?

One of the principle advantages of WordPress is that you are in control. Unlike remote-hosted scripts such as Blogger and LiveJournal, you host WordPress on your own server. Installation is very simple, as is the configuration. Unlike other software programs, there are not a million files to chmod nor are there dozens of templates to edit just to get your site set up and looking the way you want.

What are WordPress' features?

WordPress has an extensive list of features and, as it is constantly evolving, this list of features is constantly growing. Check out the up-to-date list of features.

What’s the difference between WordPress.org and WordPress.com?

WordPress.com is a blog network run by Automattic. It uses WordPress software, but individual blogs are hosted and managed by WordPress.com. This is a free service with premium addons and upgrades.

Here at WordPress.org, you can download WordPress, the web software that WordPress.com runs on. Once you’ve downloaded it, you can upload it to a web server and run your own WordPress website.

There is useful information about this distinction on the WordPress.com website.

How Is WordPress related to other blogging applications?

WordPress was primarily inspired by Noah Grey‘s Greymatter open-source web log and journal software. It is related to b2, sort of a second cousin twice removed. You can use WordPress to post your own stories, ideas, rants, reviews, links, and pictures of your toothless Uncle Ernie at the wedding reception, if you choose. In addition, you can customize the look and feel of your site. Numerous themes are available and may be modified in many different ways. Through the use of WordPress Themes, you can quickly change the look and style of your site. You can also extend WordPress’ functionality through the use of Plugins. Plugins let you create the website or blog that suits your needs. As you can see, its functionality exceeds or at least is similar to what is available in most blogging tools today.

For more information:

Do I need to know PHP to use WordPress?

No. You should be able to use WordPress through the user interface, without ever having to touch PHP.

The only time you would modify your WordPress website with PHP would be when integrating some of the plugins. There are a small number of plugins that still require manual edits to your files. In most cases, clear instructions are usually given within a text file with the plugin.

Other than that, you would not be changing any of the PHP files.

Why does WordPress only support MySQL? What about DB abstraction?

While in theory supporting more databases is better than supporting one, in practice focusing on MySQL has a number of benefits.

First, introducing support for databases other than MySQL would increase the testing load for all development quite a bit, as already the combinations of PHP versions, web servers like Apache, Lighttpd, and IIS, and Windows vs Linux cause a number of issues, multiplying that by an arbitrary number of database platforms is daunting.

Early on in WordPress’ history when DB abstraction was seriously considered we noticed packages like AdoDB were bigger than WordPress itself, which seemed like a lot of weight for little gain.

DB independence also requires far more than just dropping in a DB abstraction class, as basic assumptions WP makes about things like primary keys, indicies, auto incrementing fields, LIMITs, and more vary more from DB to DB than a class could support without serious code changes.

Finally, MySQL is ubiquitous and has shown to be fast enough and scalable enough for the highest traffic loads, so supporting other DBs would not improve the WordPress experience or our popularity much. As a feature request it comes up fairly infrequently.

All that said, every query in WordPress goes through a class called wpdb and that class can be replaced with your own by putting a db.php file in wp-content. So far this has been used for mysqli support and an advanced enterprise DB class called HyperDB, but in theory you could use that, and some wicked regular expressions, to add support for a MySQL-like database without any core code modifications.