Chào các bạn, nếu các bạn đang cần có một sitemap riêng cho mình nhưng bạn thấy quá nhàm chán với các mẫu trên mạng ? Okey, hôm nay mình sẽ chia sẽ các bạn sitemap Khá Deep, bạn nào edit tốt thì có thể thay các thứ các thứ nữa =))
Tạo Sitemap Tuyệt Đẹp Cực Kì Đơn Giản Cho Blogspot
Hình Minh Họa
Xem Demo

Các Bước Thực Hiện

Bước 1: Truy cập vào Quản Trị Blogger - Trang - Trang Mới.
Bước 2:  Chuyển Sang chế độ HTML và dán đoạn code sau vào đó, edit vài thứ rồi xuất bản.
<div id="bp_toc">
</div>
<script type="text/javascript">

   var postTitle = new Array();     // array of posttitles
   var postUrl = new Array();       // array of posturls
   var postDate = new Array();      // array of post publish dates
   var postSum = new Array();       // array of post summaries
   var postLabels = new Array();    // array of post labels

// global variables
   var sortBy = "datenewest";         // js abcdoff jave linkthuthuat
   var tocLoaded = false;           // true if feed is read and ToC can be displayed
   var numChars = 250;              // number of characters in post summary
   var postFilter = '';             // default filter value
   var tocdiv = document.getElementById("bp_toc"); //the toc container
   var totalEntires =0; //Entries grabbed till now
   var totalPosts =0; //Total number of posts in the blog.

// main callback function

function loadtoc(json) {

   function getPostData() {
   // this functions reads all postdata from the json-feed and stores it in arrays
      if ("entry" in json.feed) {
         var numEntries = json.feed.entry.length;
         totalEntires = totalEntires + numEntries;
         totalPosts=json.feed.openSearch$totalResults.$t
         if(totalPosts>totalEntires)
         {
         var nextjsoncall = document.createElement('script');
         nextjsoncall.type = 'text/javascript';
         startindex=totalEntires+1;
         nextjsoncall.setAttribute("src", "/feeds/posts/summary?start-index=" + startindex + "&max-results=500&alt=json-in-script&callback=loadtoc");
         tocdiv.appendChild(nextjsoncall);
         }
      // main loop gets all the entries from the feed
         for (var i = 0; i < numEntries; i++) {
         // get the entry from the feed
            var entry = json.feed.entry[i];

         // get the posttitle from the entry
            var posttitle = entry.title.$t;

         // get the post date from the entry
            var postdate = entry.published.$t.substring(0,10);

         // get the post url from the entry
            var posturl;
            for (var k = 0; k < entry.link.length; k++) {
               if (entry.link[k].rel == 'alternate') {
               posturl = entry.link[k].href;
               break;
               }
            }

         // get the post contents from the entry
         // strip all html-characters, and reduce it to a summary
            if ("content" in entry) {
               var postcontent = entry.content.$t;}
            else
               if ("summary" in entry) {
                  var postcontent = entry.summary.$t;}
               else var postcontent = "";
         // strip off all html-tags
            var re = /<\S[^>]*>/g;
            postcontent = postcontent.replace(re, "");
         // reduce postcontent to numchar characters, and then cut it off at the last whole word
            if (postcontent.length > numChars) {
               postcontent = postcontent.substring(0,numChars);
               var quoteEnd = postcontent.lastIndexOf(" ");
               postcontent = postcontent.substring(0,quoteEnd) + '...';
            }

         // get the post labels from the entry
            var pll = '';
            if ("category" in entry) {
               for (var k = 0; k < entry.category.length; k++) {
                  pll += '<a href="javascript:filterPosts(\'' + entry.category[k].term + '\');" title="Click here to select all posts with label \'' + entry.category[k].term + '\'">' + entry.category[k].term + '</a>,  ';
               }
            var l = pll.lastIndexOf(',');
            if (l != -1) { pll = pll.substring(0,l); }
            }

         // add the post data to the arrays
            postTitle.push(posttitle);
            postDate.push(postdate);
            postUrl.push(posturl);
            postSum.push(postcontent);
            postLabels.push(pll);
         }
      }
      if(totalEntires==totalPosts) {tocLoaded=true;showToc();}
   } // end of getPostData

// start of showtoc function body
// get the number of entries that are in the feed
//   numEntries = json.feed.entry.length;

// get the postdata from the feed
   getPostData();

// sort the arrays
   sortPosts(sortBy);
   tocLoaded = true;
}



