WordPress Troubleshooting
From DreamHost
We offer WordPress as a one-click install, and there is a reason for that. Right out of the box, WordPress is a highly efficient, easy-to-use blogging platform. However, just like any other piece of software, things happen and it can run out of control.
Contents |
[edit] Spam
The first thing to do while checking out an overloaded blog is to see if it's being spammed. It's the top reason why blogs go crazy on CPU usage. Check the "Comments" tab on your WordPress install. You might need to check under "Manage" in older installs of WordPress — so don't feel lost if you're not seeing the "Comments" link in your dashboard. If you're seeing the same sort of comments as the mail you see in your mail account's Inbox from spammers, you'll need to install a plugin to help deal with the incoming flow of spam.
[edit] Anti-Spam Plugins
There are a lot of anti-spam plugins that are available for WordPress, but we're just going to list a few of the ones that work the best on the servers here:
- Akismet
- Pros: Spam checking happens off server, low impact on server overhead.
- Cons: Needs an API Key in order to run.
- SpamKarma
- Pros: Solid plugin, works with Akismet via an extra plugin.
- Cons: Checks spam comments on the server, large comment storms can still cause decent overhead.
- reCAPTCHA
- Pros: CAPTCHAs keep bots from submitting comments.
- Cons: Spam isn't always done by bots, meaning manual spam will still get thru.
You can chose one of these plugins to help curb spammers, but using a combination of all three really works best.
[edit] Caching
If spam isn't your problem, then the server is probably hitting your MySQL database a lot trying to get the information needed to render your pages. This can be really inefficient and cause astronomical loads when sites like Digg, Slashdot and BoingBoing link to you.
[edit] Caching Plugins
To work around this, there are two plugins that work pretty well at caching MySQL requests by building static content to load instead of hitting the database for every request:
- WP-Cache
- Recently abandoned by its developer, WP-Cache is still an outstanding plugin that reduces load quickly and effectively. What's more, it's compatible with WordPress 2.3.1 as well as older versions.
- WP Super Cache
- Picking up where WP-Cache left off, this plugin has included advanced features as well as a plugin and hooks system. It still doesn't work with a few plugins that WP-Cache seems to get along okay with (listed on the site) but it should work for most people.
[edit] XML-RPC
If you received a notice about spam being sent from your account, there is a definite possibility that one of WordPress' default files was used by a hacker to send spam from your website. By default, WordPress installs a file called xmlrpc.php. This file is sometimes used for some administration tasks. If you do not know how to use it, or do not use it at all, you can safely remove the file. If you do use the file tho, you should probably make sure you have the latest version for each WordPress blog running under your account. The most recent version should always be available from here.
[edit] Upgrading to A Private Server
If you've tried the plug-ins but are still seeing a high load on the server, then it could be that you have launched an awesome blog that has outgrown shared hosting. At this point you may wish to consider adding a Private Server to your hosting package, which starts at only $15 per month. Should you have any questions about adding the Private Server to your account, please contact DreamHost support for more info.

