(for my technical readers)

WordPress is great. Except when it isn’t. Most of the time, WordPress is the ideal tool for small business websites. There are thousands of add-ons for WordPress as both plug-ins and themes that can extend it into a full blown content management system that can be customized to do almost anything. This is the real power of a WordPress website. But it is also its biggest weakness. Plug-ins can make your site actually stop working. Often this isn’t the fault of a specific plug-in, but rather a combination of all the plug-ins you may have installed combined with the server configuration of your hosting environment. Most websites are on a shared server, and the hosting company is not likely to change its settings to accommodate you.

In the instance above, one of the things you can do that can improve the performance of your WordPress website is to increase the amount of available memory for PHP scripts. As of version 3.1, this can be set in the file wp-includesdefault-constant.php. Look for the line:

define(‘WP_MEMORY_LIMIT’, ’32M’);

and change it to something bigger, like:

define(‘WP_MEMORY_LIMIT’, ’64M’);

In many cases, this will allow your plug-ins to work more effectively. Scripts that take a long time to execute may hit a time-out message, which unfortunately cannot be set except by your host. If you run into that issue, you will have to de-activate plug-ins until the time-out error no longer occurs. Here is another issue that I ran across recently: the plug-in was trying to use the exec() function, which the host has disabled for security reasons. In this case, I simply couldn’t use this plug-in. Obviously, this shows that you must thoroughly test your selected plug-ins to see which ones behave well with other plug-ins and with your host. This is best left up to someone who has created multiple WordPress websites.

Another time I had my host implement a “open_basedir” change (without telling me) to PHP that restricts where you can write files.  As a result, I had a site start throwing errors that was previously working well. The hosting environment support team blamed it on running an old version of a plug-in (which I wasn’t). I had to edit the PHP files supplied by the plug-in so that it would once again behave properly.

Sometimes it isn’t a plug-in or the host that is at fault, but simply a matter of the core WordPress module dumbing things down to make it easier for non-technical users. An example of this is the Tiny MCE editor that is built into WordPress. Fortunately, you can overcome most of those shortcomings by installing the Tiny MCE advanced plug-in. This plug-in adds back in some of the functionality that WordPress took out, including being able to enter in some very basic HTML tags like p and br. Once the plug-in is installed, Go to Settings and and click on the checkbox to stop removing these tags as shown below:

Setting the Tiny MCE Advanced editor to stop removing the and tags will also make it so that the editor no longer removes div tags. This is very important, especially if you are using a plug-in like the Shopp shopping cart plug-in. In other words, you need the Tiny MCE advanced editor to make Shopp behave properly.

There are many other instances where testing plug-ins to make sure they behave well with other plug-ins and that they do what you expect them to do are critical to a successful WordPress website. Often, plug-ins enforce their own CSS (styles) onto the website, rather than using the styles defined by the current theme, meaning that the developer must go in and update the style sheets to maintain a consistent look across the website.

The point is, WordPress is a great tool for a business owner, but just because this is a free, open-source platform, don’t expect that you can build a quality website without involving a professional website developer. There is a lot of work that goes into a good WordPress website.

Here are two examples, both using the 2010 Weaver theme and the Shopp plug-in previously mentioned, which I recently completed for my clients: