I’ve decided to move the comment system on Snipe.Net over to Disqus. I like it so far, but I’ve run into a few glitches and challenges that I thought I’d share with you. (Also, it explains why things may look funny here for a few days while I work out the display kinks.)

What’s Disqus?

Disqus is a commenting system that you can apply to any website. If you’ve got a static site that you want to enable comments on without mucking around with databases and scripting languages, Disqus might be something you want to look into. Disqus can also be used (as in this case) as a replacement for a standard commenting system like WordPress’ native comments. Oh, and did I mention it’s free?

I’d like to be very clear here with regard to what Disqus is NOT. Disqus is not a content management/blogging platform. It would not replace your WordPress or Movable Type installation, and the way by which you post new content. It handles only the comments, and is basically agnostic to your actual site content.

I’ve known about Disqus for years, but normal WordPress commenting was enough to do the job for me, so I never bothered investigating it much, but with the emergence of third-party login connections like Facebook Connect, Twitter’s OAuth, OpenID, and so on, I realized I wanted to offer these ways of authenticating to my site users. Hacking WordPress (or using several clunky and sometimes conflicting plugins) for each one of these authentication methods wasn’t something I had the energy to do, plus Disqus offers a few additional features I really liked, such as tracking “reactions” and the ability for users to upload a video response.

Disqus isn’t the only one doing this. IntenseDebate.Com offers very similar services and an almost comparable feature set. I set up an IntenseDebate account and even set up the WordPress plugin, but ended up a little underwhelmed, for reasons that are outside the scope of this article. If you’re interested in comparing the two, check out this wiki page by deuts.org.

Why Disqus?

What really convinced me that Disqus was stable and strong enough to give it a shot is the fact that Mashable.Com uses Disqus exclusively to handle their site comments, and that’s kind of a big deal. As a frequent visitor to Mashable, I always love being able to one-click login to reply, and seeing the “reactions” is always interesting to me.

I’ve already mentioned a few of the things I really like about Disqus – and for a full feature set, visit their website and click on the “This is why you should too” link on their homepage – but these were the key factors for me:

Ability for a commenter to use Facebook, Twitter, OpenID, Yahoo and other networks to authenticate and post. This was probably the most important factor. I had previously hacked together some Facebook Connection functionality, but it was a massive pain in the ass, and would cause the page to reload itself once on every page load in Firefox. Really annoying. Plus, I wanted to widen the net to OpenID and Twitter, without a lot of extra work. Logging in is still optional, but more features are available if the user logs in using one of the methods offered.

Facebook Newsfeeds. This was part of the reason I had originally hooked up Facebook Connect to the site in the first place – the ability to allow the user to post a notification to Facebook that they have just commented on my site. I am intimately, painfully aware of the effectiveness of the Facebook news feed in spreading content because of my extensive work developing Facebook applications, so this was a feature I definitely wanted.

Incidentally, when you sign up for Disqus, they give you an API key based off of Facebook’s new fourth-party functionality that lets services like Disqus create an application on the fly. IntenseDebate, on the other hand, asks you to manually create an application in Facebook and then enter your API key.

Ability to track Reactions. As I’ve mentioned, this is a feature I really like about Disqus. Reactions are similar to trackbacks, although my WordPress has never been great about capturing all of the places one of my posts might have been mentioned, especially social networks. Reactions let you mine social comments and mentions from places such as Twitter, FriendFeed, Digg, and YouTube, then display them with your comments:

Screen shot 2009-10-23 at 12.12.37 AM

“Record a video” option. While I absolutely do not expect anyone who visits this blog regularly to ever record a video response (and frankly it would probably be a little creepy if they did), this was interesting to me for another project I’m working on where that type of thing would totally make sense, so I figured I’d include it and see how it worked.

Response rating. The “like” functionality is something I think is useful to get an idea of who the people are who are contributing the most valuable comment content to the site.

Email notifications of follow-up comments. This is something I have had for a while on Snipe.Net by way of a WordPress Plugin called Subscribe to Comments – and it is such essential functionality, it actually surprises me that WordPress hasn’t made this part of the core yet. The Subscribe to Comments plugin worked fine, although it was a little on the clunky side to customize the look+feel.

So that’s what I was looking for. All of the functions above work as advertised, from what I can see so far, so I’m happy about that.

The Challenges

