If you have ever released a plugin or theme for public use, it is very likely that you have received negative feedback from users. Regardless of how high quality your theme or plugin, there are always users that will dislike it for some reason or other, perhaps it’s because of a conflict with another plugin or theme, or they just plain didn’t like it. Not liking something is perfectly fine, and expressing you do not like it via a negative review is also fine, but the majority of time that a negative review is left, it’s done so very poorly. As someone that has seen their fair share of negative reviews, I’d like to talk a bit on how to leave a bad review.

Bad reviews are left for a variety of reasons, including bugs, conflicts, misunderstandings, negligence, ignorance, and many other reasons, but none of them really matter for this discussion. Ultimately a bad review is left for one reason: an unhappy user.

When you, as a developer or designer, receive a bad review, it hurts. Nothing feels good about someone telling you your work sucks, regardless of whether the review is justified or not. What hurts more than a bad review is a bad review that is rude, unfair, or from a user that has never given you a chance to help them.

Let me show you some examples of very poor bad reviews, all of which were 1-star reviews from various plugins, some mine and some not. By “poor” bad review I simply mean the way or reason the review was left. Remember, there is nothing wrong with a bad review that is justified.

Taxes bug!

このEasy Digital Downloads のプラグインは、プライス20,000.以上で

税金5 %

なので、Rating は、1.

This review roughly translates into: “there is a bug with taxes”. This is a really poor bad review for several reasons:

  •  It doesn’t explain why this is justifiable for a bad review. Bugs themselves do not warrant bad reviews. If bugs are left unfixed for long periods of time, that warrants bad reviews. For this particular bug, it was fixed the same day the review was left and I had previously been working with the user to fix it for the week prior.
  • It’s basing the entire review (and thus the quality of the entire plugin) on one single bug. Would you say that a movie is terrible because it has one bad scene?
  • The user who left the bug had opened a support ticket a couple of days before and then got impatient after just two days and decided to rate the plugin one star, even though he had openly said he was very happy with it otherwise.

This next review is one of my favorite bad reviews I’ve gotten, in a sarcastic kind of way:

Your crappy plugin doesn’t work. Waste of a download..

Hmm.. I should buy pro!

A few reasons this one is terrible:

  • It’s rude. Come on, you’re already telling someone their work sucks, at least be semi polite about it.
  • It tells nothing about what the actual problem was. What exactly didn’t work with the plugin? Well, since he didn’t say, we have no idea. There could be a legitimate bug that was a show stopper for this user, but since he didn’t say, we will never know and thus cannot fix it for other users.
  • It’s sarcastic.
  • It implies a sense of entitlement. Apparently downloads are expensive and I just took away from his “download currency”.

Here’s another “great” one:

Does not accept the image when insert clicked.

This review is a little better than the previous one because at least it indicates what the problem was, but this review should have been posted as a support ticket. The user clearly noticed a bug but never asked for help, instead they left a bad review. From experience I know that this particular issue takes about 3 seconds to fix, and I would have been more than happy to explain to the user how to resolve it, but I was never given the chance.

This is now the third day we’ve tried to accommodate this plugin. The shopping cart doesn’t seem to work even on woothemes. Support is all but non-existent, but frustration is at an all-time high. I would recommend staying right away from this product unless you have more time and patience than you know what to do with.

The first thing that irritates me with this review is that the user clearly states it is only the third day they’ve been trying to use the plugin. I love rapid support with less than 12 hour response times as much as anyone else, but I also strongly appreciate the fact that it isn’t always possible, especially with free plugins.

Was a nice product until I see the Nickel and Dime you to Death for add ons.
Brands should be defalt in the software not a $25.00 add on for example.

This person is basing their entire review on the fact that one particular feature they wanted was a $25 extension. They even openly state that they liked the plugin before needing to purchase an extension. This particular review was left on WooCommerce. Just how many hours do you think go into developing a large ecommerce plugin? I’ll give you a hint, 10,000 is not an exaggeration. This person is unhappy because more than 10,000 hours of development have been given to them for free and then they’re asked to pay a measly $25 for additional features? Come on.

Warning: Cannot modify header information – headers already sent by (output started at /home/xxx/public_html/clients/xxxx/wp-content/plugins/wp-e-commerce/wpsc-includes/google-analytics.class.php:69) in /home/wstbd/public_html/clients/wassco/wp-includes/pluggable.php on line 876

will you please help me

