HOT!Join Our Community For Exclusive Blogging IdeasClick Here

How to Add Sitemap Widget In Blogspot Blogs


Sitemap is the most essential thing which every blogger should add in his/her blog. Its not just a page but helps a lot to reduce bounce rate immediately by providing direct navigation to label specific post. The sitemap widget we're going to add today shows a list of articles on the latest published order under each categories, This widget is based on ajax so it will load blazing fast and will not affect the performance of your blog. Lets move further and see How to Add Sitemap Widget In Blogspot Blogs. You can check a live preview of the Author Box widget by clicking the button below.

Let's Start Step-1 ( Adding CSS

Before Editing we recommend you to make a backup of your template, so that anything goes wrong you still have your blog design safe.

The First thing you need to do is to login into your Blogger account and go to >> Templates >> Edit HTML and search for the ending ]]></b:skin> tag and just above it paste the following code.

/* ######## Navigation Menu Css by sorabloggingtips.com ######################### */
.mapasite {
    margin-bottom: 10px;
    background-color: #F8F8F8
}
.mapasite.active .mapa {
    display: block
}
.mapasite .mapa {
    display: none
}
.mapasite h2 {
    background-color: #EEE;
    color: $(primary.color);
    font-size: 15px;
    padding: 10px 20px;
    border-radius: 2px;
    margin-bottom: 0;
    cursor: pointer;
    font-weight: 700
}
.mapasite h2 .botao {
    font-size: 18px;
    line-height: 1.2em
}
.botao .fa-minus-circle {
    color: #f30
}
.mapapost {
    overflow: hidden;
    margin-bottom: 20px;
    height: 70px;
    background-color: #FFF
}
.mapa {
    padding: 40px
}
.map-thumb {
    background-color: #F0F0F0;
    padding: 10px;
    display: block;
    width: 65px;
    height: 50px;
    float: left
}
.map-img {
    width: 65px;
    height: 50px;
    overflow: hidden;
    border-radius: 2px
}
.map-thumb a {
    width: 100%;
    height: 100%;
    display: block;
    transition: all .3s ease-out!important;
    -webkit-transition: all .3s ease-out!important;
    -moz-transition: all .3s ease-out!important;
    -o-transition: all .3s ease-out!important
}
.map-thumb a:hover {
    -webkit-transform: scale(1.1) rotate(-1.5deg)!important;
    -moz-transform: scale(1.1) rotate(-1.5deg)!important;
    transform: scale(1.1) rotate(-1.5deg)!important;
    transition: all .3s ease-out!important;
    -webkit-transition: all .3s ease-out!important;
    -moz-transition: all .3s ease-out!important;
    -o-transition: all .3s ease-out!important
}
.mapapost .wrp-titulo {
    padding-top: 10px;
    font-weight: 700;
    font-size: 14px;
    line-height: 1.3em;
    padding-left: 25px;
    padding-right: 10px;
    display: block;
    overflow: hidden;
    margin-bottom: 5px
}
.mapapost .wrp-titulo a {
    
}
.mapapost .wrp-titulo a:hover {
    color: #f30;
    text-decoration: underline
}
.map-meta {
    display: block;
    float: left;
    overflow: hidden;
    padding-left: 25px;
}
.mapasite h2 .botao {
    float: right
}

