13 Responses

  1. Nate Wright

    I couldn’t agree more about turning comments off on pages/CPTs. In all my client work with small businesses, I have never had a client which wanted comments on anything but posts. And most of those sites which had comments on posts received almost nothing but spam.

    This isn’t a problem when I work with them for a fresh start. I can just turn them off globally and — the hack I often resort to — remove the comment section from page templates. But one site I worked with that had an active blog for years had 20,000-30,000 spam comments in their history — and who knows how many valid ones. We had to just get rid of them all and shut down commenting, because they didn’t have the time to moderate them.

  2. Andrea_R

    Yes, the allowed tags needs to be removed by default. I hear people wanting this gone all the time.

    As for spam – more people need to use the default moderation and blacklists options that are built in. Everyone I’ve looked at with spam issues never had those filled out.

  3. Brady Vercher

    Nice wrap-up of some of the issues with comments, Brian.

    I’ve noticed that users very rarely realize they can disable comments on a per-page/post type basis, so pages wind up with unnecessary comment forms — especially contact pages.

    I wrote a quick plugin a few months back that exposes settings to allow comment/ping status to be toggled per post type using a concept similar to your snippet above. I might have to throw that on GitHub one of these days. While writing the plugin, I discovered that using quick edit on a hierarchical post type will always disable pings, no matter what the saved setting is. Considering that bug has been around for years, my guess is no one really pays attentions to pings or comments on pages, so your suggestion to disable them by default is worth considering.

  4. Lachlan MacPherson

    Thanks for such a thorough write up! I was nodding in agreement reading through each point. It’s funny the things you get used to doing for each project like disabling comments on pages and forget that everyone else has to go through the same thing.

    Comments as a feature hasn’t received a lot of attention in a while so it would be great to see a ‘back to the blog’ release focusing on improving blog features in WordPress.

  5. Todd Lahman

    Native WordPress comments can be completely free from spam by using Simple Comments. Once you try it, you’ll wonder why you wasted time trying anything else.

    http://www.toddlahman.com/shop/simple-comments/

  6. Enstine Muki

    Very correct! I specifically agree with point #1 and thanks for the piece of code to handle it

  7. Chris McCoy

    the comment form filters are handy, you can move the textarea to the top, change the profile link instead of going to the backend, going to your author page, very handy.

  8. Chris Aprea

    I went to share this article and noticed the lack of sharing/social media buttons in this article. Are you not a fan of them Brian?

    1. Jeffro
  9. Andrew Nacin

    I agree with most of this, for sure. I think trying to combat spam in core is a fool’s errand. The spammers will just work around whatever we try — it’s an arms race I have no desire to join. But other than that, I’m game.

    Most of this will require us to get serious about overhauling Discussion settings (the settings page, meta box, etc.). I think we can do a lot of this in a backwards compatible way, mainly because doing it that way happens to coincide with doing it the smart way. Things I like:

    I think we could tighten up the avatars section a bit. One, we can hide all of those monsters if someone has disabled avatars (the option right above that one). And two, we can probably make that more compact, it takes up too much vertical space. While the idea of core avatars isn’t a bad one, I’ve always found local avatars to be a lot of trouble, possibly more than they’re worth.

    I like disabling comments on pages by default. I also agree we need better controls for controlling comments globally. Ultimately, it’s not an easy user experience problem to solve. There are two many mixed states — comments are turned off globally, but individual posts can override that setting? Or vice versa? Or no? Or is it a one-time “action” that updates the database, rather than applying a generic filter? The implementation of any of these is pretty simple; the UX of how the user interacts with settings and posts is a bit more challenging.

    I don’t outright love removing the website field. On one hand I get why it could turn people away from commenting. On the other hand, it prevents the commenter from having any real identity. There’s no way for anyone else to connect with the commenter if they wanted to. Comments in general kind of suck, but I’m not sure making them more anonymous and even less important is the right way to improve them. (For what it’s worth, Akismet adds a cool little feature that lets you remove a website from a comment by clicking an “x”. I guess for when you want to approve a comment but their website is a bit spammy? I dunno, I guess maybe it isn’t that cool of a feature.)

    We already have a setting for requiring them to fill out their name and email, so it’s possible a redesign of the settings page could allow for this to work its way in.

    I also like removing allowed tags by default.

    I think a number of the quirks pointed out here date to a time when the web was less centralized and blogging was more niche: allowed tags suggest HTML knowledge, website fields suggest you have your own site, etc.

    1. Chip Bennett

      I agree with Brian in suggesting that the alternate avatar sources be removed. IMO, that’s an easy-win port to a Plugin.

      I think that Gravatar support out-of-the-box provides a means of connection to/identity of commenters. The Website field is probably superfluous.

      I also think that core support for local avatars is pretty important for any site intended to be used by more than a single person: band sites, group sites, business sites, etc. How big is that subset of overall WordPress installs? I don’t know. But I think support should be considered.

      Removing the list of allowed HTML tags is also a good idea, but I agree with Jeff Chandler: it should be replaced with some form of quicktag/markdown button/something to allow for easy, rich-text commenting. (Or am I the only one who likes to add formatting to comments? :) )

      I’ll have to dig up an old Trac ticket that dealt with exposing per-post-type comment-disabling options. The interest has been around for quite a while now. I definitely think it’s needed.

  10. emma

    This is really a great information for developers. To fresher, it could be of high level, but don’t worry.. There is an another great site for fresher as well as experience! try it

Leave a Reply