// filter and sort functions


function filterPosts(filter) {

  // document.getElementById("bp_toc").scrollTop = document.getElementById("bp_toc").offsetTop;;
   postFilter = filter;
   displayToc(postFilter);
}

function allPosts() {


   postFilter = '';
   displayToc(postFilter);
}

function sortPosts(sortBy) {


   function swapPosts(x,y) {
   // Swaps 2 ToC-entries by linkthuthuat.com
      var temp = postTitle[x];
      postTitle[x] = postTitle[y];
      postTitle[y] = temp;
      var temp = postDate[x];
      postDate[x] = postDate[y];
      postDate[y] = temp;
      var temp = postUrl[x];
      postUrl[x] = postUrl[y];
      postUrl[y] = temp;
      var temp = postSum[x];
      postSum[x] = postSum[y];
      postSum[y] = temp;
      var temp = postLabels[x];
      postLabels[x] = postLabels[y];
      postLabels[y] = temp;
   } // end swapPosts

   for (var i=0; i < postTitle.length-1; i++) {
      for (var j=i+1; j<postTitle.length; j++) {
         if (sortBy == "titleasc") { if (postTitle[i] > postTitle[j]) { swapPosts(i,j); } }
         if (sortBy == "titledesc") { if (postTitle[i] < postTitle[j]) { swapPosts(i,j); } }
         if (sortBy == "dateoldest") { if (postDate[i] > postDate[j]) { swapPosts(i,j); } }
         if (sortBy == "datenewest") { if (postDate[i] < postDate[j]) { swapPosts(i,j); } }
      }
   }
} // end sortPosts

// bai viet sitemap linkthuthuat.com

function displayToc(filter) {
// this function creates a three-column table and adds it to the screen
   var numDisplayed = 0;
   var tocTable = '';
   var tocHead1 = 'THỦ THUẬT';
   var tocTool1 = 'Click để xem từ trên xuống dưới';
   var tocHead2 = 'THỜI GIAN';
   var tocTool2 = 'Click để xem';
   var tocHead3 = 'CHUYÊN MỤC';
   var tocTool3 = '';
   if (sortBy == "titleasc") {
      tocTool1 += ' (descending)';
      tocTool2 += ' (newest first)';
   }
   if (sortBy == "titledesc") {
      tocTool1 += ' (ascending)';
      tocTool2 += ' (newest first)';
   }
   if (sortBy == "dateoldest") {
      tocTool1 += ' (ascending)';
      tocTool2 += ' (newest first)';
   }
   if (sortBy == "datenewest") {
      tocTool1 += ' (ascending)';
      tocTool2 += ' (oldest first)';
   }
   if (postFilter != '') {
      tocTool3 = 'Click to show all posts';
   }
   tocTable += '<table>';
   tocTable += '<tr>';
   tocTable += '<td class="toc-header-col1">';
   tocTable += '<a href="javascript:toggleTitleSort();" title="' + tocTool1 + '">' + tocHead1 + '</a>';
   tocTable += '</td>';
   tocTable += '<td class="toc-header-col2">';
   tocTable += '<a href="javascript:toggleDateSort();" title="' + tocTool2 + '">' + tocHead2 + '</a>';
   tocTable += '</td>';
   tocTable += '<td class="toc-header-col3">';
   tocTable += '<a href="javascript:allPosts();" title="' + tocTool3 + '">' + tocHead3 + '</a>';
   tocTable += '</td>';
   tocTable += '</tr>';
   for (var i = 0; i < postTitle.length; i++) {
      if (filter == '') {
         tocTable += '<tr><td class="toc-entry-col1"><a href="' + postUrl[i] + '" title="' + postSum[i] + '">' + postTitle[i] + '</a></td><td class="toc-entry-col2">' + postDate[i] + '</td><td class="toc-entry-col3">' + postLabels[i] + '</td></tr>';
         numDisplayed++;
      } else {
          z = postLabels[i].lastIndexOf(filter);
          if ( z!= -1) {
             tocTable += '<tr><td class="toc-entry-col1"><a href="' + postUrl[i] + '" title="' + postSum[i] + '">' + postTitle[i] + '</a></td><td class="toc-entry-col2">' + postDate[i] + '</td><td class="toc-entry-col3">' + postLabels[i] + '</td></tr>';
             numDisplayed++;
          }
        }
   }
   tocTable += '</table>';
   if (numDisplayed == postTitle.length) {
      var tocNote = '<span class="toc-note">Linkthuthuat.com có ' + postTitle.length + ' thủ thuật<br/></span>'; }
   else {
      var tocNote = '<span class="toc-note">Có ' + numDisplayed + ' posts labeled \'';
      tocNote += postFilter + '\' of '+ postTitle.length + ' posts total<br/></span>';
   }
   tocdiv.innerHTML = tocNote + tocTable;
} // end of displayToc

