How to fix threaded comments and the reply button on Blogger comments

A few people have emailed me about having issues with replying to comments on their blog, after resolving their issues with the reply button I realised that maybe a lot more people are having this problem too so thought I’d write up a tutorial on how to fix it. This can be complicated if you aren’t used to editing HTML so please take your time and read the instructions very carefully! If you are still having problems with this I am available to hire here.

[postwarning]

1. Enable Threaded Comments

We need to make sure that your blog is set up for threaded comments first and make sure the settings are correct. Go to Settings > Other > Site Feed. For Allow Blog Feed, choose Custom and set Pre-Post Comment Feed to Full. Now go to Settings > Posts and Comments and set Comment Location to Embedded.

threaded-comments

2. Adding or Fixing Reply Option

Go to Template > Edit HTML. Select Jump to Widget > Blog1 and find the following line

<b:widget id='Blog1' locked='true' title='Blog Posts' type='Blog'/>

Change Blog1 to Blog2. This will remove the corrupted gadget and revert it so it is functioning properly again. If you are using an older version of Blogger, it may ask if you wish to delete this gadget, say yes. Save Template.

3. Replace threaded script

If that doesn’t fix the reply button, then try this method. Go to Template > Edit HTML. Select Jump to Widget > Blog1 or Blog2. Under <b:widget id='Blog1' locked='true' title='Blog Posts' type='Blog'/> or <b:widget id='Blog2' locked='true' title='Blog Posts' type='Blog'/> you will see the following code

<b:includable id='threaded_comment_js' var='post'>

Click the black arrow beside the numbering on the left for the line <b:includable id='threaded_comment_js' var='post'>...</b:includable> and the full nested code will appear.

Delete this entire code, from <b:includable id='threaded_comment_js' var='post'> to </b:includable>. In it’s place, paste the following