Similar to one of the reviews noted above, this review is actually a support question, yet they chose to post it as a 1-star review. If you expect to get help, do not start by insulting the developers with an unjustified review before you even allow them to try and help you.

Not working, can’t access settings page. :/

Again, is this really all you’re going to say when giving the developer a one star review on their plugin? This should be posted as a support request so that the developer can have a chance to try and help you. Most problems are very simple to fix and are more often than not a simple mistake by the user or a simple conflict with another plugin.


A bad review should keep several things in mind:

  1. It should clearly explain what the issue encountered was. Simply stating that there is a bug tells the developer nothing.
  2. It should be polite. Remember, you’re telling someone that their work has a serious problem, so be nice. You may have a sense of anonymity on the internet but the developer will still be emotionally affected in exactly the same way as if you’d walked up to them on the street and said it to their face.
  3. It should never be posted until a reasonable attempt to get support for the problems has been made. Nothing is more frustrating to someone that actively supports their free products than having someone tell me a plugin doesn’t work without even being given the chance to help fix the issue.

Beyond the points made above about poor bad reviews, there is one thing that is almost always consistent across ALL bad reviews: the original poster never responds to comments left by the developer after the review is posted.

When someone leaves a bad review, the developer is almost always interested in helping the user take care of the issue.  There is very little better than successfully turning a 1-star review into a 5-star review. As developers, we (usually) like to help people use our plugins. It feels good when users say “Thank you, works great!” and we like to see more of that, so when someone leaves a negative review, we (usually) try and help figure out what the problem was and how we can resolve it. This is extremely frustrating, however, when a user leaves a negative review and then never comes back to respond to the comments left by the developer.

If you are going to leave a bad review, you should feel obligated to respond when the developer tries to help you. The developer has taken the time to try and help fix things for an unhappy user (who are the most unenjoyable to deal with) so do them the favor of following up.

I’d like to show you an example of a quality bad review:

As a developer, I was a little bit surprised when digging into the internals of the plugin. It creates custom database tables for things like Pages, Categories and Ads. As such, naturally, it creates custom admin UI for all of these.

Best I can tell, there is no reason to do any of this – it makes for an incredibly janky admin UI, very unintuitive querying mechanisms, and surprises at every turn. Hoping that the developer of the plugin takes it in a forward facing direction, converting Ads to Custom Post Types, using a custom taxonomy for Ad Categories and stripping all the unnecessary admin UI code out in favor of core UI. It’s hard, but worthwhile.

There are several reasons this is a good bad review:

  • It’s polite.
  • It gives a clear indication of the user understanding exactly what the problems are and how to fix them.
  • It acknowledges the problem might be difficult to fix.

The developer of the plugin then came back with this:

The plugin dates back to 2007, which if you recall, predates all of the concepts and APIs you reference above–WP 3.0 wasn’t available until mid-2010 and widely adopted in 2011 with sweeping API changes when it happened. Given that is the case, this was the only way to implement the plugin (the original author’s choice, not mine) until custom post types came along.

You’re evaluating the quality of the code not the functionality of the plugin, which isn’t very fair. Particularly since it’s hard to change a major code base with lots of customers very quickly without breaking a lot of things.

We are working on migrating things actively and have been since the release of 3.0 when I took it over, but we have to balance that with bug fixes, feature enhancements and support as well. It’s easy to point a finger at the code and say “Bad!” when you don’t have to live with the consequences of changing it. 🙂 As a Plugin author, I’m sure you can appreciate that. If you look at AWPCP 2.2 compared with 1.0.6 (when I took it over), I believe you’ll see a huge change.

I would hope you’d reconsider your review in light of these things.

A very fair and well put response from the developer. The user who left the review then (as he should have) followed up to further explain why he felt the review was justified:

Hi there,

Thanks for writing back, I appreciate it. Please know that none of this is personal – it’s about the code, not about the people writing it.

I very much understand the process you’re going through. I’m one of the lead developers of WP e-Commerce – have been since 2010. That plugin has been around since 2006 – so I know exactly the pain points you’re imagining, the pros and cons you’re balancing, the weight of a large project, etc. I get it. We have over 2.2 million downloads – I understand the weight of code + community 😉

Beyond that, I was the primary developer tasked with converting the admin area to utilizing custom post types for everything – we had custom tables for products, product categories, variations, etc. It’s all custom post types and taxonomies now. So rather that use the cop-out that “it’s not fair to evaluate the quality of the code” – let’s take some personal responsibility here, recognize that proper code is worth evaluating – and move forward. Saying that it’s hard to change a major code base with lots of customers – that’s true, but it’s just an excuse – not a valid reason for not doing it.

