Since you picked up this book, it’s likely that you already know at least a bit about WordPress. You probably realize that it’s a brilliant tool for creating a huge variety of websites, from gossipy blogs to serious business sites. However, you might be a bit fuzzy on the rest of the equation—how WordPress actually works its magic, and how you can use WordPress to achieve your own website vision.
In this chapter, you’ll get acquainted with life the WordPress way. First, you’ll take a peek at the inner machinery that makes WordPress tick. If you’re not already clear on why WordPress is so wonderful—and how it’s going to save you days of work, years of programming experience, and a headful of gray hairs—this discussion will fill you in.
Next, you’ll consider the types of sites you can build with WordPress, and how much work they need. As you’ll see, WordPress began life as a premiere blogging environment, but has since mutated into a flexible, easy-to-use tool for creating virtually any sort of website.
Finally, you’ll face your first WordPress decision: choosing a home for your WordPress site. You’ll discover you have two options, you have two options. You can use WordPress’s free hosting service (called WordPress.com), or you can install the WordPress software on another web host, for a monthly fee. Both approaches work, but the choice to use WordPress.com imposes a few limitations you should understand before you decide.
You probably already realize that WordPress isn’t just a tool to build web pages. After all, anybody can create a web page—you just need to know a bit about HTML (the language that web pages are written in) and a bit about CSS (the language that formats web pages so they look beautiful). It also helps to have a first-class web page editor like Adobe Dreamweaver at your fingertips. Meet these requirements, and you’ll be able build a static website—one that looks nice enough, but doesn’t actually do anything (Figure 1-1).
Figure 1-1. In an old-fashioned static website, a web designer creates a bunch of HTML files and drops them into a folder on a web server. When someone visits one of those pages, they see the exact HTML file that the web designer created. WordPress works a little differently—it builds its pages in real time, as you’ll see next.
Just in case your webmaster skills are a bit rusty, remember that a web server is the high-powered computer that runs your website (and, usually, hundreds of other people’s websites, too).
With WordPress, you strike up a different sort of partnership. Instead of creating a web page, you give WordPress your raw content—that’s the text and pictures that make up an article, a product listing, a blog post, or some other type of content. And when a visitor surfs to your site, WordPress assembles the content that person wants into a made-to-measure web page.
Because WordPress is a dynamic website—it creates web pages on the fly—it provides some useful interactive features. For example, when visitors arrive at a WordPress blog, they can browse through the content in different ways—looking for posts from a certain month, for example, or on a certain topic, or tagged with a certain keyword. Although this seems simple enough, it requires a live program that runs on a web server and assembles the relevant content. For example, if a visitor searches a blog for the words “tripe soup,” WordPress needs to find all the appropriate posts, stitch them together into a web page, and then send the result back to the web browser. More impressively, WordPress lets visitors write comments and leave other types of feedback, all of which become part of the site’s ongoing conversation.
In a very real sense, WordPress is the brain of your website. When someone visits a WordPress-powered site, the web server fires up the WordPress software and tells it to get busy. A blink of an eye later, a new web page is delivered to your visitor.
Two crucial ingredients allow WordPress to work the way it does:
A database. This is an industrial-strength storage system that sits on a web server; think of it as a giant, electronic filing cabinet where you can search and retrieve any piece of content in an instant. In a WordPress website, the database stores all the content for its pages, the category and tag labels for those pages, and all the comments that people have added. WordPress uses the MySQL database engine, because it’s a high-quality, free, open-source product, much like WordPress is.
Programming code. When someone requests a web page on a WordPress site, the web server loads up a template and runs some code. It’s the code that does all the real work—fetching information from different parts of the database, creating the page, and so on.
Figure 1-2 shows how these two pieces come together.
Figure 1-2. When a browser sends a request to a dynamic website, that request kicks off some programming code that runs on the web server. In the case of WordPress, that code is known as PHP, and it spends most of its time pulling information out of a database (for example, retrieving info on a product you want to see). The PHP then inserts the information into a regular-seeming HTML page, which it sends back to the browser.
There’s one more guiding principle that shapes WordPress—its built-in flexibility. WordPress wants to adapt itself to whatever design you have in mind, and it achieves that through a feature called themes.
Basically, themes let WordPress separate your content (which it stores in a database) from the layout and formatting details of your site (which it stores in a theme). Thanks to this system, you can tweak the theme settings—or even swap in a whole new theme—without disturbing any of your content. Figure 1-3 shows how this works.
Figure 1-3. When you visit a page from a WordPress site, WordPress combines the content (which it stores in a database) with formatting instructions (which are stored in the theme’s template files). The end result is a complete web page you see in a browser.
If you’re still not quite sure how WordPress helps you with themes, consider an example. Imagine Jan decides to create a website so he can show off his custom cake designs. He decides to do the work himself, so he not only has to supply the content (the pictures and descriptions of his cakes), he also has to format each page the same way, because each page has two parts—a description of the cake and a picture of it—and he wants his pages to be consistent. But, as so often happens, a week after he releases his site, Jan realizes it could be better. He decides to revamp his web pages with a fresh, new color scheme and add a calorie-counting calculator in the sidebar.
Applying these changes to a non-WordPress website is no small amount of work. It involves changing the website’s style sheet (which is relatively easy) and modifying every single cake page, being careful to make exactly the same change on each (which is much more tedious). If Jan’s lucky, he’ll own a design tool that has its own template feature (like Dreamweaver), which will save editing time. However, he’ll still need to rebuild his entire website and upload all the new web pages.
With WordPress, these problems disappear. To get new formatting, you tweak the style settings, either using WordPress’s administrative hub (called the dashboard), or by editing the styles by hand. To get the calorie counter, you simply drop the corresponding widget (and yes, WordPress does have a a calorie-counting widget plug-in) into the current theme’s layout. And that’s it. You don’t need to rebuild or regenerate anything, go through dozens of pages by hand, or check each page to try to figure out which detail you missed when you copied HTML from one page to another.
There are many flavors of website, and many ways to create them. But if you want something reasonably sophisticated and you don’t have a crack team of web programmers to make that happen, WordPress is almost always a great choice.
That said, some types of WordPress websites require more work than others. For example, if you want to create an e-commerce site complete with a shopping cart and checkout process, you need to ditch WordPress or rely heavily on someone else’s WordPress plug-ins. This doesn’t necessarily mean that WordPress is a poor choice for e-commerce websites, but it does present an extra challenge. (In Chapter 14, you’ll take a closer look at what it takes to make a basic e-commerce site that uses a plug-in to go beyond WordPress’s standard features.)
In the following sections, you’ll see some examples of WordPress in action. You’ll consider the types of sites that use WordPress most easily and most commonly. Along the way, you should get a feel for how WordPress suits your very own website-to-be.
As you probably know, a blog is a wildly popular type of site that consists of separate, dated entries called posts (see Figure 1-4). Good blogs reflect the author’s personality, and are informal and overflowing with content.
When you write a blog, you invite readers to see the world from your viewpoint, whether the subject is work, art, politics, technology, or your personal experience. Blogs are sometimes described as online journals, but most blogs are closer to old-school newspaper editorials or magazine commentary. That’s because a journal writer is usually talking to himself, while a half-decent blogger unabashedly addresses the reader.
Figure 1-4. Paul Krugman of the New York Times writes this traditional blog. Here’s what you see when you arrive at http://krugman.blogs.nytimes.com. Scroll down and you see a dozen or so of his most recent posts.
A personal, conversational tone. Usually, you write blogs in the first person (“I bought an Hermes Birkin bag today” or “Readers emailed me to point out an error in yesterday’s post”). Even if you blog on a serious topic—you might be a high-powered executive promoting your company, for example—the style remains informal. This gives blogs an immediacy and connection to you that readers love.
Dated entries. Usually, blog posts appear in reverse-chronological order, so the most recent post takes center stage. Often, readers can browse archives of old posts by day, month, or year (see “Recent Posts” in Figure 1-4). This emphasis on dates makes blogs seem current and relevant, assuming you post regularly. But miss a few months, and your neglected blog will seem old, stale, and seriously out of touch—and even faithful readers will drift away.
Interaction through comments. Blogs aren’t just written in a conversational way, they also “feel” like a conversation. Loyal readers add their feedback to your thoughts, usually in the form of comments appended to the end of your post (but sometimes through a ratings system or an online poll). Think of it this way: your post gets people interested, but their comments get them invested, which makes them much more likely to come back and check out new posts.
However, some WordPress blogs challenge the traditional expectations of what a blog should be. One wildly popular example is a photo blog, which ditches text in favor of pictures (see Figure 1-5).
Figure 1-5. You can put photo blogs to a wide variety of uses—everything from serious photography to lowbrow fun. Examples of the latter include sites like http://failblog.org or http://damnyouautocorrect.com (shown here), where each page is a screen capture from an iPhone conversation gone horribly wrong.
Other types of non-traditional blogs include video blogs that feature regular clips; microblogs that use tiny, frequent posts (like Twitter messages); and business blogs that launch company promotions, offer free samples for feedback, or solicit potential employees.
Blogging with WordPress is a slam-dunk. After all, WordPress was created as a blogging tool (in 2003), and has since exploded into the most popular blogging software on the planet. In fact, if you’re planning to create a blog, there’s really no good reason not to use WordPress. Although there are several other blogging platforms out there, and they all work reasonably well, none of them has the near-fanatical WordPress community behind it, which is responsible for thousands of themes and plug-ins, and might even help you solve hosting and configuration problems (just ask your questions in the forums at http://wordpress.org/support).
Blogs are fantastic, exciting things, but they’re not for everyone, even if you have a streamlined tool like WordPress at your disposal. The good news is that, because of its inherent flexibility, WordPress makes an excellent program for building more traditional websites, too. In fact, as long as you’re willing to do a little theme customization, you can convert your WordPress pages into something that doesn’t look one whit like a traditional blog. When you do, you’ll still be relying on the same WordPress technology, which runs on a web server working the same database-contacting and theme-processing magic it does with blogs. But now, instead of spitting out an ordinary blog, WordPress will produce the custom pages you want. If you’re interested in taking the WordPress engine beyond a blogging tool, the following sections will show you some of the types of sites you can create.
WordPress makes a great home for personal, blog-style writing, but it’s an equally good way to showcase the more polished writing of a news site, Web magazine, short-story collection, scholarly textbook, and so on. WordPress also allows multiple authors to work together, each adding content and managing the site (as you’ll discover in Chapter 11).
Consider, for example, the Internet Encyclopedia of Philosophy shown in Figure 1-6 (and located at www.iep.utm.edu). It’s a sprawling catalog of philosophy topics amassed from about 300 authors and maintained by 25 editors, all with heavyweight academic credentials. Created in 1995, the site moved to WordPress in 2009 to make everyone’s life a whole lot easier.
Figure 1-6. Although WordPress powers this website, you’ll see few of the hallmarks of a traditional blog. The “posts” are actually long, subdivided articles on philosophy topics, and there are no dates or comments.
The Internet Encyclopedia of Philosophy is an interesting example for the sheer number and size of the articles it hosts. However, you’ll also find WordPress at work in massive news sites, including TechCrunch, TMZ.com, Salon, Boing Boing, Think Progress, and the CNN site Political Ticker.
WordPress is particularly well-suited to websites that are stuffed full of organized content. For example, think of a website that has a huge archive of ready-to-make recipes (Figure 1-7). Or consider a website that collects classified ads, movie critiques, restaurant reviews, custom products, or something else.
Figure 1-7. This WordPress site features a huge catalog of recipes and articles with cooking tips. What makes this site distinctly different from a blog is the fact that the recipes aren’t categorized by date and displayed in a single listing in reverse-chronological order. Instead, its recipes are organized into common-sense categories like Meat, Seafood, Mushrooms, and so on.
The dividing line between blogs and catalogs can be a fine one. For example, you can find plenty of cooking-themed WordPress sites that sort recipes by category and by date, and put them in a blog-style listing. However, most catalog sites go beyond the blog in some way, and require the advanced theme customization skills you’ll develop in Part 4.
Because WordPress relies on a database, it’s a wizard at organizing massive amounts of content. In a properly designed catalog site, people can find a review, product, or whatever else they want in a number of ways, such as searching by keyword or browsing by category.
Catalog sites are also known by many other names. Some people describe them as content-based sites, others call them CMS sites (for “content management system,” a term explained in the box on The WordPress CMS Smackdown). No matter what you call them, the sites share a few key characteristics:
They include a large volume of content. If you want to create a recipe site with just four recipes, it probably wouldn’t be worth the WordPress treatment.
The content can be divided into separate pages. With a blog, the “pages” are actually blog posts. In the recipe site, each page is a recipe. (And in the Encyclopedia of Philosophy shown on Stories and Articles, each page is a lengthy scholarly article.)
Each page consists of text, images, and/or video. Usually, pages are stuffed with text. Often, they’re enriched with pictures and video. That’s where WordPress shines. It’s less adept at displaying reams of numeric data, like the last 12 years’ worth of sales at your chain of mattress superstores.
Visitors browse the content by category. You categorize pages by their subject matter. Visitors use those categories to find exactly what they want—like a recipe for a specific ingredient. Often, guests get to what they want by clicking through a slick, multilayered menu.
These criteria encompass a surprisingly huge range of modern-day websites. Examples include event listings for festivals, a portfolio of your work, a list of products you sell, and so on. Pretty much everywhere there’s a mass of text or pictures that needs to be categorized and presented to the world, WordPress is there, making itself useful.
The first, and simplest, option is to take your existing business website and augment it with WordPress. For example, Ford uses WordPress for its news site http://social.ford.com, which invites customers to post feedback and share the hype about their new vehicles on Facebook and Twitter. But if you head to Ford’s main site, www.ford.com, and you search for a local dealer or ask for a price quote, you’ll be entirely WordPress-free. These parts of Ford’s site rely on custom web applications, which web developers working for Ford created.
Other companies do use WordPress to take charge of their entire websites. Usually, they’re smaller sites, and often the goal is simply to promote a business and share its latest news. For example, you could use WordPress to advertise the key details about your new restaurant, including its location, menu, and recent reviews. Or imagine you need more detailed information for a tourist attraction, like the detailed website for Perth Zoo (Figure 1-8).
Figure 1-8. The Perth Zoo website has it all—detailed menus, information about animals, a review of the zoo’s policies, and up-to-date news. But there’s a catch: To make this website look as beautiful as it does here, the designers needed to combine WordPress knowledge with some traditional web design skills (including a good knowledge of HTML and CSS).
A greater challenge is when a business doesn’t just want to advertise or inform with its website, but it also wants to do business over the Web. For example, imagine you create a website for your family-run furniture store, like the one shown Figure 1-9. But you don’t just want to advertise the pieces you offer, you want to take orders for them, too, complete with all the typical trappings of an e-commerce website (such as a shopping cart, checkout page, email confirmation, and so on). In this situation, you need to go beyond WordPress’s native features and add a plug-in to handle the checkout process.
Figure 1-9. On this furniture website, you can view the chairs for sale, their prices, and their dimensions. All this is possible with WordPress’s standard features and a heavily customized theme. But if you want to allow online ordering, you need to add a plug-in developed by a third party.
For some small businesses, an e-commerce plug-in offers a practical solution. But for many others, this approach just isn’t flexible enough. Instead, most e-commerce sites need a custom-tailored transaction-processing system that integrates with other parts of their business (like their inventory records or their customer database). This functionality is beyond the scope of WordPress and its plug-ins.
To see more examples of what you can do with WordPress, including plenty of business sites, visit the WordPress showcase at http://wordpress.org/showcase.
If you’ve reached this point, it’s safe to say you’re on board with WordPress. Now you need to decide exactly where you’ll put your WordPress site.
The simplest (and cheapest) option is to sign up for the free WordPress.com service, which is run by the fine folk at Automattic (founded by a guy named Matt Mullen-weg, hence the “matt” in the company name). The deal is simple: they give your website a home, some exposure, and a free web address that ends in .wordpress.com (although you can buy a custom domain name if you want), and you accept a few limitations—most notably, your website can’t show ads or use other people’s plug-ins, and you can’t edit your theme by hand.
The people at Automattic are also largely responsible for (but not completely in control of) the development of the WordPress software. That’s because Automattic employs many of WordPress’s lead developers, but the program is still a community-driven, open-source project.
Your other hosting option is to install WordPress on your web host’s server and build your site there. The drawback here is that you need to pay your web host. And although you won’t be on the hook for much coin—good plans run a few dollars a month—you still need to open your wallet. Generally, WordPressers call this approach self-hosting, although someone else actually does the hosting. In other words, you’re not running a web server in your basement; you’re contracting with a web hosting company for some space on their servers.
Although the WordPress nomenclature is a bit confusing, the real story is simple. WordPress is the software that powers all WordPress sites. (Sometimes, people call the software WordPress.org, because that’s the web address where you download the program.) On the other hand, WordPress.com is a free web hosting service that uses the WordPress software. So no matter where you decide to host your site—through WordPress.com or on your own web host—you’ll be using the WordPress software.
You want to create a site that isn’t a blog. In this chapter, you’ve seen plenty of examples of websites, from webzines to recipe catalogs to slick business sites. Many of those sites are more difficult to create with WordPress.com (if not impossible). That’s because WordPress.com prevents you from editing the code in your theme, or from using a theme that isn’t in WordPress.com’s pre-approved list of about 200 themes.
You already have a website. With most third-party web hosts, you won’t have to pay extra to add a WordPress site. And if you already have a web presence, it makes sense to capitalize on the domain name (that’s your web address, like www.PajamaDjs.com) and the web space you already have.
You want complete control over your site’s appearance. If you’re the sort of person who can’t sleep at night unless you get the chance to tweak every last WordPress setting, you definitely want the free reign of a self-hosted site. With it, you can choose from thousands of site-enhancing plug-ins and a universe of custom themes.
You want to make money advertising. Ordinarily, WordPress.com doesn’t allow its sites to display ads or participate in affiliate programs. However, WordPress. com is in the midst of a pilot program called WordAds, which allows a limited type of advertising, provided your site is accepted into the program. You can learn more and apply at http://wordpress.com/apply-for-wordads.
You don’t want your readers to see ads, ever. WordPress.com is a bit sneaky in this regard. In some cases, it will insert an ad into one of your pages. This usually happens when someone stumbles across your site from a search engine. It doesn’t happen if a visitor surfs from one WordPress.com site to another, or if a visitor is logged in with a WordPress.com account. For these reasons, you might never notice the ads that other people could see. If this behavior bothers you, you can remove the ads from your site, but you need to pay a yearly fee (currently, $30 per year).
WordPress.com isn’t necessarily as free as you think. In addition to paying for ad-free pages, you can opt (and pay) for a personalized web address, the ability to edit the fonts in your theme, and extra space for big files and hosted video. You can get information about all these upgrades at http://support.wordpress.com/upgrades. It’s worth noting that self-hosters get virtually all these features through their own web hosts, so if you plan to buy several upgrades, you should at least consider getting your own web host instead—it may end up costing you less.
In general, self-hosting is a slightly more powerful and more expensive strategy than hosting with WordPress.com. But there are reasons why people actually prefer to use WordPress.com rather than self-host:
No-headache maintenance. If WordPress.com hosts your site, all the website maintenance is taken care of. You don’t need to think about installing patches or WordPress updates, or making backups of your site.
Better discoverability. If your site is on WordPress.com, people can stumble across it two ways. First, they can browse the giant index of popular subject tags at http://wordpress.com/tags, and pick one you use in your posts. Second, if you write a particularly popular post, your site may appear in the “Blog of the Day” list that WordPress.com features prominently on its front page (http://wordpress.com), and attract a click-storm of new traffic.
Reliability. It’s not hard to find a good web host that has solid WordPress support. That said, no one serves as many WordPress sites as WordPress.com—they use over a thousand web servers to hand out billions of WordPress pages every month. That means that if a page on your WordPress site suddenly gets a burst of popularity—for example, it gets noticed on a social news site like Digg (http://digg.com)—WordPress.com will handle the challenge, while a less able web-hosting service could buckle.
Struggling to keep all the details about WordPress.com and WordPress.org in mind at once? Table 1-1 summarizes the key differences. Remember that the WordPress program is packed with functionality, and the table leaves out the long list of features that work equally well in WordPress.com and on self-hosted WordPress sites.
Table 1-1. Comparing WordPress.com and Self-Hosted Sites
YOU WANT TO…
WITH A SELF-HOSTED SITE
Pay as little as possible
The starting cost is free, but various enhancements cost money
You pay the cost of web hosting (typically $5 to $10 per month, unless your site is wildly popular, in which case you need to pay your host more for the high traffic)
Forget all about web server maintenance
No, you need to back up your content regularly, and update WordPress with new versions (but fortunately both jobs are pretty easy)
Use a custom website address (like www.myName.com)
Yes, but it requires an upgrade ($17 to $24 per year)
Get good-looking, ready-made themes
Yes, you can choose from about 200 themes (and the list is growing)
Yes, you can choose from roughly 1,600 themes (and the list is growing)
Change the layout of your theme and add new widgets
Yes (and you can get more widgets by installing plug-ins)
Edit the styles (fonts and formatting) in your theme
Yes, but it requires an upgrade ($30 per year)
Change the code in your theme files
Create a non-blog site
Yes, if you can find a suitable theme, but there are many limitations
Show pictures and videos
Yes, but it costs extra if you want to host the video files on your website, instead of through a service like YouTube or Vimeo
Yes, but you’ll probably still need a hosting service like YouTube or Vimeo for your videos
Make money with ads
No, unless you’re accepted to WordPress’s WordAds program (which has its own restrictions)
Keep ads off your site
Yes, but it requires an upgrade ($30 per year)
Yes (there are no ads, unless you put them there)
Let multiple people post on the same site
Create multiple sites
Create a multisite network that allows other people to create their own personal sub-sites
Use WordPress plug-ins to get even more features
Yes, you can choose from a staggeringly large and ever-expanding collection of over 20,000 plug-ins.
Get help with your problems
Yes, through the forums at http://forums.wordpress.com
Yes, through the forums at http://wordpress.org/support
Overall, the best advice is this: if you’re a keen WordPress fan with a bit of curiosity, a smattering of computer experience, and a willingness to experiment (and if you’ve picked up this book, you almost certainly fit that description), you’ll be happiest self-hosting WordPress.
However, if you don’t have a web host and you’re a bit overwhelmed, it’s a perfectly good idea to start with WordPress.com. You can always migrate to a self-hosted WordPress site later on, and Appendix A describes exactly how to do that. The only recommendation with this strategy is that you buy your own domain name, as described on Choosing a Web Address. That way, should you move to a self-hosted WordPress site, you can keep the address you used when you when you were at WordPress.com, and you won’t lose the audience you spent so long building up.
There’s one very special exception to the rules listed in Table 1-1. WordPress.com offers a VIP hosting program for heavily trafficked websites (current clients include CNN, Time, and TechCrunch). These sites aren’t bound by the same limitations you are, if you sign up for WordPress.com. For example, VIP customers have unlimited freedom to change or customize WordPress themes and display ads. However, the cost is at least $2,500 per month, with a $1,500 one-time setup fee. You can learn more at http://vip.wordpress.com.