<b:includable id='threaded_comment_js' var='post'>
<script async='async' expr:src='data:post.commentSrc' type='text/javascript'/>
<script type='text/javascript'>
(function() {
var items = <data:post.commentJso/>;
var msgs = <data:post.commentMsgs/>;
var config = <data:post.commentConfig/>;
// <![CDATA[
var cursor = null;
if (items && items.length > 0) {
cursor = parseInt(items[items.length - 1].timestamp) + 1;
}
var bodyFromEntry = function(entry) {
if (entry.gd$extendedProperty) {
for (var k in entry.gd$extendedProperty) {
if (entry.gd$extendedProperty[k].name == 'blogger.contentRemoved') {
return '<span class="deleted-comment">' + entry.content.$t + '</span>';
}
}
}
return entry.content.$t;
}
var parse = function(data) {
cursor = null;
var comments = [];
if (data && data.feed && data.feed.entry) {
for (var i = 0, entry; entry = data.feed.entry[i]; i++) {
var comment = {};
// comment ID, parsed out of the original id format
var id = /blog-(d+).post-(d+)/.exec(entry.id.$t);
comment.id = id ? id[2] : null;
comment.body = bodyFromEntry(entry);
comment.timestamp = Date.parse(entry.published.$t) + '';
if (entry.author && entry.author.constructor === Array) {
var auth = entry.author[0];
if (auth) {
comment.author = {
name: (auth.name ? auth.name.$t : undefined),
profileUrl: (auth.uri ? auth.uri.$t : undefined),
avatarUrl: (auth.gd$image ? auth.gd$image.src : undefined)
};
}
}
if (entry.link) {
if (entry.link[2]) {
comment.link = comment.permalink = entry.link[2].href;
}
if (entry.link[3]) {
var pid = /.*comments/default/(d+)?.*/.exec(entry.link[3].href);
if (pid && pid[1]) {
comment.parentId = pid[1];
}
}
}
comment.deleteclass = 'item-control blog-admin';
if (entry.gd$extendedProperty) {
for (var k in entry.gd$extendedProperty) {
if (entry.gd$extendedProperty[k].name == 'blogger.itemClass') {
comment.deleteclass += ' ' + entry.gd$extendedProperty[k].value;
}
}
}
comments.push(comment);
}
}
return comments;
};
var paginator = function(callback) {
if (hasMore()) {
var url = config.feed + '?alt=json&v=2&orderby=published&reverse=false&max-results=50';
if (cursor) {
url += '&published-min=' + new Date(cursor).toISOString();
}
window.bloggercomments = function(data) {
var parsed = parse(data);
cursor = parsed.length < 50 ? null
: parseInt(parsed[parsed.length - 1].timestamp) + 1
callback(parsed);
window.bloggercomments = null;
}
url += '&callback=bloggercomments';
var script = document.createElement('script');
script.type = 'text/javascript';
script.src = url;
document.getElementsByTagName('head')[0].appendChild(script);
}
};
var hasMore = function() {
return !!cursor;
};
var getMeta = function(key, comment) {
if ('iswriter' == key) {
var matches = !!comment.author
&& comment.author.name == config.authorName
&& comment.author.profileUrl == config.authorUrl;
return matches ? 'true' : '';
} else if ('deletelink' == key) {
return config.baseUri + '/delete-comment.g?blogID='
+ config.blogId + '&postID=' + comment.id;
} else if ('deleteclass' == key) {
return comment.deleteclass;
}
return '';
};
var replybox = null;
var replyUrlParts = null;
var replyParent = undefined;
var onReply = function(commentId, domId) {
if (replybox == null) {
// lazily cache replybox, and adjust to suit this style:
replybox = document.getElementById('comment-editor');
if (replybox != null) {
replybox.height = '250px';
replybox.style.display = 'block';
replyUrlParts = replybox.src.split('#');
}
}
if (replybox && (commentId !== replyParent)) {
document.getElementById(domId).insertBefore(replybox, null);
replybox.src = replyUrlParts[0]
+ (commentId ? '&parentID=' + commentId : '')
+ '#' + replyUrlParts[1];
replyParent = commentId;
}
};
var hash = (window.location.hash || '#').substring(1);
var startThread, targetComment;
if (/^comment-form_/.test(hash)) {
startThread = hash.substring('comment-form_'.length);
} else if (/^c[0-9]+$/.test(hash)) {
targetComment = hash.substring(1);
}
// Configure commenting API:
var configJso = {
'maxDepth': config.maxThreadDepth
};
var provider = {
'id': config.postId,
'data': items,
'loadNext': paginator,
'hasMore': hasMore,
'getMeta': getMeta,
'onReply': onReply,
'rendered': true,
'initComment': targetComment,
'initReplyThread': startThread,
'config': configJso,
'messages': msgs
};
var render = function() {
if (window.goog && window.goog.comments) {
var holder = document.getElementById('comment-holder');
window.goog.comments.render(holder, provider);
}
};
// render now, or queue to render when library loads:
if (window.goog && window.goog.comments) {
render();
} else {
window.goog = window.goog || {};
window.goog.comments = window.goog.comments || {};
window.goog.comments.loadQueue = window.goog.comments.loadQueue || [];
window.goog.comments.loadQueue.push(render);
}
})();
// ]]>
</script>
</b:includable>

Save the template and refresh your browsers cache.

4. Replace all threaded code

If the above fixes arenโ€™t working the best thing to do is replace the scripts altogether. This will work 99.9% of the time but it needs to be done correctly. Setup a test blog with the simple template (or the same default Blogger template your blog uses). Go into Template > Edit HTML. Select Jump to Widget > Blog1. Further down under this youโ€™ll see the following

<b:includable id='threaded-comment-form' var='post'> ... </b:includable>
<b:includable id='threaded_comment_js' var='post'> ... </b:includable>
<b:includable id='threaded_comments' var='post'> ... </b:includable>

They are nested, meaning that if you click the arrow on the left that the ... part will expand to show the rest of the code. Youโ€™ll need to copy the entire thing for all three parts and add/replace it to your real blog in the same area which is usually under <b:includable id='status-message'> ... </b:includable>. This can be difficult if you aren’t used to HTML or Bloggers HTML editor, so take your time and be careful.

5. Have a third party template? Contact original designer / developer

As I mentioned step 4 will work 99.9% of the time, but it may not work if you have a custom built template which does not use Bloggers default code (note that this is different to a customised Blogger template). If you have tried the above steps correctly without any luck and do have a custom built template then my advice is to contact the designer/developer. The information will usually be in the footer of your template.

6. Still having issues?

Get in touch here to hire me to fix it for you.

Related Posts