Step-2 ( Adding HTML Script

Now this is the most essential part of the tutorial and you have to do it very carefully. In the template, search for the </body> tag  and just above it paste the following HTML Coding.

 <script type='text/javascript'> 
            //<![CDATA[
var text_month = [, "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sept", "Oct", "Nov", "Dec"];
var no_image_url = "http://1.bp.blogspot.com/-eAeO-DYJDws/Vkqtj4HFBFI/AAAAAAAAB0o/Q5OLsyONXM0/s1600-r/nth.png";

           var static_page_text = $.trim($('.static_page .post-body').text());
if (static_page_text === "[sitemap]") {
    var postbody = $('.static_page .post-body');
    $.ajax({
        url: "/feeds/posts/default?alt=json-in-script",
        type: 'get',
        dataType: "jsonp",
        success: function(dataZ) {
            var blogLabels = [];
            for (var t = 0; t < dataZ.feed.category.length; t++) {
                blogLabels.push(dataZ.feed.category[t].term)
            }
            var blogLabels = blogLabels.join('/');
            postbody.html('<div class="siteLabel"></div>');
            $('.static_page .post-body .siteLabel').text(blogLabels);
            var splabel = $(".siteLabel").text().split("/");
            var splabels = "";
            for (get = 0; get < splabel.length; ++get) {
                splabels += "<span>" + splabel[get] + "</span>"
            }
            $(".siteLabel").html(splabels);
            $('.siteLabel span').each(function() {
                var mapLabel = $(this);
                var mapLabel_text = $(this).text();
                $.ajax({
                    url: "/feeds/posts/default/-/" + mapLabel_text + "?alt=json-in-script",
                    type: 'get',
                    dataType: "jsonp",
                    success: function(data) {
                        var posturl = "";
                        var htmlcode = '<div class="mapa">';
                        for (var i = 0; i < data.feed.entry.length; i++) {
                            for (var j = 0; j < data.feed.entry[i].link.length; j++) {
                                if (data.feed.entry[i].link[j].rel == "alternate") {
                                    posturl = data.feed.entry[i].link[j].href;
                                    break
                                }
                            }
                            var posttitle = data.feed.entry[i].title.$t;
                            var author = data.feed.entry[i].author[0].name.$t;
                            var get_date = data.feed.entry[i].published.$t,
                                year = get_date.substring(0, 4),
                                month = get_date.substring(5, 7),
                                day = get_date.substring(8, 10),
                                date = text_month[parseInt(month, 10)] + ' ' + day + ', ' + year;
                            var tag = data.feed.entry[i].category[0].term;
                            var content = data.feed.entry[i].content.$t;
                            var $content = $('<div>').html(content);
                            var src2 = data.feed.entry[i].media$thumbnail.url;
                            htmlcode += '<div class="mapapost"><div class="map-thumb"><div class="map-img"><a href="' + posturl + '" style="background:url(' + src2 + ') no-repeat center center;background-size: cover"/></div></div><h3 class="wrp-titulo"><a href="' + posturl + '">' + posttitle + '</a></h3><div class="map-meta"><span class="p-author">' + author + '</span><span class="p-date">' + date + '</span></div></div>'
                        }
                        htmlcode += '</div>';
                        mapLabel.replaceWith('<div class="mapasite"><h2>' + mapLabel_text + '<span class="botao"><i class="fa fa-plus-circle"></i></span></h2>' + htmlcode + '</div>');
                        $(document).on('click', '.mapasite h2', function() {
                            $(this).parent('.mapasite').addClass('active');
                            $(this).find('.botao .fa').removeClass('fa-plus-circle').addClass('fa-minus-circle');
                        });
                        $(document).on('click', '.mapasite.active h2', function() {
                            $(this).parent('.mapasite').removeClass('active');
                            $(this).find('.botao .fa').addClass('fa-plus-circle').removeClass('fa-minus-circle');
                        });
                    }
                });
            });
        }
    });
}
            //]]>
</script>

Now Save your template and go to pages to add sitemap.

Note :- the widget works on jquery so you have to install jquery plugin if you haven't installed it yet..

Step-3 ( Adding Sitemap In Pages ) - Most Important !!

Now this is the most essential part of the tutorial and you have to do it very carefully.Go to your blogger dashboard > Pages > Add New Page.
On the new page content after adding the page title and hiding the comments using options, add the following code in the page content area.
[sitemap]
For better understanding check the highlighted area in the below image.




Now click publish button and check the published page to see the newly added sitemap widget. ;)

Conclusion

Congrats !! You have made it. now you have learned that How to Add Sitemap Widget In Blogspot Blogs. Visit your blog and check the awesome widget live in action, hope you liked this tutorial, if you enjoyed then please share it with your friends, we are working hard to develop more such awesome widgets please stay tuned with Us. Goodbye !! (Goodbye in English!! hahaha).
How to Add Sitemap Widget In Blogspot Blogs How to Add Sitemap Widget In Blogspot Blogs Reviewed by Sora Blogging Tips on January 22, 2017 Rating: 5