Everything was not exactly smooth sailing to start off with though, and I’m still trying to deal with some frustrations that come with Disqus. Depending on how customized your look and feel is, these may not even be issues for you, but since my site design is heavily stylized, it’s actually giving me some headaches. I’ll get into more detail in this section.

Import didn’t work. Disqus lets you import your existing blog comments from a variety of blogging platforms, including self-hosted WordPress installs, Blogger, Drupal, Joomla, Movable Type, Tumblr, Sandvox, chi.mp, Squarespace and more. I apparently was one of a handful of people affected by a temporary bug in their importer, and while it was frustrating at the time, they got it sorted the same day. I had emailed support, left a few blog comments on their blog and didn’t hear back, but they did eventually tag me back on Twitter. (Annoying that they didn’t respond with an acknowledgment of the issue before it had been fixed though. A “we’re looking into it” would have been nice, rather than leaving me wondering if anyone was there.)

Pain in the ass to style. The documentation on the styles used in Disqus is not exactly extensive. They basically tell you which CSS ids are used for a small handful of the elements in the Disqus thread block, but everything else you have to figure out on your own using Firebug.

Not a lot of flexibility in layout. This may not affect you at all if you’re using a pretty standard blog template. Mine was written from scratch, and although I still use a lot of the typical WordPress conventions (the HTML/CSS ids for the sidebar, for example), since you cannot actually modify the HTML that is output from the javascript calls, it can be limiting.

I had to take down my “Latest Comments” widget from the sidebar, since that was based on WordPress comments and it wouldn’t see any Disqus comments – but the Disqus javascript they provide to display most recent comments looked like braised ass in Marsala sauce when I tossed it into the sidebar. I may be able to work with it a little more, forcing my will through CSS alone, but this is time-consuming and even more annoying since there is no documentation on the styles being used there. I’ll keep plugging away at it, but if they let me define my own HTML containers for, say, the avatar and the text separately, it would be a lot easier.

Also, the “x comments” text that I usually have on the label over the blog image in both the blog post itself and on the category, homepage and tag pages is now basically sorta busted. Disqus uses javascript to fill in these areas, but you cannot customize the text from what I can see. Since my blog was designed with room for only “x comments”, not “x comments and y reactions”, this is making things look a little weird. I may have to actually redesign some of the sections to accommodate this issue, which makes me cranky.

In the Disqus admin, you only have three basic templates to pick from for your comments area display, none of which really rocked my socks. I picked the one that was the least weird-looking with my heavily stylized blog design, but as you can see, it still looks weird and amorphous. I’ll have to spend some time combing through the styles manually with Firebug to see how much I can improve that.

Also, protip: If your comment counts are not displaying properly on your index/category pages, be sure to check the box in the WordPress Disqus Advanced Options in your WordPress admin:

wordpress-02

They don’t make it abundantly clear what checking that box does, but my comment count wasn’t being displayed on my homepage until I checked that box.

Some features a little buggy. For example, default avatar upload isn’t working. I expect this is a temporary issue, but it’s frustrating having a brandy new comment system and seeing the shitty gray default Disqus icon all over the place. It’s great that you can upload your own default icon for your site, but it’s only great if it actually works.

Also, in the custom CSS section of the Disqus.Com admin area, they suggest you use @import to import an externally hosted style sheet. Only that didn’t work at all.

And finally, for some reason, the comment count at the top of the blog posts pages isn’t working at all, which is why you just see “comments” in the masking tape area above the blog image, instead of “x comments.” Not sure what’s up with that, but I’ll be pestering them about it later.

Standard paranoia. Since the blog comments no longer live on my server, if something were to happen to Disqus, temporarily or forever (DDoS, network outage, bankruptcy, etc), I’d be shit outta luck, same as happens any time you rely on a third-party system to host your content. Again, my concerns are slightly assuaged by the fact that Mashable trusts them.

The API

If you’re feeling ambitious, Disqus has a rudimentary API set up, however their documentation on this is arguably worse than any I’ve seen, and I’ve wrangled some gnarly APIs in my day. I should rephrase that – the API function documentation is adequate, but they leave out some really important details. Every request you make using their API requires either a forum API key or a user API key – only they don’t tell you WHERE you’re supposed to find your API keys in the first place.

So you’ve got a shiny new car, and an operators manual – but no freaking keys. NO WHERE in your dashboard does it tell you what your user API key is, and without that, you cannot find out your forum API key, forum id numbers, or anything else at all.

