Sign up right now for email updates and get two free ebooks:

When Good Plugins Go Bad – Comment Relish Considered Dangerous

Recall I found out about an automatic commenter-thanking plugin I was very excited about?

It turns out that Dreamhost, my hosting company, were not quite as thrilled as I was.

Hello,

Please disable the plugin that is causing this query (otherwise I’ll have to disable your mysql table or user and I really don’t want to do that!):

# Query_time: 2 Lock_time: 0 Rows_sent: 0 Rows_examined: 2045519
use chrisgcom;
SELECT c.*, p.*

FROM wp_comments c

INNER JOIN wp_posts p ON p.ID = c.comment_post_ID

LEFT JOIN wp_cr_emailed e ON e.email = c.comment_author_email

WHERE e.email IS NULL AND c.comment_approved = ’1′;

===

It’s not efficient enough to be running on a shared hosting server and is contributing to high loads and poor mysql performance. Here is my direct email address for confirmation (and if you have any questions):

jxxx@dreamhost.com

Thanks!
Jxxx

While the message could have been a little more helpful and friendly (would a complete technical novice have been able to work out which plugin was causing the problem?), it seems the upshot is the plugin is not coded well enough for heavily populated shared hosting to be able to cope with.

A real shame as I just heard about a great tweak to the code allowing you to send a personalised message while still getting an automatic notification.

Just goes to show that not all plugins can be used.

How to install and trial plugins safely:

  • Check them out with friends and other users,
  • Google for any known problems,
  • Take a full backup of your blog and database
  • Try the plugin for a while, monitoring for any problems,
  • Contact the author to see if there is a known fix
  • and always remember what order you installed them in so you can identify and remove trouble makers.

I would contact the author but I don’t want to risk Dreamhost yanking my account by trying it again.

Have you ever had plugins misbehave? What do you do? Does this sort of thing put you off trying new plugins? Let me know in the comments …

Sign up right now for email updates and get these
two free ebooks

"Creating Killer
Flagship Content"

"Authority Alliances"

Just enter your primary email address in the form below and hit the button!

Before commenting, please read my Comments Policy - thanks!

