Earlier this month I described How to install Intense Debate in WordPress 2.7 blogs. In my ‘Why I switched from IntenseDebate to Disqus’ post [coming soon] I describe why I made the switch.
The Disqus installation instructions are out of date (written for pre WP 2.7 blogs) and surprisingly difficult to follow.
Happily, both Disqus and IntenseDebate mirror/sync comments within a blog’s databases (though there are still problems with threaded comments not retaining structure – see part 6 below). This makes it possible to switch back and forth between the two at will.
Below I provide a step-by-step guide for integrating Disqus within a WordPress 2.7 blog. I first make some preparatory recommendations. Then I describe the steps needed to set up with Disqus, download and install the Disqus WP plugin, how to import your historical comments into Disqus and, finally, how to reclaim straggler comments.
1. Preparation Recommendations
This guide assumes you have installed and are running WordPress 2.7 (see my WP 2.7 First Impressions post here for more details).
1.1 Tweak Your Comment URL & Email Address Fields:
(Note: This step may not be required in light of the process described in section 5 below to reclaim comments. This is what I did nonetheless.)
If you’ve run your blog(s) for years, as I had before installing Disqus, you’ll have many personal comments made by you in response to comments made by others. For various reasons I used different email addresses and URL’s as a self-identifier when commenting within my own blog posts. The email address you use when you sign up for Disqus, will be the only email address used to identify you within your comments both on your blog and every other Disqus blog going forward. If the email address you give Disqus is different from the one you’ve used when leaving historical comments, you’ll want to use WordPress’ built in comment editor to edit the email and URL fields in all your prior comments prior to integrating Disqus to make sure a consistent email address and URL are used.
(Note: This can be done really quickly if you use WP 2.7’s new “Quick Edit’ option after each comment on the Comment moderation page in your WP 2.7 dashboard.)
Otherwise, historic comments you’ve left using other email addresses will NOT be associated/linked as comments from you on your own blog. You must do this before integrating Disqus. Edits made locally after you integrate Disqus will not be integrated with your comments on the Disqus servers. And the Disqus comment manager provides no way of editing these fields once you are done.
1.2 If Migrating from Intense Debate: If you are migrating from Intense Debate, you’ll want to edit all your comments to change the default URL they insert in the URL field for all your comments from: http://intensedebate.com/people/[your unique ID profile name] to your blog’s URL. Otherwise, you’ll have permanent links back to Intense Debate that you won’t want.
1.3 Delete All Spam: You might as well delete all current Akismet trapped spam within the WordPress dashboard’s comment moderation page before backing up and integrating Disqus with your blog.
1.4 Backup: I strongly suggest you backup your WordPress database files before you start. I use the WordPress Database Backup plugin for this.
2. Set Up Steps on Disqus Site
2.1 Sign Up: Sign up for an Disqus account. It takes less than a minute.
2.2 Add a Website/Blog to Integrate: Once signed up, from the Disqus home page, click ‘Add Website’ link to bring up the ‘Add a website to integrate’ page pictured below (click image for larger view):
As of the date of this post (January 23, 2008) Disqus still presents these out of date instructions for installing the plugin (click image for larger view):
These instructions assume you are using a pre-Wordpress 2.7 blog. The WordPress 2.7-specific instructions described below are easier, less confusing and faster to use with WordPress 2.7. I suggest clicking on the ‘Done’ button to bypass this page altogether.
2.3 Settings Screen: Next up is the Disqus ‘Settings’ screen partially depicted below (click image for larger view):
You can come back and futz with these settings options after you install the plugins and get the comments syncing (as described below). The defaults work well. FYI I initially made the following changes (circled in red above) from the default settings:
- Trackbacks: I want trackbacks included in my comments for cross-promotional reasons. So I checked this box.
- Facebook Connect: Facebook Connect integration is the primary reason I switched from Intense Debate to Disqus. To learn more, read my ‘Why and How to Integrate Facebook Connect with Disqus’ post.
- Default Sort by: I’m a traditionalist and chose ‘Oldest First’. the default, ‘Hottest first’ confuses me.
- Do not show comments below: I chose –10 for now. The default is –4. Any posts rated below the threshold (ie: by people effectively giving them thumbs down) are not displayed.
- Add Comment Box: The traditionalist in me likes to place the comment box at the “Bottom of thread” instead of the Disqus default ‘Top of thread’. But I keep moving it around as I’m playing. As of this moment, I haven’t settled on a final preference.
When you are finished with your tweaks, click on the ‘Save’ button at the bottom of the page (not shown in the picture above).
That’s it for the setup steps on the Disqus servers! You can now proceed to your blog’s WordPress 2.7 dashboard.
Remember, you can adjust your settings on the Disqus servers at any time.
3. Plugin Set Up Steps in your WordPress 2.7 Dashboard
Fire up your WordPress 2.7 dashboard and continue with the steps described below:
3.1 Install the Disqus Plugin in WP 2.7: In the WordPress 2.7 dashboard, click on the ‘Add New’ option in the Plugins menu (item 1. below). Type the search term ‘disqus” into the search box (item 2. below), click the ‘Search’ button and then click the install option to the right of the ‘DISQUS Comment System’ result (item 3. below):
Disqus founder Daniel Ha verified that Disqus works perfectly with WordPress version 2.7 in a reply to a comment I made on the Disqus forums. There are any number of WordPress 2. 7 sites using it without problem, including mine.
Click on the orange ‘Install Now’ box (pointed to in the image above). The plugin will download and install automatically.
3.3 Activate: Activate the plugin-like any other WordPress plugin by clicking on the ‘activate’ option beside the plugin in the WordPress dashboard plugins directory.
Note: Simply activating does not complete the installation process. You’ll need to install Disqus (described below) after which you’ll want to import your current comments (export from your perspective) to the Disqus servers.
3.4 ‘Install’ Disqus: After activation, click on the ‘Comments’ button down the left side of your WP 2.7 dashboard to bring up the following ‘Install’ screen (click image for larger view):
WARNING: Do not click on the ‘Install’ button X’d out in red above (like I initially did).
Fill in the username and password you used when you signed up for Disqus . Click ‘next’ button (circled in red above).
If you are installing multiple blogs in one Disqus account like I have, you’ll be asked to identify which blog it is on the next screen:
In the case above I selected ‘The Daleisphere’ radio button then clicked on the ‘Next’ button to proceed. A few seconds later the initial install will be complete and you’ll see an empty Comment screen within your WP 2.7 dashboard:
Notice how there are zero comments. That’s because at this stage, Disqus has not yet imported/backfilled your old comments into its database. We’ll do that next.
4. Importing your Old Comments into Disqus
This is the next-to-last part of the process and the one that has been fraught with problems in both my earlier Intense Debate and Disqus trials. The import function has come a long way over the last half a year. Hopefully all the bugs are ironed out and this will not be a problem for you. I couldn’t get past this part last November but it all went swimmingly this time around.
Remember, you should have backed up your blog’s databases before you start the import process so you can recover if something goes wrong.
As indicated in the image above, click on the ‘Advanced Options’ button when you are ready to begin the import/backfill process. The ‘Advanced Options’ page comes up next (click image for lager view):
- The ‘DISQUS API Key’ field should already be populated with your Disqus accounts’ API key. If not, something went wrong with the install process above
- In the ‘Use DISQUS on’ field, select ‘On all existing and future blog posts’ from the pull down menu
- click on the ‘Import’ button
I’m curious as to what the ‘Uninstall’ button does there. I thought to uninstall all I had to do was deactivate the Disqus plugin. Hum?
If all goes well you’ll be returned to the comments page with the yellow queuing message highlighted below:
The message reads:
“Your comments have been queued for importing to DISQUS. You may check the advanced options tab for a status update.”
When you click on the “advanced options” tab/button as suggested you’ll see this ‘Import Status: Unprocessed’ message:
Now you can walk away for a few hours!
In my experience it was hours before the importing process began. I was never present when my blog reached the front of the queue and the import process took place. I did catch the Intense Debate process for one blog and it took just seconds to process a few hundred comments. I’d expect the import process to take the same amount of time on Disqus. Obviously if you have thousands of comments, the import function will take much longer.
When the import/backfill process is finished, your comments moderation page within your WP 2.7 dashboard will look something like this:
Notice the pull-down menu. If you run multiple blogs you can moderate all your comments from all your blogs within the same comment moderation panel. Sweet.
5. Verifying / Claiming Your Comments:
Oddly, after the install was compete and my old comments were imported back to the Disqus servers, some of my old comments didn’t automatically get associated with my Disqus account. Some of my comments no longer showed my avatar pictures. Some did. When you hold the cursor over your name/avatar when viewing a post, you’ll see and ‘unclaimed profile’ box like the one below for comments that didn’t get linked with your Disqus profile (click image for larger view):
The reason for this, I believe, is that I did not use the same email account, when I left those comments, as I used when I signed up for Disqus. In fact, for various reasons I’ve used several different emails when posting comments on my blogs over the years.
Happily, you can claim all such unclaimed comments and associate them back with your Disqus profile.
Be sure you are logged into Disqus before proceeding.
Clicking on the ‘unclaimed profile’ link (circled in red in the image above), takes you to this Disqus page (click image for larger view):
To claim comments associated with the email address you used when you initially left that comment click on the ‘Claim Profile’ button (circled in red above). This takes you to this ‘claim profile and comments’ page:
Type in the email address that you used when you originally left the comment (not necessarily the one you used when you signed up for Disqus). Click the ‘Done’ button. Disqus will send an email to that email account. When you verify the email, your older comments (and all comments left with that email address even on other Disqus blogs) will then become associated with your Disqus profile.
Repeat as necessary for any and all email addresses you control and have used in the past when you left comments on your, or other Disqus-powered, blogs (in my case there were about five).
I don’t fully understand how this works, but suffice it to say after claiming a few comments I was able to associate all the comments on all three of my blogs with my Disqus profile. After claiming the post above, hovering over the avatar for that same comment yield’s this profile box:
Notice the chicklet links to my other blog, my facebook, linked in and twitter accounts. There’s also a ‘View Profile’ link at the bottom that links to all my prior comments across all Disqus-powered sites.
6. Disqus Problems/Issues
As good as Disqus is, it isn’t without its problems. Obviously none of these are deal breakers for me. I hope most of these will be addressed over time.
6.1 Edits Not Synced back to Database: All new comments are synced on Disqus servers and my blog’s database. However, if a commenter subsequently edits a comment (or if I edit one of my own comments), the edited version is not synced back to my underlying blog database. This is a big deal. This means that if I ever leave Disqus, only the original comments will be shown. All edits exist only on Disqus servers. Intense Debate does not share this problem. This needs to be addressed.
6.2 Deletions Not Synced back to Database: This is just a variation on point 6.1. The ultimate comment edit is to delete a comment. If you delete a comment using the Disqus comment moderation page, the deleted comment is not deleted from the bloggers synced database. This includes deleted spam that made it through Akismet and Disqus spam filters. So, if/when I leave Disqus, all the comments I deleted will return.
Tip: The obvious, though regrettable, workaround for this is to manually delete deleted comments in your database as and when you delete them through Disqus. To do this, bypass the Disqus comment moderation panel in the WordPress dashboard. You’ll need to save the following shortcut to access it:
http://<insert your blog’s domain>/wp-admin/edit-comments.php
You need this shortcut because Disqus redirects the WP dashboard ‘Comment’ menu item to its moderation panel and, unlike Intense Debate, does not give you an option to use WordPress’ superior comment moderation page.
6.3 Facebook Connect Users Cannot Edit their Comments: One of the nice features of Disqus is that Disqus registered commenters can go back and edit prior comments at any time. As of January 25, 2009, commenters that use Facebook Connect to leave a comment, cannot edit their comments. This seems to be a significant oversight.
6.4 No Ability to Edit Comments: As a moderator all Disqus permits me to do is delete comments (and mark them as spam). I cannot edit out inappropriate language, flame bating etc. Disqus is courting the commenter community. I understand the desire of commenters not to have their comments mangled by bloggers. But, as a blogger, I’m not happy with this all-or-nothing approach to comment moderation.
6.5 Threaded Structure Didn’t Survive Conversion from Intense Debate: In the move from Intense Debate (‘ID’) to Disqus the threaded structure of ID comments was stripped out. The ID team told me that when threaded comments are synced to my blog’s database, they are synced with the info needed to keep threading intact. WordPress 2.7 now supports threading natively. If I leave either ID or Disqus, I want my threaded comments to retain their threaded structure. Either the ID team was wrong or (more likely) the Disqus comment import function does not yet support threaded comments. This is more probable given that all their documentation reflects pre WordPress 2.7 functionality. Beyond the conversion issue, I want to know that if/when I leave Disqus that comment threads created while using Disqus will remain when I leave Disqus.
6.6 Issue re: Comments.php File: Disqus works by substituting its own content for your comments.php template file. If, like me, you made customizations to your comments.php file, they will be gone. In my case I had inserted Adsense and Amazon Affiliate scripts in that file. I had to modify my post template to accommodate this change.
6.7 Bland Default Avatars: Most of my commenters, at this point, are not Disqus users. As I mentioned here, I really liked the default WordPress comment avatars for anonymous commenters. As you can see, the default Disqus avatar that shows up for non-Disqus and non-Facebook users is a rather boring grey/black one.
7. The End Game
As I wrote in my original ‘How to install Intense Debate in WordPress 2.7’ post, the end game will have to be some kind of unification of the systems, or at least some industry standard specifications so the two communities interoperate and are not islands. Think how AIM and MSN Messenger users, for example, could not IM between the two systems. Or how Prodigy and CompuServe users could not email each other before Internet email became a standard. In an ideal future world, commenter reputations, identities, comment threads, histories etc. should follow the commenter whether the blog is an ID, Disqus or other comment community site.
Who knows, perhaps Facebook Connect will be the grand unifier.