As a webmaster and WordPress enthusiast, I always liked the fast and robust performance of the core WordPress sites. Even though Disqus is an extremely popular web commenting system, a few months back, I wrote an article about 7 reasons to avoid using Disqus commenting system on websites mostly focused on website performance and speed. After posting that article I’ve received tremendous response from my daily readers and some has even complained about certain shortcomings of default WordPress comments compared to Disqus. So, after a few days of writing that article I’ve posted another article about 5 Ways to Make Default WordPress Comments Better to help people using default WordPress comments with some awesome features Disqus has.
Now I must admit that since the release of WordPress v4.5, the core WordPress development team has worked really hard to make the default WordPress comment faster under the hood with faster and optimized comment fetching queries, utilizing proper caching for comments etc. But recently one thing that started to make this critical for me to stick with default WordPress comments is Gravatar. Gravatar is a system also made by the WordPress people to show the commenter image or random user images for those commenter who doesn’t have a gravatar image already set.
The Gravatar Fiasco
Though gravatar is a great system, but one of the major problems of gravatar is it’s extremely high TTFB (Time To First Byte). TTFB is a very common term used in web optimization which denotes the time users have to wait before receiving the first byte of that response. Also due the the URL structure of gravatar resources it makes nearly impossible to cache those static objects. So, the end result is that everytime you load the page, the same resources gets called again and again giving the end user a slower user experience.
Now the people who are acquainted with me knows that I’m truly OCD of website optimization. So, I always look for new ways to optimize sites even further. So to me if anything is increasing my site speed even my 200ms, I check whether I truly need that on my site because if I can get rid of it, my will be 200ms faster. So, after looking into this gravatar fiasco, it wasn’t a hard call to make that I must need to get rid of gravatar. But the default wordpress comments without gravatar is like a guitar without strings. So, I know that I need to come up with a new way of handling things.
Why not use Lazy Load plugins?
Yes I know some of you might ask this question that if I had issues with gravatar images, why not just used any lazy load plugin to load those images when the come to the viewpoint of the user’s screen? Believe it or not, I have tried that approach too, but the result wasn’t quite appealing. The main problem of using any lazy load plugins in wordpress is the theme compatibility. Now-a-days most of the premium wordpress themes comes with tons of jQuery scripts attached to give a better and good-looking user experience with the user. But the problem is most of the jQuery scripts doesn’t play well with any lazy load script whatsoever, specially whose scripts who runs dynamic width, height calculations.
So, welcoming lazyload mostly means to say goodbye to most of the cool dynamic designs and many other design related issue. In the end of the test it was clear that the lazy load option is not a good generic solution to most of the sites out there including mine. So, again I move on to find a better solution that this.
Landing onto Disqus
No matter how much I liked disqus’s functionalities, there are still a lot of thing I don’t like about it, especially how they handle their scripts and their import/export feature for large sites which I’ve already explained in my earlier article 7 reasons to avoid using Disqus commenting system. But after writing those above mentioned articles, I’ve received a lot of requests from my daily readers for incorporating disqus into my site. But I’ve always hold that thought due to the problems discussed on the above mentioned article, until now.
So, you might be thinking what magical thing happened now that I moved to disqus knowing the issues I’ve discussed earlier. Well let’s just say I met a wordpress plugin which solved the major external script loading issue with disqus. The name of the plugin is Disqus Conditional Load. It is an amazing plugin which loads the disqus portin on your website only when someone reach the comment section. There are two ways you can conditionally load disqus comments. First by using the scroll down action (which I’m using), so when someone scroll down to the bottom of your article then only the disqus scripts starts loading. The next option is putting a “load comment” button at to bottom of your site, so when someone clicks it, the disqus scripts starts loading.
The best part of this plugin is not just it is a free plugin but how well it has been coded. Before installing it on my site, I’ve personally checked the codes of this plugin and I was truly impressed. Moreover it makes me even prouder as an Indian to say that this plugin is made in India. So, most of the complaints I had with disqus and it’s way of loading scripts, is completely fixed by this plugin single-handedly. So, now when someone lands onto any of my article it doesn’t load up any part of the comments at all and hence reduces the number of initial pageload requests greatly.
This might not seems a great thing to most small bloggers, but as I have an active site where my readers posts thousands of comments, 10 – 20 gravatar image request for most article really eat up a lot of speed. But now thanks to the Disqus Conditional Load plugin I was able to cut down my load time more than 1.2 seconds as there is no more sql comment queries to perform for each article and have to bear with tons of external resources with high TTFB and bad URL structure which makes things impossible to cache.
So, now are you a fan of Disqus?
No, not really. You see I like some features that disqus provides, but still there are certain things that I definitely don’t like about Disqus. Infact there are a few features that I had to lose by moving to Disqus from default WordPress comments. I know it is hard to believe, as most people think that Disqus is a holy grail of comments and some even say it is the future of web commenting (which I somewhat agree to). Trust me there are things which was possible with default WordPress comments (and I liked them too much) but no longer possible with Disqus (as of now). Let me explain a few scenarios so that you guys can get a clearer picture.
One of my most favorite feature of default WordPress comments that I miss too much in Disqus is the native support for emojis. Since WordPress v4.5 it supported all new flat designed emojis that are available in twitter. But in Disqus, still there is no such official emoji support. You either have to use some emoji cheat sheet in your computer or have to use your phone to insert emoticons which may look differently to different people visiting the site from different platform. It really makes me sad. I hope Disqus team is working on it but no idea when (or ever) it going to be a part of official Disqus.
The next thing I miss too much is the auto email responder option for disqus. In WordPress default comments there are plugins like subscribe to comments reloaded, which will send an automated email to the commenter each time someone replies to his comment. But in case of disqus, you either have to manually subscribe to any comment feed by clicking on the subscribe button below the comment page or you will see a notification when you visit any other website using disqus for comments. Personally I prefer receiving emails each time someone replies to my comment and I don’t wanna go any extra miles for that. Unfortunately sending auto email to commenters is not possible by default with disqus unless they manually subscribe any comment feed.
Another thing I miss too much with disqus is the lack of moderation option. A few days back I stumbled upon a comment on my blog which was waiting for moderation. Within the comment the user has provided some screenshot link for some things. I think the commenter was not much familiar with disqus interface so instead clicking on the upload image button inside the comment box, he uploaded the images on an external site and shared the links in the comment. Now for WordPress default comments it wasn’t any issue at all, you can simply edited the posted comment and convert the posted links to an
<img /> tag. So that the visitors can view the images without being redirected to an external site. But in case of disqus, it only support a handfew HTML tags inside comment moderation window and
<img /> tag isn’t a part of that list. After this when I send an support ticket to disqus, they said it is not possible and no ETA also if it is ever going to be available.
The lack of design customization option in disqus also makes me sad. The way disqus works is it first read your site’s design language and then try to imitate that color scheme for the comments. But if you want to tweak the design more or want the look and feel a little different, it’s extremely hard to do that for disqus. As disqus comments loads inside an iframe, applying custom css for elements under iframe is extremely difficult. There is no settings inside disqus (as of yet) where you can put your custom css for each comment channel to make it look the way you want. May be they will incorporate this option in future or may be not, who knows.
Another major problem I have to face with disqus is the lack of native android app. A few weeks back disqus has launched their iOS app and they also have a somewhat working app for windows phone, but unfortunately they have no app whatsoever for the most popular smartphone OS i.e. android. Being a stock android fan, I always use android device and believe it or not having a mobile app for moderating or replying comment is extremely useful to always stay connected with your audience. It is not possible for me to always stay in-front of a PC all day to moderate or reply comments. The in-browser moderation experience is frankly not that good for disqus especially when you are accessing it from a mobile device. So, having an app for that makes things easier. For the native WordPress comments, there is an official WordPress app in the Google Play store, which work for both wordpress.com or self-hosted wordpress sites. Using this wordpress official app, you can stay connected with your audience no matter where you are. But with disqus you still have to rely on the web interface regardless of your platform.
Then why you started using disqus for your site?
That is an obvious question to ask. When I decided to use disqus for my site there are a few things in the play, some good, some bad but I had to make a decision. These are the main reasons I moved to Disqus from default WordPress comments:
Huge User Requests
The first and foremost priority is user request. Since the time I’ve posted my disqus related article (linked at the beginning of this post), I have received a lot of emails asking me to carry out disqus on my site as for the commenters it makes things easier to keep connected in the loop of comments. As one of the major advantage of disqus commenting system is that you not necessarily have to visit the same article page to reply on a prolong comment conversation. You can check your comment notifications from any site which is also using disqus. Moreover you can directly reply your comments from the notification itself without even visiting the main site.
Though this is great for the commenters but very much harmful for the webmaster because these comments are just increasing the total comments number. As those users are not actually coming to the source site to reply their comments on the first place, so there is no pageview received from that comment and no way to monetize that transaction. If the commenter has to visit the source site each time to read or reply comments, he may click on the advertisements shown on that page which will lead to revenue.
But still as user request is the first priority to me, as soon as I got a way to use disqus without slowing down the website at all (thanks to the above mentioned DCL plugin), I implemented it for better user experience. At the end of the day user feedback and experience is more important to a webmaster than anything else.
For Making the Site Faster with DCL Plugin
After checking out the DCL plugin it was obvious that I must need to use it to slice down a few sql queries and HTTP requests. The best part I love about DCL plugin is that it turns off the default commenting feature on the page/posts (as you have selected) WordPress can return the HTML version of your site without running the SQL query for the comments. Also as it is disqus, there is no more endless gravatar HTTP requests. Moreover thanks to the DCL plugin disqus scripts will not load at all unless any visitor scroll down to that end position of that site. All in all it is an amazing experience, in terms of optimizing my site and even cutting down 600 to 800ms load time.
So, I’ve already explained all the goods and bads of using disqus and why I moved my site to disqus from using default WordPress comments, but I would love to hear your opinion on this. Whether or not you agree with my findings, I would love to hear your thoughts in the comment section below. Now as I’m using disqus on my site, hopefully you will enjoy the commenting even more. I’m looking forward to hear your thoughts on this change along with that whether you are also planning to move your commenting system to disqus. If so, please let me know why, as you may have different thoughts on this matter than what I have.
Also if you want you can connect with me over twitter with my twitter handle @iSaumya. I’m looking forward to hear your thoughts on this and if this small piece of code helped you anyway. 🙂