Comments

  1. I am astounded that a host would send this sort of email. My blog runs 5 cron jobs every minute to run the Tracker and has survived 4 front page diggs including one that sent 50,000 uniques in 2 hours without any concern from the hosts. My plan costs $20 per month.

  2. I am astounded that a host would send this sort of email. My blog runs 5 cron jobs every minute to run the Tracker and has survived 4 front page diggs including one that sent 50,000 uniques in 2 hours without any concern from the hosts. My plan costs $20 per month.

  3. They are usually ok but yeah, this wasn’t tech support of the year award material

  4. They are usually ok but yeah, this wasn’t tech support of the year award material

  5. I haven’t had plugin troubles, but I did have a Topsites (Vote for your favorite sites) script on my old Dreamhost account.

    After a few months, they disabled me because of it, and never let DH disable your account. Once they do, that’s it. Their tech support desk seems to just…vanish. :(

    I deleted the script asap, but it was still 4 days before my site has back online… :(

  6. I haven’t had plugin troubles, but I did have a Topsites (Vote for your favorite sites) script on my old Dreamhost account.

    After a few months, they disabled me because of it, and never let DH disable your account. Once they do, that’s it. Their tech support desk seems to just…vanish. :(

    I deleted the script asap, but it was still 4 days before my site has back online… :(

  7. You’re running on a shared host…what, are you nuts? Get your own server…then you can do whatever you like. I use memset and find them very good.

  8. You’re running on a shared host…what, are you nuts? Get your own server…then you can do whatever you like. I use memset and find them very good.

  9. A WordPress plugin did made HostGator (my old host) mad. They didn’t disable my account but disabled access to my main blog directory. I even tried to convince ‘em that I’ll disable the plugin as soon as I’m able to access my WordPress admin CP but don’t know why they kept my main directory inaccessible for 3 days.

    That was the time when I switched to DreamHost forever. My blogs have been running under a DH shared hosting plan since April, 2007 and fortunately, I’m yet to face any trouble.

    So completely agree on your point that we can’t trust every plugin for a pretty strong reason. Every WP plugin author isn’t a programming expert. Some of ‘em write quick and dirty code to solve their own problem but release it in public thinking that others may find the code useful.

    I personally don’t use any WP plugin without going through the comments left by plugin users. I also hesitate to try newly released plugins if the plugin hasn’t been released by the WordPress experts.

  10. A WordPress plugin did made HostGator (my old host) mad. They didn’t disable my account but disabled access to my main blog directory. I even tried to convince ‘em that I’ll disable the plugin as soon as I’m able to access my WordPress admin CP but don’t know why they kept my main directory inaccessible for 3 days.

    That was the time when I switched to DreamHost forever. My blogs have been running under a DH shared hosting plan since April, 2007 and fortunately, I’m yet to face any trouble.

    So completely agree on your point that we can’t trust every plugin for a pretty strong reason. Every WP plugin author isn’t a programming expert. Some of ‘em write quick and dirty code to solve their own problem but release it in public thinking that others may find the code useful.

    I personally don’t use any WP plugin without going through the comments left by plugin users. I also hesitate to try newly released plugins if the plugin hasn’t been released by the WordPress experts.

  11. @Michael – Man, 4 days is a long time in the life of a blog :(

    @Jack – I really don’t need a dedicated box right now, and to be honest I hate the administration involved in looking after your own server (I think doing it as a job killed any enjoyment I would have gotten from it ;) )

    @Avinash – Exactly, a good recommendation and demonstrable use on a high traffic blog is good to have but in the end, you have to try it on your own as only you have your exact mix of template and plugins!

  12. @Michael – Man, 4 days is a long time in the life of a blog :(

    @Jack – I really don’t need a dedicated box right now, and to be honest I hate the administration involved in looking after your own server (I think doing it as a job killed any enjoyment I would have gotten from it ;) )

    @Avinash – Exactly, a good recommendation and demonstrable use on a high traffic blog is good to have but in the end, you have to try it on your own as only you have your exact mix of template and plugins!

  13. You are kidding me… Did they seriously send you such a letter? It’s not only rude but also very unethical if you would like.

    I have always held this plugin in high regards, I guess I will have to deactivate it from now on. Thanks for the alert!

  14. You are kidding me… Did they seriously send you such a letter? It’s not only rude but also very unethical if you would like.

    I have always held this plugin in high regards, I guess I will have to deactivate it from now on. Thanks for the alert!

  15. Ahh… chris…even John Chow had problem with this plugin. The thing is it searches the list of all commentators and emails them. When you have a large number of comments, then the server load gets high.
    I’ve my share of issues which I posted here
    Some bad WP plugins:
    top post by category
    bastats
    Older version of UTW
    These plugins are good for very small sites but for sites with say around 1000+ traffic – they are dangerous…

  16. Ahh… chris…even John Chow had problem with this plugin. The thing is it searches the list of all commentators and emails them. When you have a large number of comments, then the server load gets high.

    I’ve my share of issues which I posted here

    Some bad WP plugins:

    top post by category
    bastats
    Older version of UTW

    These plugins are good for very small sites but for sites with say around 1000+ traffic – they are dangerous…

  17. Chris, I tried to warn you about using the original version ;). Patchlog has an optimized version out that lessens the load placed on your server and in my case, actually worked rather than blowing up my blog. I’ve linked to it in my post Comment Relish Back in Action but I think there might be an even newer version out as well.

  18. Chris, I tried to warn you about using the original version ;). Patchlog has an optimized version out that lessens the load placed on your server and in my case, actually worked rather than blowing up my blog. I’ve linked to it in my post Comment Relish Back in Action but I think there might be an even newer version out as well.

  19. A good example of why it is important to make only one change to a blog at a time. Then wait for it to work or not B 4 making the next change.

  20. A good example of why it is important to make only one change to a blog at a time. Then wait for it to work or not B 4 making the next change.

  21. @College – Don’t deactivate it, try the version Blogging Experiment suggests :)

    @Ashwin – Yeah it seems a lot of plugins are not load tested!

    @Blogging Experiment – Now you mention it I do recall you saying something :S

    @Birney – Yup, although the effects of this took quite a while to surface!

  22. @College – Don’t deactivate it, try the version Blogging Experiment suggests :)

    @Ashwin – Yeah it seems a lot of plugins are not load tested!

    @Blogging Experiment – Now you mention it I do recall you saying something :S

    @Birney – Yup, although the effects of this took quite a while to surface!

  23. That query really is not an issue, an inner join and a left join, no big deal, your hosting company obviously thinks its clever to send such a technical email, but in reality that don’t have a clue. With the correct indexes the query should take no more time than any other query. It is more likely that the plugin does not update the indexes for the relevant tables.

    My guess is that your overall traffic is high, and this slightly more complex query stood out, (or something is broken).

    I have a few blogs running under a VPS with much more complex SQL without any issues (with 5000+ unique visits per day) But overall I think moving to a dedicated is always the way forward.

  24. That query really is not an issue, an inner join and a left join, no big deal, your hosting company obviously thinks its clever to send such a technical email, but in reality that don’t have a clue. With the correct indexes the query should take no more time than any other query. It is more likely that the plugin does not update the indexes for the relevant tables.

    My guess is that your overall traffic is high, and this slightly more complex query stood out, (or something is broken).

    I have a few blogs running under a VPS with much more complex SQL without any issues (with 5000+ unique visits per day) But overall I think moving to a dedicated is always the way forward.

  25. I’m on dreamhost, and haven’t had any complaints about that plugin. Still, I like to keep track of these issues.

    As for other plugins, I wrote a plugin that lets me at least see which plugins that run when you load a page use a lot of time.

    Still, it wouldn’t catch issues with comment relish, since that doesn’t run with page loads.

    (I had a problem with aLinks, but it was really a PHP problem. The developer has included the work around the PHP glitch in his new version.)

  26. I’m on dreamhost, and haven’t had any complaints about that plugin. Still, I like to keep track of these issues.

    As for other plugins, I wrote a plugin that lets me at least see which plugins that run when you load a page use a lot of time.

    Still, it wouldn’t catch issues with comment relish, since that doesn’t run with page loads.

    (I had a problem with aLinks, but it was really a PHP problem. The developer has included the work around the PHP glitch in his new version.)

  27. Frankly, I don’t use many plug-ins just because of problems like this. My blog is fairly new with a low daily visitor count, so I’m still working on just getting some quality content.

  28. Frankly, I don’t use many plug-ins just because of problems like this. My blog is fairly new with a low daily visitor count, so I’m still working on just getting some quality content.

  29. I’m going to have to agree with Nick, the query looks fine. You just may have thousands and thousands of comments so it slows things down. Maybe if you threw some indexes on there.

  30. I’m going to have to agree with Nick, the query looks fine. You just may have thousands and thousands of comments so it slows things down. Maybe if you threw some indexes on there.

  31. Thanks Chris.

    I’ve been using DreamHost since ages now but am thinking of moving to a dedicated or a VPS server. Not only because of such reasons that you faced… But also because Dreamhost has a policy of allowing only 100 outgoing emails per hour.

    So if you use a Comment Relish plugin and Notify on New Comments plugin – and have quite a few domains hosted on one dreamhost account, you could have potential email troubles…

  32. Thanks Chris.

    I’ve been using DreamHost since ages now but am thinking of moving to a dedicated or a VPS server. Not only because of such reasons that you faced… But also because Dreamhost has a policy of allowing only 100 outgoing emails per hour.

    So if you use a Comment Relish plugin and Notify on New Comments plugin – and have quite a few domains hosted on one dreamhost account, you could have potential email troubles…

  33. I’m also with DH and I have a paid up contract for another 6 months so I won’t be moving any time soon. I was going to install comment relish, too.

    Depending on how many comments you get, there’s always the old fashioned personable email to your commentors, or even better, change the MySQL query and modify the plugin. Then you just have to choose if you want to spend the time doing that, or working on SEO. ;)

  34. I’m also with DH and I have a paid up contract for another 6 months so I won’t be moving any time soon. I was going to install comment relish, too.

    Depending on how many comments you get, there’s always the old fashioned personable email to your commentors, or even better, change the MySQL query and modify the plugin. Then you just have to choose if you want to spend the time doing that, or working on SEO. ;)

  35. I have just installed that same plugin :(
    and yes I have had trouble with plugins before, I had a gallery plugin conflict with a javascript plugin that adds a rel attribute to save the user adding it for lightbox, took me a while to figer that out and many gray hairs…
    can read more here

  36. I have just installed that same plugin :(

    and yes I have had trouble with plugins before, I had a gallery plugin conflict with a javascript plugin that adds a rel attribute to save the user adding it for lightbox, took me a while to figer that out and many gray hairs…
    can read more here

  37. You know, the more I think about it, seems like if you added a date/time range value that you could query only recent rows instead of the whole database…I could see wanting to query the entire db the first time, but after that, there’s no need to.

  38. You know, the more I think about it, seems like if you added a date/time range value that you could query only recent rows instead of the whole database…I could see wanting to query the entire db the first time, but after that, there’s no need to.

  39. Interesting post. It just goes to show how much resources some of these WordPress plugins can consume.

    It’s not a bad plugin. I used it for a while, although nowadays I prefer to send emails to first time commentators manually. It allows me to send more of a personal thank you rather than the ‘canned’ message approach of the plugin.

    For large scale blogs this approach would be too much effort but for smaller blogs like mine it has worked well.

  40. Interesting post. It just goes to show how much resources some of these WordPress plugins can consume.

    It’s not a bad plugin. I used it for a while, although nowadays I prefer to send emails to first time commentators manually. It allows me to send more of a personal thank you rather than the ‘canned’ message approach of the plugin.

    For large scale blogs this approach would be too much effort but for smaller blogs like mine it has worked well.

  41. @Nick – I will move to a dedicated server eventually but only when I really have to. Having run servers in the past it is not something I am eager to get back into.

    @lucia – As others have suggested, I think it could be down to the visits/comments my blog receives, I still think the plugin is a great idea even if I daren’t use it now!

    @Brad – That is definitely the way to go, although it is a bit more embarrassing when things go wrong on a popular blog :)

    @Sara – Yeah but I am not going to risk it now :)

    @Ankesh – I didn’t know that about the email. Hmm, that sucks as the forum alone has probably pushed that email limit before now.

    @JoLynn – My problem is identifying the new commenters (especially as people change their names ;) ) so I am going to keep thinking how I can safely do it

    @Jermayn – It can be a pain debugging these things, it is one thing drupal has going for it, the debugging tools

    @JoLynn – Hmm, but it needs to identify new commenters?

    @Dean – As I say above what I need is an easy way to identify new people, but I could do it with a batch process I guess so at least the query would run once a day not every comment …

  42. @Nick – I will move to a dedicated server eventually but only when I really have to. Having run servers in the past it is not something I am eager to get back into.

    @lucia – As others have suggested, I think it could be down to the visits/comments my blog receives, I still think the plugin is a great idea even if I daren’t use it now!

    @Brad – That is definitely the way to go, although it is a bit more embarrassing when things go wrong on a popular blog :)

    @Sara – Yeah but I am not going to risk it now :)

    @Ankesh – I didn’t know that about the email. Hmm, that sucks as the forum alone has probably pushed that email limit before now.

    @JoLynn – My problem is identifying the new commenters (especially as people change their names ;) ) so I am going to keep thinking how I can safely do it

    @Jermayn – It can be a pain debugging these things, it is one thing drupal has going for it, the debugging tools

    @JoLynn – Hmm, but it needs to identify new commenters?

    @Dean – As I say above what I need is an easy way to identify new people, but I could do it with a batch process I guess so at least the query would run once a day not every comment …

  43. Hi Chris,

    You’re right – good point! ;) ….there has to be a way to code it though, so that it doesn’t have to run through the entire db….might have to include another table… I don’t write plugins, as I’m spending enough time writing content on my blog as it is, but it would be great if it gets re-written so that it can be used. I never installed it and was about to before I read your post. Thank you! :)

  44. Hi Chris,

    You’re right – good point! ;) ….there has to be a way to code it though, so that it doesn’t have to run through the entire db….might have to include another table… I don’t write plugins, as I’m spending enough time writing content on my blog as it is, but it would be great if it gets re-written so that it can be used. I never installed it and was about to before I read your post. Thank you! :)

  45. Dreamhost are the same company who many bloggers said had blocked out Googlebot on their clients’ sites – supposedly all of them. They’re also down constantly. I know because at one time I wrote for several blogs (and owned a few) hosted there and it was an utter pain in the ass.

  46. Dreamhost are the same company who many bloggers said had blocked out Googlebot on their clients’ sites – supposedly all of them. They’re also down constantly. I know because at one time I wrote for several blogs (and owned a few) hosted there and it was an utter pain in the ass.