WordPress is one of many PHP/MySQL content management systems that allow content editors to use a web interface to maintain their sites instead of editing and uploading HTML files to a server. Some systems, like Movable Type and Textpattern, have reputations as good blogging platforms. Others such as Joomla, Drupal, and Expression Engine are more commonly associated with commercial or community sites.
WordPress began as a blogging tool, but early on the developers added pages as a separate content type. This opened the door for people who didn't want a blog, but did want an easy, web-based interface to create and manage web content. (And if they later decided they needed a blog after all, the world's best was just one menu click away!) Since then, the page features have evolved. Whether WordPress acts a blogging tool or a true content management system, then, depends on which content you choose to emphasize in your site.
Despite its flexibility as a simple content management system, and despite winning the Overall Best Open Source CMS Award at the 2009 Open Source CMS Awards, WordPress is still widely considered to be a blogging tool. So why would you choose WordPress over a more traditional CMS?
WordPress is famous for its five-minute installation. In fact, if you have your database connection details in hand before you begin, it might not even take you that long! The system requirements for WordPress (discussed in more detail in the next chapter) are modest, allowing it to run on most commercial shared hosting plans that include PHP and MySQL.
WordPress comes with everything you need to set up a basic website. The core system includes:
• Posts and pages. In the most traditional use of WordPress, a blog (composed of posts) will feature a few "static" (but still database-driven) pages, such as "About." However, as you'll see throughout this book, you can use these two primary content types in a number of other ways.
• Media files. The post and page editing screens allow you to upload images, audio, video, Office documents, PDFs, and more.
• Links. WordPress includes a link directory, often referred to as the blogroll.
• Categories and tags. WordPress includes both hierarchical and free-form taxonomies for posts. There is a separate set of categories for links.
• User roles and profiles. WordPress users have five possible roles with escalating capabilities (Subscriber, Contributor, Author, Editor, and Administrator) and a very basic workflow for editorial approval. User profiles include a description, avatar, and several forms of contact information.
• RSS, Atom, and OPML feeds. There are RSS and Atom feeds available for just about everything in WordPress. The main feeds include recent posts and comments, but there are also feeds for individual categories, tags, authors, and comment threads. An OPML feed for links is also built in.
• Clean URLs. With the included .htaccess file, WordPress supports search engine-friendly URLs (or permalinks) on both Apache and IIS servers, with a system of tags that allow you to customize the link structure and several built-in configurations.
• Spam protection. The WordPress download package includes the Akismet plugin, which provides industrial-strength filtering of spam comments. Because it uses a central web service, it constantly learns and improves.
• Automatic upgrades. WordPress displays an alert when a new version is available for the core system as well as any themes or plugins you have installed. You can update any of these with the click of a button (although it's always a good idea to back up your database first).
As of version 3.0, you can easily expand your WordPress installation into a network of connected sites. The setup process is just a little more involved than the basic installation, and your host has to meet a few additional requirements, which I'll go over in chapter 13.
WordPress has an amazingly user-friendly administration interface. In 2008, the WordPress team worked with designers at Happy Cog, a web design firm famous for its user-oriented approach, to streamline the interface for WordPress 2.5. Later, for version 2.7, the WordPress team incorporated suggestions from a large-scale user survey and worked with Happy Cog's Liz Danzico to refine the interface even further. The result is an intuitive system that even web novices can use with very little training. Features include:
• Rich text editing. WordPress includes the popular TinyMCE editor that provides you with an interface similar to Microsoft Office products. TinyMCE is not perfect, but WordPress provides a basic HTML view as an alternative. The editor includes tools to import content and remove embedded styles from Office documents.
• Media uploads and embeds. The content editing screens include a media uploader. You'll be prompted to provide titles, captions, or other metadata based on the file type, and you can easily link to the media files or insert them directly into the document. WordPress also includes a basic image editor that allows you to rotate or resize the image. Furthermore, WordPress generates thumbnails automatically, and these can be used in place of the full-size image. Images can be aligned left, right, or center, and can include captions as well as alt text. It's easy to embed audio and video files from other sites into your content: just paste the URL as you edit, and when your post or page is published, the address will be replaced with the appropriate media player.
• Menu Management. You can create navigation menus as easily as you create sidebars. You can choose items from your pages, categories, and link manager; you can also add links to external content.
WordPress offers a robust template system as well as an extensive API. Anyone with experience in PHP can change a site's appearance or even modify WordPress's behavior. At www.wordpress.org/extend, you can download thousands of themes and plugins to do just this.
• Widgets are drag-and-drop components that can be added to your site's sidebars. For example, there are widgets to display polls, Flickr photos, and Twitter streams. You can use widgets to list pages, posts, and links; provide a search box; add arbitrary HTML; or display an RSS feed. Some themes come with their own widgets; other widgets can be installed as separate plugins.
• Plugins can add functions, template tags, or widgets; modify existing functions; and filter content. A plugin could add administration screens, or it might just provide a new tag you can insert into your theme files.
Advanced users can even extend the basic types of content in WordPress. Posts and pages include custom fields in addition to the basic title, content, and excerpt. The custom field user interface is not ideal for novice users, but a number of plugins exist to improve and expand it. The More Fields, Flutter, and Pods plugins all make custom fields easier to use. WordPress also supports custom content types and taxonomies. The core system does not yet include a user interface for these features, but they are available for developers to use in custom theme functions and plugins.
If the built-in category and tag system for posts isn't flexible enough for you, you can create custom taxonomies for posts, pages, or media files. In version 3.0, you can go even further and create whole new content types. I'll go over custom taxonomies and content types in Chapter 14.
To see just how far you can go using themes and plugins, visit www.buddypress.org. BuddyPress is a set of themes and plugins for WordPress that turns a basic site into a complete social network with member profiles, friends, private messages, forums, and activity streams. The transformation is amazing!
Because WordPress has built-in support for clean URLs, canonical URLs, microformats, categories and tags, and standards-based themes, it does a stellar job of optimizing sites for search engines. At the 2009 WordCamp in San Francisco, Google's Matt Cutts explained to the audience that WordPress is the best blogging platform for search engine optimization purposes, and that choosing WordPress would be a good first step for any small business seeking to build an online presence.
Was this article helpful?