function toggleTitleSort() {
   if (sortBy == "titleasc") { sortBy = "titledesc"; }
   else { sortBy = "titleasc"; }
   sortPosts(sortBy);
   displayToc(postFilter);
} // end toggleTitleSort

function toggleDateSort() {
   if (sortBy == "datenewest") { sortBy = "dateoldest"; }
   else { sortBy = "datenewest"; }
   sortPosts(sortBy);
   displayToc(postFilter);
} // end toggleTitleSort


function showToc() {
  if (tocLoaded) {
     displayToc(postFilter);
     var toclink = document.getElementById("toclink");
 
  }
  else { alert("Just wait... TOC is loading"); }
}

function hideToc() {
  var tocdiv = document.getElementById("toc");
  tocdiv.innerHTML = '';
  var toclink = document.getElementById("toclink");
  toclink.innerHTML = '<a href="#" onclick="scroll(0,0); showToc(); Effect.toggle('+"'toc-result','blind');"+'">» Show Table of Contents</a> <img src="http://chenkaie.blog.googlepages.com/new_1.gif"/>';
}</script> <script src="/feeds/posts/summary?alt=json-in-script&amp;max-results=9999&amp;callback=loadtoc" type="text/javascript"></script>

<style scoped="" type="text/css">
#comments {display:none;}