64 comments:

  1. Did not work for my blog and it is one of your templates. http://www.blastedgist.ml/p/sitemap.html

    ReplyDelete
  2. how to install jquery plugin for sitemap?

    ReplyDelete
    Replies
    1. Very Soon we will publish a tutorial about it, stay tuned.

      Delete
  3. what does "for unlimited domains" Mean?
    I installed your theme on my blog Http://humptechtips.com please tell me

    ReplyDelete
    Replies
    1. You can Use it for as many domains as you can.

      Delete
  4. SITEMAP PLEASE SORA ...http://ancestral70.blogspot.pt/

    ReplyDelete
    Replies
    1. Follow the above tutorial, to install sitemap.

      Delete
  5. it is showing the [sitemap] when i view the page nothing more and nothing less ??

    ReplyDelete
  6. Hi sir, I followed your instruction but the sitemap is not working on my website https://content2seo.blogspot.in/ please help

    ReplyDelete
  7. not working you see : http://blog.chutuananh.com/p/bptoc-backgroundffaaa4color666margin0.html

    ReplyDelete
  8. not working!!!

    http://4techblogger.blogspot.com/p/sitemap.html

    ReplyDelete
  9. It's works.....thank you! [terima kasih! (in Bahasa Indonesia)]

    www.chakrasinatriya.blogspot.com

    ReplyDelete
  10. please help... didnt work for me.

    https://gkmade-easy.blogspot.com/p/sitemap.html

    ReplyDelete
    Replies
    1. https://military-choice.blogspot.in/p/sitemap_57.html

      my jquery code - https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js

      Delete
    2. We have updated the code please replace the code with older one.

      Delete
  11. This tutorial I have applied to my blog blogonDOTid, and works well, thanks Sora

    ReplyDelete
  12. didnt work http://www.jamzok.com/p/sitemap.html

    ReplyDelete
    Replies
    1. You have to publish the codes in content tab instead of HTML.

      Delete
  13. Hey! Thanks for the tutorial! It works fine with my blog with flora theme
    Check my blog!
    Thank again!!

    ReplyDelete
  14. not working please bro please update this it will only work sora tamplet other not

    link : http://www.bdtv.ml/p/sitemap.html not work

    ReplyDelete
    Replies
    1. You have to publish the codes in content tab instead of HTML.

      Delete
  15. Blog: https://lowtech-pt.blogspot.pt - The "* ######## Navigation Menu Css by sorabloggingtips.com ######################### */ ..." code apear on the head of the blog :(

    ReplyDelete
    Replies
    1. Copy the css carefully, you may have missed anything.

      Delete
  16. i unable to find ]]> code on my html. please help to make site map

    ReplyDelete
  17. thank you a lot its working

    ReplyDelete
  18. would you please help me out with this

    http://pakistanifox.blogspot.com/p/blog-page.html

    not working for me, no answer brother

    ReplyDelete
    Replies
    1. You have to publish the codes in content tab instead of HTML.

      Delete
    2. I did both ways contact tab also not working for me dont know why...

      Delete
    3. sorry a lot so now i delete it

      Delete
  19. Works great, thanks!
    Here's my blog sitemap url >> http://playnoroid.blogspot.com/p/sitemap.html

    ReplyDelete
  20. is there any limit of posts under this sitemap

    ReplyDelete
    Replies
    1. No it will show every single post based on categories.

      Delete
  21. s there any limit of labels under this sitemap
    how costimaze this sitemap to get it from specific labels only
    my url is http://www.archiworldz.ml/p/sitemap_28.html

    ReplyDelete
    Replies
    1. Sorry but the purpose of site map is to show posts from entire blog.

      Delete
  22. Awesome, works fine here. Would it be possible to include Pages too?

    ReplyDelete
  23. http://pusatbacaku.blogspot.co.id/p/sitemap_7.html

    not working bro...

    ReplyDelete
  24. Not Working https://www.earlycts.com/p/sitemap.html

    ReplyDelete
  25. not working for site www.ezonetoday.com
    it shows as plain text only .. I wanted to buy paid version ,but don't have a paypal a/c. Any other alternative payment method

    ReplyDelete
    Replies
    1. Follow this tutorial
      http://www.sorabloggingtips.com/2017/03/fix-recent-random-label-post-widget-in-blogger.html

      Delete

Powered by Blogger.