If you’re a standard site/blog owner who just wants to add comments to your site, you will probably never need to even look at the API, but in the off chance you actually end up tinkering with the API, here’s how you find out ALL of your API key and forum id information. Hopefully it will spare you the frustration and headache I went through to figure it out.

If you were writing a script to access the API, you might use something like cURL in PHP. To test these functions out, you can just use a command line terminal or ssh terminal using cURL as long as the machine you’re logged into via shell has cURL installed. The API responses are in JSON format.

You need to perform these in order, since each step relies on the information you obtained in the previous step.

1. To get your Disqus User API key (which you need to obtain your Forum API key and everything else):
Login to Disqus.Com, and go to this url – http://disqus.com/api/get_my_key/

2. To get your Disqus Forum ID:
Via command line, type:

curl -0 -L "http://disqus.com/api/get_forum_list?user_api_key=_USER_API_KEY_"

You’ll get a JSON response that looks like this:

{"message": [{"created_at": "2009-10-22 10:05:15.657635", 
"shortname": "snipenet", "id": "123456", "name": "Snipe.Net"}], "code": "ok", 
"succeeded": true}

3. To get your Disqus Forum API Key for the Forum ID:
Via command line, type:

curl -0 -L "http://disqus.com/api/get_forum_api_key?user_api_key=_USER_API_KEY_&forum_id=123456"

where the Disqus Forum IS you obtained from step 2 is ‘123456’. The message field in the JSON response should contain your API key, so you’ll see something like this:

{"message": "LONG_STRING_OF_LETTERS_AND_NUMBERS", "code": "ok", "succeeded": true}

Now that you’ve got all THAT, you can actually move forward with interacting with the API, as per the documentation.

Conclusion

It’s a little early in the game to know whether or not making the switch to Disqus was the right one. Fortunately, reverting it back to WordPress comments will take a lot less work than switching it to Disqus did, if it comes down to that.

I think Disqus will work out very well, and I’m excited about the new features it brings to my site, even if some of the styling and layout limitations are frustrating.

But hey, if you actually made it through this long, drawn-out post, leave me a comment so I can test how well Disqus is working πŸ™‚

ssd-virtual-servers-banner-468x60

Advertisement

Themeforest
beta_alert
Previous post

Twitter launches groups in BETA for some users

bugs
Next post

Awesome Gift Guide for the Geeks in Your Life

snipe

snipe