/* CSS Full Sitemap by linkthuthuat.com*/
#bp_toc {background:#f50;color:#666;margin:0 auto;padding:5px;}
span.toc-note {padding:20px;margin:0 auto;display:block;text-align:center;color:#fff;font-family:'Roboto';font-weight:700;text-transform:uppercase;font-size:30px;line-height:normal;}
.toc-header-col1 {padding:10px;background-color:#f5f5f5;width:250px;font-family:'Roboto'}
.toc-header-col2 {padding:10px;background-color:#f5f5f5;width:75px;font-family:'Roboto'}
.toc-header-col3 {padding:10px;background-color:#f5f5f5;width:125px;font-family:'Roboto'}
.toc-header-col1 a:link, .toc-header-col1 a:visited, .toc-header-col2 a:link, .toc-header-col2 a:visited, .toc-header-col3 a:link, .toc-header-col3 a:visited {font-size:14px; font-family: Roboto
text-decoration:none;color:#aaa;font-family:'Roboto';font-weight:700;letter-spacing: 0.5px;}
.toc-header-col1 a:hover, .toc-header-col2 a:hover, .toc-header-col3 a:hover {
text-decoration:none;}
.toc-entry-col1, .toc-entry-col2, .toc-entry-col3 {background:#fdfdfd;padding:5px;padding-left:5px;font-size:89%}
.toc-entry-col1 a, .toc-entry-col2 a, .toc-entry-col3 a{color:#666;font-size:14px; font-family: Roboto}
.toc-entry-col1 a:hover, .toc-entry-col2 a:hover, .toc-entry-col3 a:hover{color:#e76e66;}
#bp_toc table {width:100%;margin:0 auto;counter-reset:rowNumber;}
.toc-entry-col1 {counter-increment:rowNumber;}
#bp_toc table tr td.toc-entry-col1:first-child::before {content: counter(rowNumber);min-width:1em;margin-right:0.5em; font-weight: 700}
td.toc-entry-col2 {background:#fafafa;}
</style>
Các bạn thay các từ in đậm thành link blog hay tên blog của các bạn vào đó, sau đó nhấn xuất bản.

Lời Kết

Ok, chỉ đơn giản vậy thôi, các bạn cũng có thể thay màu cam đó thành màu của blog bạn hay màu yêu thích của các bạn.
Chúc các bạn thành công!
- - 31 bình luận
CHUYÊN MỤC

BÌNH LUẬN (31)

  1. Trả lời
    1. Tui thấy bình thường mà :v

      Xóa
    2. Dùng Google -> Chặn quảng cáo

      Xóa
    3. Dùng Google làm gì mà chặn quảng cáo ? đang dùng google nè, chắc dùng ứng dụng chặn QC AdBlock :))

      Xóa
  2. Lâu rồi ko ghé thăm Cường lớn :v nói mua domain của Cường hoài mà chưa mua được :D

    Trả lờiXóa
    Trả lời
    1. Vậy à, tui cũng liên hệ mua domain của Cường mà anh ấy ko rep mail :))

      Xóa
    2. Hiện Tại Star Cường IT không bán domain nữa nhé :))

      Xóa
  3. Sao sitemap mình lên, nó lên 1 trang trắn thôi.

    Trả lờiXóa
    Trả lời
    1. Bạn để lại link sitemap của bạn mình xem

      Xóa
    2. Link của mình.
      http://www.hoiaiday.com/p/blog-page_6.html

      Xóa
    3. Vậy chắc là bạn quên chỉnh sửa hay copy thiếu chổ nào rồi, bạn thử copy lại và sửa link minbhf thành link blog của bạn nhé!

      Xóa
    4. bạn copy all code ở link dưới nhé. code trên kia bị thiếu r

      http://notepad.vn/share/ytximaj13

      Xóa
    5. Dạ Thanks Anh nhiều em làm được rồi.

      Xóa
  4. Anh Cường ơi rep mail giùm em với :((

    Trả lờiXóa
  5. Em copy đoạn code mệt cả người

    Trả lờiXóa
    Trả lời
    1. :v click vô là được mà, cần gì phải copy

      Xóa
  6. Úp lên bị như này thì sao đây bác
    Trang này chứa các tài nguyên HTTP có thể khiến nội dung hỗn hợp ảnh hưởng đến tính bảo mật và trải nghiệm người dùng nếu xem blog qua HTTPS.
    Khắc phục Loại bỏ Tìm hiểu thêm
    <script src="http://www.starcuongit.com/feeds/posts/summary?alt=json-in-script&amp;max-results=9999&amp;callback=loadtoc" type="text/javascript">
    ấn vào khắc phục và úp lên thì nó k hiện j hết

    Trả lờiXóa
    Trả lời
    1. bạn xóa http://www.starcuongit.com rồi mã hóa đoạn link trong src của srcipt tại đây

      Xóa
    2. Mã Hóa đoạn đó là được à

      Xóa
    3. nếu bạn chèn đoạn script đó vào bài viết thì không cần mã hóa đâu. chỉ cần xóa cái link starcuongit như mình nói là đc

      Xóa

Một số lưu ý khi bình luận

Mọi bình luận sai nội quy sẽ bị xóa mà không cần báo trước (xem nội quy)

Bấm Thông báo cho tôi bên dưới khung bình luận để nhận thông báo khi admin trả lời

Để bình luận một đoạn code, hãy mã hóa code trước nhé