And I’m the last to point the finger and call something garbage without good reason. Have you seen some of the reviews against WPeC? I’ve been on the receiving end of that enough times to know better. That said, certainly you know as well as I do that it’s beyond silly that here we are, in 2013, and you have custom tables for categories, pages and ads. Right?

So, that all said – write your upgrade routines, move to custom post types and taxonomies, don’t break backwards compatibility – a tall order, but our history testifies to the feasibility – and I’ll happily change my rating. I should imagine you’d shave off thousands of lines of code, as we did – and have a much more performant and maintainable plugin.

Bad reviews once in a while are healthy; they help developers better understand pain points in their plugins. Poor bad reviews help no one whatsoever.

If you are going to take the time to leave a bad review, please take a few extra moments to make sure it is a good bar review.

  1. Rudd

    One does not simply give a bad review without asking for help first 😉

  2. Eric Daams

    I love the exchange you posted at the end there. As a developer, I would count myself lucky to get solid feedback like that, especially from another developer who obviously knows their stuff and has been in a similar situation to you.

  3. Stuart

    Spot on Pippin. This should be required reading for all WordPress users. 🙂
    I saw a sticky the other day on Yoasts SEO plugin thread which might be a useful model for other developers (myself included) to guide would-be support requesters (and may be star-raters/reviewers) exactly what to do when requesting support.
    I liked the very clear bit in the box at the bottom of that 🙂

  4. FranceImage

    All that is very true.
    A few comments

    1/ Internet creates ‘road raging’ behaviours and a I guess a lot of bad reviews are made behind the safety of a screen. The authors of these reviews would actually dare in ‘real’ life.

    2/ To some extent it does not ruin your reputation because ‘fair’ users are not fooled; these users (all of us) should support the developer in the case of bad reviews/comments.

    3/ It shows how unreliable any rating system can be: as a user you just can’t rely on a 1 to 5 star system to evaluate a plugin

    4/ When you go public with your work, you definitely have to put on your armor and not take anything personally. It can lead you into polemic .. and this can have a negative impact

    • Pippin

      Absolutely agree on all points.

  5. Tom McFarlin

    This is one of those posts that i’ll be saving and passing off to people when they leave certain types of feedback.

    That said, I think this goes both ways: Just like getting crappy public reviews suck, I’d probably shoot them to them privately :). By nature, I’m not an optimist but I’d like to believe they don’t realize just how poor it reflects on them and how little it helps the developer to leave lame reviews.

  6. corsonr

    Great post! I think i’m going to include this link in all my plugins documentation, all my website pages, in my BBpress signature, in my emails, and the more i think about it, the more i think i should actually do a tattoo of this page URL. That’s so true! I can’t stand bad review (i mean review that says it sucks but without any explanation!).

  7. FranceImage


    Bad comments on internet are usually similar to road raging: behind the screen a lot of people may behave in a way they would not in ‘real life’.

    I don’t think users are fooled by bad comments and reviews which are just an annoying noise when you want to get some information from the reviews.

    Finally, I think rating should be banned if there is not fact backing the mark.

  8. Paul

    There should be some sort of a notice before the review form with guidelines on how to leave a good review. and maybe better stricter moderation

  9. Neil

    Your post sucks. It makes no sense.

    Haha just kidding. You hit it right on the nose, great post! I think the problem is a lot of times people make those reviews before enough time has passed to make it a true review and not just an impatient rambling of their issues. Just be patient follow the process do the time then make a solid review. Simply saying it sucks helps no one, including the reviewer.

  10. DrewAPicture

    As I mentioned on Twitter, it would be nice if we (forum mods at least) were able to convert faulty bad reviews to support posts for the affected plugins. I can’t tell you how many times I’ve seen bad “reviews” that were just misplaced help topics.

  11. Tran Ngoc Tuan Anh

    100% agree with you. Sometimes, I got tired of questions with nothing in its content! And after reading such questions, the only action I can do is just removing it! People really need to learn how to ask smart questions (see the good how to here http://www.catb.org/esr/faqs/smart-questions.html, it’s quite long, but worth reading), at least let us know what exactly the problem is. It’s something belongs to awareness and personality, not technique. So, be a good person, be a good user.

  12. EnigmaWeb

    Great article – spot on for all points.

    One thing I find tough as a developer of free plugins is that many users only choose to give a rating/review when things are not going well for them. I’m guessing its because thats the time they feel most strongly about the plugin, and the time when they are browsing the support forum or plugin page so they might let off steam a bit by rating the plugin poorly while they’re frustrated. I know there are exceptions because obviously some users do give nice ratings when they’re happy, but I wonder if there’s something we can do to encourage happy users to give ratings more often? Because I sometimes feel like the ratings get skewed towards the unhappy minority. Anyone else experience this phenomenon?

    • Pippin

      There is definitely a skew.

    • Chip Bennett

      This phenomenon is true of ratings/reviews for, essentially, everything: people rate/review things when they feel strongly about them, whether that feeling is good or bad. Look at reviews for hotels, restaurants, movies, airlines, etc.

      The key, when reading any set of reviews/ratings, is to understand that the opinions are not a representative sample of every user/patron, but rather is a biased sub-set of those who had especially good or especially bed experiences – and further, that the bias is skewed more toward bad experiences than toward good experiences.

    • Pippin

      Very, very true. It’s pretty rare to see 3 or 4 star reviews.

  13. Paula

    Great article. I think that bad reviews should be accompanied by the reviewers details – their real name at least and a website/blog so readers can see where they’re coming from.

    Perhaps then they might be more considerate and careful about what they write.

  14. Ryan Hellyer

    On the flip-side of this, I had a plugin developer send me an aggressive email claiming that my reasons for giving them a three star reason were unwarranted and that I was a joke. They seemed surprised when I dropped them to a two star review and demanded I be more reasonable.

    • Pippin

      That could definitely be true.

    • Pippin

      Ha, I can’t help but laugh a little at that

  15. Brian Povlsen


    I was just yelled at by a developer on both Twitter/WordPress.org for giving a one star review. I was suggested to read this link as a way to write a more detailed 1 star review.

    First, lets look at this issue from the customer point of view. We as technical people understand that many factors go into software issues. It becomes very frustrating when our users complain about the lousy system when they are the cause of the problem. Ok, I get that and why this article is written.

    However, the other side of this is that the majority of people using WordPress are non technical users and not only are they not able to write a detailed review, they don’t want to! Is it is the job of the person who isn’t being paid to support WordPress to contact the developer and work out the bug/make a technical support request? It is not.

    No one likes criticism, but sometimes criticism is justified and if you can’t take criticism then don’t release public software. Don’t make your customers your technical support. Nothing is perfect, but if a customer says they prefer something else then accept that and accept that there will always be those who disagree with your biased perceptions of your software.

    • Pippin

      Hey Brian,

      I haven’t seen the review that you left that caused someone to point you here, but I don’t think leaving a “good” bad review has anything to do with being technical or not.

      For example, saying “It sucks” or “It doesn’t work well” is very unhelpful (to both developers and users), but saying “It has some problems due to X, Y, and Z reasons” is helpful to everyone.

      If someone has used a plugin (or any piece of software) and have decided to leave a bad review, that means they have identified, at minimum, one aspect of the plugin they didn’t like. All the user needs to do in order to leave a “good” bad review is simply explain why it was poor, not just state “it sucks”.

    • Ron

      I was just yelled at by a developer on both Twitter/WordPress.org for giving a one star review.

      Is it the job of the person who isn’t being paid to support WordPress to contact the developer and work out the bug/make a technical support request? It is not.

      WordPress.org hosts FREE, Open Source plugins. The rating system on that site is intended for the free plugins that are hosted there. If a user chooses to use any of those free plugins then they shouldn’t consider themselves as “customers”. The least a user can do is help out if there is an opportunity to do so. If we stick to the “It’s not my job” type of mentality then very little progress can be made on improving a software that could be useful to other people as well.

      The author was right though, if you haven’t even raised any support questions before rating the plugin then you weren’t being fair. Your particular problem could have been specific to your setup.

  16. Joyce Gustafson

    I had a very bad experience with my broker. One she rarely answered her phone her box was always full she could not be reached. Her emails didn’t make sense most of the time. I had to pay her $500.00 to get her to release me. She told me that my house was not marketable list reason of no parking. I do have a pod that will be gone when I move. She was not doing things that I ask her to do. She would have open house on a week day and the time was 4:30 to 6 P.M. Her statement was she did not work for me and that I was not her mother. She is the head broker of her own company. She stayed up on the listed for days after I paid her the $500.00 a number of different people have remark about her unprofessional conduct.

Comments are closed.