I’m a tech geek/dev/infosec-nerd/scuba diver/blacksmith/sword-fighter/crime fighter/ENTP/warcrafter/activist. I'm the CTO at Mass Mosaic and the CEO of Grokability, Inc. in San Diego, CA. Tweet at me @snipeyhead or read more...

  • I use disqus on most of my blog sites because some themes don't allow comments on pages. Its been good for me.

  • FWIW, Disqus (at least when implemented via the WordPress plugin) should be pumping the comments back into the native WP database, which would address two of your concerns. At least it's working that way over on my site.

  • Interesting – when I had checked before, it didn't look like it was doing that, but now the comment before yours is in there. So maybe there's a few minutes of lag between the sync. Good to know, thanks! πŸ™‚

  • Misty's avatar is showing up in my WP comments admin, but not on the site or in my Disqus admin. Docs say Disqus supports gravatars. Any idea why hers isn't showing?

  • Gravatars may or may not be broken. I can never tell from the discussion surrounding them on the Disqus blog. It probably has something to do with making sure to use the email address that Gravatar knows to claim the Disqus presence. I haven't played around with the Disqus Profile side of things.

    What I've found is that, while the comments sync, the commenter metadata doesn't. So sometimes people who had accounts/avatars before I switched have avatars in the WP Admin views, but not in Disqus until they set that up. The inverse also seems to be true, Disqus avatars don't show up in the the WP native views.

  • Cool. Disqus is way better than it used to be, with the multiple auth methods and such. Used to be you had to create an account directly with Disqus to use it, but I like that it will accept more types of credentials now.

  • Yeah, the multiple auth methods were the main reason I wanted to try it. I never make anyone login to anything to comment on my blog, so requiring an auth would have been a step backwards, especially if I was requiring an auth to a site *other* than my own.

    I'm liking it so far. The layout issues are pissing me off, because I had spent so much time designing this site, but hopefully I'll have some time to work at it more this weekend. Will document any CSS or tricks I uncover.

  • Hey guys, I'm Daniel from Disqus. Just stumbled across this page and read through the feedback.

    Thanks for the detailed writeup! I'll share it with the team.

  • Hi,

    I am working on the API improvements here at DISQUS. Thanks for the feedback, if you have anything else in mind just send me an email at anton@disqus.com.

    Thanks,
    Anton

  • Hi Daniel – Overall, I really am happy with it so far. (Its only been up for a few days, but there are a lot of things I really love about it.)

    Truly, the one thing I would change if I could is the inflexibility in the layout of javascript widgets. Granted, my site's layout is more complex than many of your users' sites, specifically my sidebar. If you look at the “Recent Posts” bit in the top, and view the source, you can see I'm going outside the standard WordPress widget layout. That's actually manually coded into the sidebar.php of the WordPress install.

    As I continue to tweak the style of the threads block, I'll try to document what I can here, so other Disqus users may benefit from it.

  • Hi Anton – I'm sorry if I sounded very negative. Its what happens when I write a blog post immediately after wrestling for a few hours with something. I like to do that because it means all of the challenges (and potential solutions) are fresh in my head, but it also means I can come off a little more critical than I might want to be.

    For the record, please share with the Disqus team that I really am happy with the switch, despite what it might sound like.

  • Oh, and as The Angry Drunk pointed out, since comments are being fed back into WordPress, I can actually re-enable my WP Recent Comments widget. The links won't match up, since the Recent Comments widget is linking to the WP comment ID, which doesn't exist on the blog post page anymore, but I'm willing to live with that for now.

    And since the Disqus comments run back through WordPress, I wonder if it wouldn't be possible to update the comment count through WordPress correctly, and not have to use the Javascript rewrite of “x comments” to “x comments and y reations”. If the comments are being piped back into WP and I don't want to use the “and y reactions” bit because it effs up my layout, I should be able to override the javascript and just use WP for that, no?

  • great summary, thanks for sharing, i'm finding that disqus is being used at many of the sites that i like so i have been thinking about implementing myself also

  • Everything is fine. πŸ™‚ Feel free to send me any feedback you want to share.

  • I use Disqus on my blog – have for the last year and a bit – and it's been great. A few bugs and glitches to work through here and there (mostly when they change stuff) but the staff are really supportive and quick to respond. Hope you get things to look the way you want them to. Cheers.

  • Giordan
  • Thanks for bringing it to my attention. There was a problem with strings translated to Italian, we've just released the fix. I've tested it on all the websites mentioned above and they all seem to work now.

    Let us know (by sending an email to help@disqus.com or anton@disqus.com) if you'll experience any more issues or have any questions.

  • Thank you for your e-mail. I will be out of the office from Monday, November 30 until Friday, December 4 with limited access to e-mail and voicemail.

    I apologize for any inconvenience and will get back to you as soon as possible once I return.

    – Alison

  • Thank you for your e-mail. I will be out of the office from Monday, November 30 until Friday, December 4 with limited access to e-mail and voicemail.

    I apologize for any inconvenience and will get back to you as soon as possible once I return.

    – Alison

  • Still working for you? I had a client request to put DISQUS on 2 of her sites and now it seems like she is getting trackbacks that then disappear into thin air. We can't figure out where they went, how to find them, how she can see them in the WP Admin, why they are not showing up on posts, etc. I'm going to try to re-import but I really don't want to have to do this weekly or whatever. Argh.

  • Ok, I gotta ask. How did you manage to fix the comment count on the individual post? I just installed Disqus based off this post (and loving it!) but read you had the problem, but yours seems to work. Pointers?

  • Sorry for the delay in replying. I explained the reason in my last post. (Reader's Digets version: I'm a dolt.)

    I did post a solution here:
    http://wordpress.org/support/topic/260188?repli

    I'll probably make a post for this site out of it too, to make sure it sticks around. The original post I found the first part of the solution on has disappeared. Stupid internet.

  • Hmm.. I haven't had a problem with disappearing trackbacks…

  • Ah ha, that does it. Thanks!

  • Excellent πŸ™‚ I posted it to snipe.net too, just so it doesn't disappear:
    http://www.snipe.net/2009/12/comment-count-bug-

  • Sorry for the delay in replying. I explained the reason in my last post. (Reader's Digets version: I'm a dolt.)

    I did post a solution here:
    http://wordpress.org/support/topic/260188?repli

    I'll probably make a post for this site out of it too, to make sure it sticks around. The original post I found the first part of the solution on has disappeared. Stupid internet.

  • Hmm.. I haven't had a problem with disappearing trackbacks…

  • Ah ha, that does it. Thanks!

  • Excellent πŸ™‚ I posted it to snipe.net too, just so it doesn't disappear:
    http://www.snipe.net/2009/12/comment-count-bug-

  • i was able to install on one blog but when i tried to install on a second blog it gave me an error message – any tips for installing on multiple blogs, here is the error message i'm getting:

    *****

    Forbidden

    You don't have permission to access /blog on this server.

    Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.

    *****

  • Sounds like the url of the blog is wrong, or you're missing an index.php file. Is it a WordPress blog?

  • yes it is a wordpress blog, it seems that disqus is pointing to the first site that i set up and not the second and i'm not sure how to fix it, if i send you the url and maybe a screen shot, would you be able to have a look at it? i would be happy to pay if i can get a solution to resolve this issue

  • Sure, send it over. You have set up an additional site for the second blog in the Disqus management area on Disqus.Com, right?

  • Disqus lets you import your existing blog comments from a variety of blogging platforms, including self-hosted WordPress installs, Blogger, Drupal, Joomla, Movable Type, Tumblr, Sandvox, chi.mp, Square space and more

  • I have a stupid problem with Disqus, and I see that you have it also. Buttons Expand Comunity Box and dropdown Disqus are in some weird place near top of post !#?

    Same on my blog too. Do you have any solution for this problem?

    Thank you in advance.

  • I think this is related to some new features they pushed out. I haven’t had time to dig through the CSS and see if I can find a workaound. (Their comments section has always been a little broken for me, since they have an extra CSS clear: both that pushes my comments far down the page after a load of white space. Meh.) I’ll post back here if I do find a workaround though.

    • Bob

      That’s happening to me, also — but only in Firefox, not IE. I’m pretty good with CSS, but Disqus resists most of my formatting changes.

  • Thanks. This happens only to logged users. Non-logged user see everything normal.

  • It’s been a year, almost to the day, since you wrote about integrating Disqus into your blog. What’s the verdict? I see you overcame the bigger style issues. (You’ve got the best looking comment integration I think I’ve ever seen on any blog using Disqus!) I no longer use it on my sites to manage comments, but I still use their Widget in my sidebar to aggregate comments left on other blogs that use Disqus.

    • I’ve been pretty happy with it so far. There is a CSS clear that screws up my layout a smidge (it’s why there is a large gap between the bottom of the blog post and the top of the comments section – the code is on their end, not mine, so there’s nothing I can do about it though.) One of their recent upgrades is clashing with the CSS on several of my sites, causing some Disqus navigation to float off to the right, but it hasn’t bothered me enough to try to track down the specifics. I’ve integrated it into several of my sites now, and overall I’m pretty happy. I do hope they fix the CSS wonk soon though.

  • dia

    We’re very new to blogging and I added Disqus to one of our sites, but I’m hearing people are discouraging using an outside comment host on a multisite install. I’m just a little confused. I like the extra features that Disqus has w/o having to install individual plugins, but I’m just a little apprehensive.

    I want the users to be able to go from site to site, but each individual site to also display its most recent comments. Haven’t installed it on another site yet. Sorry, I don’t know why I’m typing this here… this post just came up during my google search. You’ve had it for a year, so that’s encouraging. Thanks for listening, I’ll contact the Disqus site re: these issues soon.

    • You can use disqus on multiple sites and still display the most recent comments. Disqus syncs up with your wordpress install, so when new comments are posted to Disqus, they get synced up to your wordpress comments – as a result, the usual plugins one would use display recent comments (widgets, etc) can be used. The only place you actually need Disqus’ interface is in the actual comments section at the bottom of a post. I use Disqus on several websites that use multisite, and have had no issues.

  • thx a bunch, just implemented disqus on my blog and this helped

  • je_proteste

    Disqus keeps screwing around with more and more falderal – but there’s no help for users when Disqus screws up. FAIL!

  • Shice

    Discus is the biggest plate form for the comment posting. Many people make account and past it through this. This makes a lot of chain reaction for the software industry. The use of such plate forms always a sign of relief for software industry.