New Blogger comment system & other changes.
Backup your entire blog on blogger or wordpress – template, images and posts.
Restore your blog backup.
How to find code in HTML Editor.
Understand CSS and Bloggers Template.

Join over 1,000 creators starting, building and growing their online business

Making marketing more manageable (even with limited time, money and know-how) with the latest strategies, insights and updates delivered to straight to your inbox.

By signing up youโ€™ll receive The Roundup newsletter and additional resources. No spam or unnecessary emails. You can unsubscribe at any time.

90 responses to “How to fix threaded comments and the reply button on Blogger comments”

  1. I am so glad you have done this post because the minute I started blogging my reply button never worked and when I switched it to another layout it did so I realised it was todo with my HTML. All I could find on Google was the first opinion which obviously didn’t help. im rubbish with HTML but I will try this… Suppose what happens when you download a free blog design online aha x

    apinchofshaz.blogspot.co.uk
    xo

    1. Let me know how you get on. Yeah I see it a lot especially with bloggers who decide to do blog designs, not all of them know how to properly code, just got to be careful ๐Ÿ™‚ xx

      1. Ahhh I’m struggling to fix this as I can’t find the html codes :/

        Is there any chance you can help me? Or take a look on my blog and see whats the reason why – if you go on my comments and click reply nothing happens ๐Ÿ™
        It’s been bugging me for ages and I just got a new design so I thought it would be solved but it hasn’t ๐Ÿ™

        http://www.apinchofshaz.blogspot.co.uk

        1. Hello, if it is missing altogether you could try adding it to that section yourself. If you aren’t comfortable in doing this, I can do it for you if you send me an email. Let me know x

          1. Hi Ellie,
            I think you may be the answer to all my woes (well this particular one anyway)!
            I’m having the same problem as Shaz de Vos above. I did everything you said above and still no luck. Any chance you could have a look and help me out ๐Ÿ™‚

          2. Hello, yes if you want to add ***@gmail.com to Settings > Permissions, I can take a look for you x

          3. Brilliant. Thankyou, iv added you in permissions x

          4. No problem! I’ve accepted. Can you go back into Settings > Permissions and change “author” to “admin” beside my name. This will give me access to your template.

          5. Ella

            Hi, all done. Here’s hoping! x

          6. Hello ๐Ÿ™‚ sorry about the delay had to reinstall your template as it wasn’t accepting the code, replies should be working now ๐Ÿ™‚ x

  2. Tolu

    hi ellie, thanks for the write up, but am still having the same problem. My reply and add comment are not working.. is there any help you can render

    website name is http://www.turkzconcept.com

    kindly help m out

    1. Hello. I notice your template is a custom built one, because of this the code for threaded comments is probably missing altogether. My advice is to set up a test blog, go into template > edit html > format template > jump to widget > blog1 > click the black arrow on the left to open it and copy the last three lines of it. It will look something like

      <b:includable id='threaded-comment-form' var='post'> ... </b:includable>
      <b:includable id='threaded_comment_js' var='post'> ... </b:includable>
      <b:includable id='threaded_comments' var='post'> ... </b:includable>

      There will be extra code in between the pink dots () so make sure to copy the entire thing. Then go back to your blog and paste it in the same location. This will add the functionality for threaded comments to your blog. You may have to then follow this tutorial to fix it.

  3. People were telling me that they were having some difficulties commenting on my blog. I thought I solved this issue last night..but then this morning, I wasn’t able to reply to their comments.

    I followed the steps you laid out here and I’m so glad to have it working again. Thanks so much for doing this!

    1. Awh perfect, I’m glad it helped!

  4. It seems like this problem has cropped up for me overnight on two of my blogs. I tried both of your suggested fixes on one but still can’t seem to get it working ๐Ÿ™ I’m pretty sure I followed the instructions properly, so not sure why it’s not working.

    1. nevermind of course after I posted I got it to work. Go figure! Thanks for the post! ๐Ÿ™‚

      1. Glad you got it working ๐Ÿ™‚

  5. Hi Ellie, I too am having the problem whereby the ‘reply’ button is missing in my comments. My blog layout is from another website which I copied and pasted, but don’t have a clue when it comes to HTML web design etc. Is there anyway you can help?

    I tried to search for within my HTML, but couldn’t find it?

    Thank you for any help you can offer.

    Laura xx

    1. Hello, your template is an original Blogger template with some customisations from another site, this shouldn’t affect the template code although the reply to comments code may not be there. HTML is not allowed in the comments so I can’t see what part you are having trouble finding. Please paste it into the box on this site, press encode and paste the result in a reply to this comment. Selecting Jump to Widget should bring you to the place you need, but if you are still having trouble check out this post which explains how to find code in the HTML editor.

      1. Thank you for the advice. I have finally managed to get the reply button back on my site by clicking on the ‘revert widget templates to default’ and selecting ‘Blog 1’, phew!!

        Laura x

  6. I have been messing around with this over and over and cannot get it to work. I assume it has something to do with the coding, I bought the template as a premade design. I would really appreciate a little insight on to why my blog is so screwy ๐Ÿ™

    1. The template is probably missing the code, I’ve added another step to the tutorial in order to fix the problem ๐Ÿ™‚

  7. Hey Ellie! i tried everything you instructed and it’s still not working. I even reset the cache. Is there any way you could help me out? Thanks!! ๐Ÿ™‚

    1. Hello, if the above fixes aren’t working the best thing to do is replace the scripts altogether. Setup a test blog with the simple template. Go into Template > Edit HTML. Select Jump to Widget > Blog1. Further down under this you’ll see <b:includable id='threaded-comment-form' var='post'> ... </b:includable>
      <b:includable id='threaded_comment_js' var='post'> ... </b:includable>
      <b:includable id='threaded_comments' var='post'> ... </b:includable>
      . They are nested, meaning that if you click the arrow on the left that the ... part will expand to show code. You’ll need to copy the entire thing and add/replace it to your real blog in the same area.

      1. I added you as an author. I tried doing step 4 but I don’t think I did it right :/

        1. Hello! Sorry about the delay, I’ve accept the invite. Can you go back to settings and change author to admin beside my email address, this gives me access to your template ๐Ÿ™‚ thank you!

          1. Made you an Admin ๐Ÿ™‚

          2. Replaced the code so your replies should work now ๐Ÿ™‚

  8. Hello! I am so frustrated with my reply button, there is no reply at all for my comments. I scoured google for days and was able to actually find HTML that added a reply link but the link was broken and didn’t work! HELP! Are you possibly able to take a look at my blog template? Thank you for any help you can offer.

    1. Hello! Have you tried the above tutorial? You can submit a request for support here if you don’t want to mess with the template yourself ๐Ÿ™‚

  9. Yay!! this worked! Thanks for taking the time to put this tutorial together, that was driving me bonkers!!
    Alyssa

  10. It seems like everytime I come accross a problem, you have a solution! I tried all the above scenarios but unfortunately none worked. At least the way they were laid out. In the 4th option, what I ended up doing was copy completely the “Blog1” line in the Edit section from my other blog, and replace it in my current blog. It solved the problem ๐Ÿ˜€ Thank you again for your suggestions and all the good tips and tricks you share with us!

  11. Hi Ellie,

    I’ve been trying to fix mine for 2 days now. I did everything you shared on this blog and I still can’t reply to my blog comments ๐Ÿ™

    Hoping you can help me out. Thank you!

    1. Hello Alex, your reply button seems to be working. I just tried it on your latest blog post.

  12. Hello! Thank you so much for this article. Unfortunately, I, too, tried all the fixes and nothing worked. Any suggestions?

    I recently tried to instal Disqus comments. I couldn’t figure it out. Worse, my comments have been dysfunctional since then.

    I’ll check out your support page now.

  13. Hello, I tried this tutorial but I still have the problem, I can’t reply to any of the comments, do you know what else I should try to fix it? Thanks!

    1. Method 4 should work as you are replacing or re-aading the code for threaded comments. It can be very difficult but make sure you are copying all three scripts and everything that is included in them and then placing them in the correct place in your blog. You can contact me via the support page if you’re still having problems.

  14. thank you so much ๐Ÿ™‚ .
    I tried so many codes before… nothing !

    For me it’s the option 4 that worked yeah yeah !!!!!

  15. I tried to do the same with the share buttons after the posts but unfortunately it doesn’t work. :-((

    If you can help me ๐Ÿ™‚ ๐Ÿ™‚ ๐Ÿ™‚

    1. Hello, it’s a little different and slightly confusing unless you know what you’re looking for because there is code for share buttons there shown as <b:includable id='shareButtons' var='post'>...</b:includable> which is what I presume you tried editing? This is actually just the function code, the actual code for the placement of share buttons are in the post footer and this is the code you need to add/replace. First go to Layout > Blog Post > Edit and turn on the share buttons. Then follow this tutorial to move/add them to your post footer. In that tutorial I use the post labels as an example, instead you’ll be using the following –

      <div class='post-share-buttons goog-inline-block'>
      <b:if cond='data:post.sharePostUrl'>
      <b:include data='post' name='shareButtons'/>
      </b:if>
      </div>

  16. In method 4 I have to replace all the threaded code, right? But I replace them for what? For the big code you gave to use with ” ” ?
    That big code made a certain difference, because it placed the “rules for commenting” above the comment box (it was under before I tried the code).

    1. In method 4, you have to set up a test blog and copy the code shown over to your blog to replace what’s already there.

  17. I followed your instructions all the way through #4. However after I saved the template and went back in, those 3 lines of code had just re-nested. I didn’t know what else to do. Any other suggestions?

    1. Hello. They typically will re-nest, but the full code will still be there. That’s just Blogger’s way of organising/cleaning up the code. You don’t have a reply link at all in your comments, can you re-check step 1?

  18. I tried doing all of this, I’m not sure if I did part 4 right, but i tried and it still didnt work. any ideas on what i can do to fix this?

    1. Add ****@gmail.com to your Blogger permissions under settings and I’ll take a look for you, can’t see that code without being signed in ๐Ÿ™‚

      1. Okay i’ve done that! let me know if you figure out the problem ๐Ÿ™‚

        1. Sorry had some internet connection problems. I’ve accepted the invite, can you go back to the settings and change “author” beside my name/email to “admin”. This gives me access to your template code.

          1. Okay done that ๐Ÿ™‚

          2. Hello. I had a look and because your template is a custom one it uses slightly different code to Bloggers default. I can fix it to include the reply function but you’ll need to reapply the styling to the comment area. Let me know what you think.

          3. yeah you can go ahead and do that, thanks!

          4. Perfect, it’s working again and I added some of the styling back to it. I’ve emailed you the template backup incase you want to revert to how to was ๐Ÿ™‚

          5. thats perfect, thankyou so much!!!

  19. Hi. I did number 4. I replaced all 3 with the code you gave but it still won’t work. I am kinda new to all these html stuff and I don’t know what else to do.
    I changed my codes back since I can’t seem to make anything work. Help me please. Thank you.

    1. Hello! Firstly what a lovely blog, your outfits are gorgeous. I had a look at your template and it’s one that I was referring to in step 5. It’s been custom built so it’s likely that the reply button has been coded out completely which means the above fixes won’t work. If you want to read over the advice in step 5 and then contact me here I can fix it for you.

      1. Thank you. And also, sorry for the late reply. What should I do then?

        1. As mentioned in step 5, my advice is to contact the designer/developer of the template. Or if you would rather not do that, you can contact me here to look at re-coding your existing template to include the reply button.

          1. I guess I’ll just have to contact her. I was hoping I could solve this problem on my own but obviously I can’t. Thank you for your help though.

  20. Thank you so much for this guide. I had to replace all threaded code to get my replies to work, but it was worth it. Wouldn’t have known what to do without this post. ๐Ÿ™‚

    1. Awh happy to help! ๐Ÿ™‚

  21. thank you so much ๐Ÿ™‚ I made it in one go !

  22. Hi Ellie,

    I am having trouble with the codes and replacing them and don’t want to screw it up even more. Anyway you can take a look at it? I am unable to reply to anyone. I included you into the reader list.

    Thanks,

    Lauren

    1. Hello Lauren. I can re-code it for you if you don’t want to mess with the code yourself, can you fill in your details here.

  23. Thank you so much. You have been so helpful. ๐Ÿ™‚

  24. I CAN REPLY TO COMMENTS ON MY BLOG.

    This was something that was bothering me for ages. Kind of like when you know you need to sew a button on a shirt but, chose to wear a different shirt for about 6 months before just sitting down and doing it!
    I feel so relieved that I can now reply to my readers, now they won’t think I’m ignoring them!

    I did every step that you mentioned, but I ended up having to create a new test blog to get the fresh code. I think I was stuffing around with it so much that I’d forgotten what I’d changed/deleted and modified!

    THANK YOU SO SO SO MUCH!

    -Olivia Gumienny.

    1. Hello Olivia, glad you got it sorted. Sometimes replacing the code is the best step, sets it back to default and then you know the code is clean from errors. You are very welcome, happy to help ๐Ÿ™‚

  25. Oh, I am SO excited!! This tutorial worked ๐Ÿ˜€ Thank you SO SO SO much! That little reply link has been bugging my sisters and I on our blog, and now it’s fixed! What an obvious thing to just copy the code from an un-edited template and paste it in… duh ;P You are absolutely awesome!

    -Charlotte
    boyerfamilysingers.blogspot.com

  26. Is there any way you would be able to take a look at my code and see what is missing, in order to be able to reply? I hit the reply button, but nothing happens. I have messed with this code way too much and am worried to start replacing things lol.

    1. Hello, you can hire me here to instal the reply button for you if you don’t feel comfortable with the tutorial above.

  27. Please contact me via project inquiry page to request support service.

  28. Astrid

    You’re brilliant! Thank you so much! You’ve helped me a lot. I’ve just started my blog and I’m looking for things to make it better. Your blog is the most helpful one I found.

  29. I’m ready to rip my hair out literally lol

    I tried following the instructions and it just wont work, i don’t know what i am doing wrong, i am horribly challenged when it comes to this html stuff…

    There is no option to reply to people who comment on my blog. i have no options whatsoever..

    1. Hello Samantha, are you using a custom template – one that isn’t from Bloggers selection or a Blogger template that has been customised? A lot of third party templates remove this option for some reason, it will have to be recoded into your template.

  30. HELLO,

    My reply button is still not functioning. Sigh. Can you help me to check it out?

    Thank you in advanced

    Regards,
    Pojiegraphy

    1. Hello, nothing I can do from here as I can’t see the code. You are using a third party template so would be best to check with the original developer.

  31. Step 4 worked for me, thank you so much!!

  32. Hey Elaine,hope you are good. I need your help in fixing reply button to my blogger comments.When i followed the Step 3, the reply button appears on my blog but it’s not functioning.Then i moved to Step 4 but this time my blog is not saving the changes in my template,even it is not showing any HTML code error.

    1. Hey Fatima, I’m afraid I don’t provide support for third party templates which yours is. You could get in touch with the original developer and see if they are able to help.

      1. Ok dear! Thank you so much

  33. Well done – worked through them and 4/. got my reply buttons working again

  34. This is at least the second time I’ve used this tutorial (for my and my husband’s blog) and it is so simple to follow, and works like a charm. Thank you!!

    1. So glad it worked for you Claire ๐Ÿ™‚

  35. MD Kawsar

    Excellent. Really it’s good working. It’s very helpfull for mine.

  36. hi. I hope you can help me. i’ll try to find at step 3 but what it appeared was so, how i can change this? and i found that i couldn’t make my blog’s comment into threaded comment ๐Ÿ™ i hope you can solve my problem. Thank you ๐Ÿ™‚

  37. ADDING OR FIXING REPLY OPTION <<< IT'S REALLY WORK.

    thank you so much!

  38. This post is a life savor for me. You have no idea how much you helped me. I always had an issue of how to fix threaded comments but no problems from now on.

  39. Oh my goodness, can I just just a huge THANK YOU for helping me with this. Incredulously (for me) it worked the first time by simple removing blog1. You have literally saved me today. ๐Ÿ™‚

    1. Hey Monica, so glad to hear this. Thank you for taking the time to comment!

  40. Thank you so much. You have been so helpful.

  41. I tried the instructions for all the threaded code sections, but it didn’t help. The funny thing is that I’ve had the blog from 2009 and only years later did I notice that there is actually a reply button in the mobile version – it just doesn’t exist in the not-mobile version. As my blog isn’t that super active, I didn’t care enough at first, but actually it would be really good to get that fixed. Having it on mobile and not having it on desktop is almost worse than not having it at all.

    Any extra tips?