Should I Use WordPress For My Site?
I get this question a lot. The short answer is, it depends. The long answer is a bit more complex and delves into exactly what WordPress is—and what it isn't.
WordPress is, at its core, a blogging application. It was originally created to make it easy to publish blogs. A blog, or web log, is simply, a diary of sorts. Not necessarily (though it can be) a diary like a 13-year-old girl might keep under lock and key, but a dated series of entries which can be text or multi-media. Since it's on the web, a blog's content is usually intended for public viewing. In that way it is sort of like the editorial pages in a newspaper. And, like the editorial pages in a newspaper, viewers can usually respond with their own thoughts—though on a blog the responses are not necessarily filtered by an editor and can take on a life of their own!
Since its inception in 2003, WordPress has grown from a simple blogging tool into a content management system (CMS) used by nearly 12 million sites. However, at its core it is still a blogging tool and sometimes has limitations as a result. So this is where we come to the question—Is it right for your site?
Considerations when deciding whether to use WordPress
Financial
WordPress is free to download and install. But you need a host that handles WordPress—fortunately most small hosting plans include at least one MySQL database these days, so you should be able to install it on all but the cheapest plans.
WordPress sites can cost more to develop. From a development standpoint, it is more time-consuming to create the code for a customized WordPress site than to just write straight (X)HTML/CSS. If you're just looking to implement an off-the-shelf theme, though, you can slash development costs by thousands of dollars.
Maintenance may be cheaper. Because it is so easy to edit the content of WordPress pages, the typical site owner can manage their own content, relieving them of the burden of paying a web developer to do it for them. This is great in most cases, but can cause a problem in some—see technical concerns below.
Many plugins and widgets are free. If you need special features on your site, chances are you can download a plugin or widget that will fit your needs. This can help to dramatically reduce development costs.
Technical
WordPress is simple. Compared to the interfaces of other content management systems (CMSs) that I have used, WordPress is the easiest for the average person to learn to navigate. This is very important if the primary maintenance for the site is going to be done by a non-technical person.
The WYSIWYG editor doesn't really show "what you get". In the default installation, the WYSIWYG editor box doesn't reflect what the content will actually look like on the live site because it doesn't reference the correct CSS files. If the person making the modifications is aware of this and understands which tags to use, this isn't an issue. However, the average website owner may try to force the styles to "look right," which saves style data on an inline basis, which defeats the whole purpose of having external CSS files and themes. That means that if you implement a new theme later on, you'll have to go back and make sure that every page looks right and doesn't have an unwanted styles.
WordPress thinks it's smarter than you are. OK, admittedly, in some cases it might be right—sometimes it's a good thing for an application to fix problems introduced by a user. But in the case of WordPress, it frequently overwrites HTML code a user has specifically entered in the content editing box. For example, if you use the "HTML" portion of the editing box and then go back and edit the same content in the WYSIWYG portion, your custom code can be overwritten, which may make your pages W3C-invalid if the code it writes doesn't jibe with your DOCTYPE. Personally, I find it annoying that WordPress overwrites my human-readable character codes with numbers (e.g. it changes & to &) and, by default, changes straight quotes to curly quotes. If I wanted curly quotes I would have used curly quotes!
WordPress comes with thousands of plugins and widgets. Because millions of sites are using WordPress, thousands of plugins and widgets have been created which do nearly anything you can think of. As mentioned above, many of these plugins and widgets are free. This can be both a good and a bad thing. Because they are free, there is less incentive for the original author of the plugin to offer support for the plugins in the event that a security issue arises or if the plugin doesn't work with an upgrade of WordPress or conflicts with another plugin. In a site which has been custom-coded all by one person or team, that person or team can handle any issues which arise. On the other hand, a problem with a popular plugin may be resolved more quickly once it is identified because it may affect millions of sites.
WordPress is ssssllllllooooooowwwwww! WordPress is very CPU-intensive and can cause a site which would otherwise load quickly to load much more slowly. A popular site running WordPress can affect other sites hosted on the same server, as well.
WordPress is rigid. Despite all the plugins and widgets, some things just can't be done—or can't be done easily— in WordPress. For example, it can be difficult to integrate some external software, like ecommerce and database applications, into a site run on WordPress. Some solutions to this involve iframes and other ugliness which can cause search engine optimization (SEO) problems. Fortunately, there are many ecommerce and database plugins for WordPress as well as applications designed to work with it—so unless you absolutely must use a certain softare, this may not be an issue for you.
Previewing offline is (nearly) impossible. Because WordPress is database-driven, any changes you make must be online. If you want to preview your changes online, you need to actually make the changes to the database and click "preview". This may or may not be an issue for you. The only way I know of to get around this is to either install a web server on your own computer running WordPress or to maintain a flat HTML copy of the site offline.
Backups are HUGE. A standard backup of the database is huge because all the tables are backed up every time. To get around this you have to select the specific tables you want to back up. If disk space is not an issue for you, then this doesn't matter except for the time involved in both backing up and restoring.
Security problems are public and create a hacking risk. I think this may be the biggest concern for WordPress site owners—when a security hole is found, either in WordPress feature or in a plugin, all users of that feature or plugin are immediately at risk and the whole world knows about it. If you are using your own custom software (or no software at all in the case of simple sites), your risk of being hacked is dramatically reduced because you won't be an obvious target.
Summary
So, in summary, if you have a simple site and need an easy, hassle-free way to edit your pages, then yes, WordPress is probably the best solution. If you have a highly customized site with custom code or think you might add custom code in the future, then carefully research your plugin options before deciding on WordPress. In my own case, the last time I redesigned this site I seriously considered switching to WordPress and even created a WordPress theme for it that matches this design. In the end I decided not to use it because some of the pages have custom code on them and I just didn't want to spend the time integrating theme into WordPress because switching them back later if I changed my mind would have been a PITA. ;)
