Hiển thị các bài đăng có nhãn HTML. Hiển thị tất cả bài đăng
Hiển thị các bài đăng có nhãn HTML. Hiển thị tất cả bài đăng

Sửa lỗi không phân trang khi xem theo nhãn blog

Phân trang (page navigation) là một tiện ích mà tất cả các blogger chuyên nghiệp và bán chuyên nghiệp đều dùng. Ngoài mục đích làm đẹp còn để blog tải nhanh và giúp độc giả tiện theo dõi các bài viết của các bạn hơn. Tuy nhiên có một lỗi mà hầu hết người dùng blogger đều mắc phải là khi click vào xem nhãn trang index hay trang chủ thì số bài đăng hiển thị trên 1 trang lại lên đến 20 theo mặc định hoặc thiếu số bài mà các bạn đã định trước trong tiện ích phân trang.

»  Nguyên nhân chính:
  1. Bạn chưa định dạng cấu hình của các thẻ XML quy định số bài viết tải ở mỗi trang nhãn.
  2. Dung lượng số bài viêt trên trang của bạn quá lớn nên feed phải giảm tải số bài để không vượt quá giới hạn cho phép.
Bài viết này mình sẽ lầm lượt hướng dẫn các bạn các khắc phục 2 lỗi trên. Khắc phục lỗi không phân trang hoặc không hiển thị đúng số bài đăng khi xem theo nhãn trong blogspot!

» Định hình lại mã XML của template:
- Thực ra việc hiển thị số bài đăng trên 1 trang là thêm vào sau địa chỉ dòng ?&max-results=5 để ngắt trang. Vì vậy để sửa lỗi này ta chỉ việc thực hiện.

1.1- Đăng nhập vào blog
1.2- Chọn Mẫu - Chỉnh sửa HTML và  thay tất cả dòng: expr:href='data:label.url'

Thành dòng sau:
expr:href='data:label.url + "?&max-results=5"'

Thay 5 thành số bài đăng bạn muốn hiển thị trên 1 trang nhãn Label hoặc trang chủ.

- Nếu làm đến đây mà vẫn không được thì hãy làm nốt bước bên dưới đảm bảo thành công 100%

» Tối giản tổng dung lượng cho phép của mỗi bài viết:
- Như các bạn đã biết Feedbruner sẽ lưu trữ các bài viết của bạn trên trang feedbruner. Sau đó nó sẽ hiển thị 20 bài viết gần đây nhất trên trang feed rss (hoặc feed atom). Và trang RSS này chỉ cho dung lượng tối da là 576K, Nếu lớn hơn thì feed sẽ tự động cắt giảm các bớt các bài viết cho đến khi nào tổng dung lượng của các bài viết còn nhỏ hơn hoặc bằng 576K. Vậy mục tiêu của chúng ta là phải giảm dung lượng tổng của 20 bài viết gần đây nhất xuống dưới 576K-bite để số bài viết không bị cắt giảm đi và không ảnh hưởng đến phân trang. Để làm được điều này hãy làm như sau:

1.1- Truy cập vào Blog.
1.2- Chọn Bài đăng => Đã xuất bản:
Sửa lỗi không phân trang khi xem theo nhãn

1.3- Bấm vào chỉnh sửa bài viết bạn đã xuất bản.
Sửa lỗi không phân trang khi xem theo nhãn

- Sau đó hãy đặt chuột vào vị trí muốn readmore và bấm vào nút Chèn dấu ngắt trang (Readmore).
Tạo Readmore cho các Bài đăng trên blog

Chèn dấu ngắt trang

Mẹo: nên đặt nút readmore sau đoạn văn bản đầu tiên trong bài viết của bạn hoặc sau khoảng 250-500 ký tự đầu tiên. Nếu bài viết gồm nhiều hình ảnh thì hãy đặt ngay sau hình ảnh đầu tiên.

- Bấm xuất bản.
=> Làm tương tự với các bài còn lại. Lưu ý là chỉ cần làm với 20 bài viết đầu tiên thôi nhé.

2- Cài đặt để giảm dung lượng nguồn cấp dữ liệu của bạn.
2.1- Bạn vào cài đặt => Vào Khác
2.2- Tại mục Nguồn cấp dữ liệu trang web => Bạn chình sửa phần Cho phép nguồn cấp dữ liệu blog thành Cho đến dấu ngắt.
Sửa lỗi không phân trang khi xem theo nhãn

2.3- Bấm lưu cài đặt lại.
Bây giờ bạn có thể đăng ký feed cho blog mà không sợ xuất hiện lỗi nữa rồi

» Cài đặt số bài trên blogger.
 Bước này đơn giản nhưng nhiều blogger thường quên và bỏ qua nó.
1. Vào Cài đặt => Bài đăng và nhận xét => Hiển thị tối đa

SlideShow trình chiếu ảnh với hiệu ứng tuyệt đẹp cho blogspot /website

Chia sẻ đoạn code slideshow trình chiếu ảnh cho blogspot rất đẹp, phù hợp với cả các website và các mã nguồn mở khác.

SlideShow trình chiếu ảnh blogspot

Với hiệu ứng chuyển động mượt mà, khá nhẹ nhàng và dễ tuỳ biến

Hướng dẫn chèn code slideshow trình chiếu ảnh vào blogspot:

Bước 1: Bạn đăng nhập Blogger -> Mẫu -> Nhấn tổ hợp phím Ctrl F và tìm đến thẻ ]]></b:skin sau đó dán đoạn CSS sau lên phía trên
img{max-width:100%}
.sliderz-wrapper{overflow:hidden;width:100%;max-width:1340px;max-height:400px;margin:auto;position:relative;margin-bottom:20px}
.sliderz-entry-list-wrapper{position:relative;width:100%;height:0;padding-top:30%;left:0;transition:.5s all cubic-bezier(0.78,-0.1,0.58,1)}
.sliderz-entry-list{display:flex;justify-content:space-around;position:absolute;width:100%;height:100%;top:0;left:0}
.sliderz-entry{width:33%;height:100%;box-sizing:border-box}
.sliderz-preview-img{width:100%;height:100%}
.sliderz-prev,.sliderz-next{width:50px;height:100%;position:absolute;z-index:2;opacity:.1;transition:.5s all ease-out;cursor:pointer}
.sliderz-next{right:-20px;top:0}
.sliderz-wrapper:hover .sliderz-prev,.sliderz-wrapper:hover .sliderz-next{opacity:1}
.sliderz-prev-btn,.sliderz-next-btn{font-size:40px;position:absolute;top:46%;width:50px;height:50px;z-index:3;color:#fff;transition:.5s all ease-out}
.sliderz-wrapper .sliderz-prev-btn{left:-30px}
.sliderz-wrapper .sliderz-next-btn{right:-30px}
.sliderz-wrapper:hover .sliderz-prev-btn{left:10px}
.sliderz-wrapper:hover .sliderz-next-btn{right:10px}
.sliderz-pick{position:absolute;top:10px;right:10px;display:flex}
.sliderz-pick > .sliderz-number{width:14px;height:14px;margin:4px;background:rgba(255,255,255,0.78);display:block;border-radius:50%;cursor:pointer;transition:.5s all ease-out}
.sliderz-pick > .sliderz-number:hover,.sliderz-pick > .sliderz-number.open{background:#f5003a}

Bước 2: Để hiển thị Slider này bạn sử dụng đoạn Code sau và dán vào nơi muốn hiển thị

<div class="sliderz-wrapper">
<div class="sliderz-prev" onclick="sliderz_goto(-1)"><i class="fa fa-chevron-left sliderz-prev-btn" aria-hidden="true"></i></div>
<div class="sliderz-entry-list-wrapper"><div class="sliderz-entry-list"></div></div>
<div class="sliderz-next" onclick="sliderz_goto(-2)"><i class="fa fa-chevron-right sliderz-next-btn" aria-hidden="true"></i></div>
<div class="sliderz-pick"></div>
</div>
<script>
var slider_entry = [
["title ảnh","Link tới","Link ảnh"],
["title ảnh","Link tới","Link ảnh"],
["title ảnh","Link tới","Link ảnh"],
["title ảnh","Link tới","Link ảnh"]
];

var slider_width = 100; // Chiều rộng slide (%)
var sliderz_time = 2000; // Thời gian chuyển slide (s)
 
var entry = "",pick="", slider_entry_len = slider_entry.length;
for (var i = slider_entry_len-1; i>=0; i--)
{
  entry += '<div class="sliderz-entry" style="width:'+100/slider_entry_len+'%"><a class="sliderz-preview" href="'+slider_entry[i][1]+'" target="_blank"><img class="sliderz-preview-img" src="'+slider_entry[i][2]+'" alt="'+slider_entry[i][0]+'"/></a></div>';
  pick = '<span class="sliderz-number" data-slide-number='+i+' onclick="sliderz_goto(event)"></span>'+pick;
}
var slider_entry_wrapper = document.getElementsByClassName("sliderz-entry-list-wrapper")[0];
slider_entry_wrapper.style.width = slider_entry_len*slider_width + '%';
document.getElementsByClassName("sliderz-entry-list")[0].innerHTML = entry;
document.getElementsByClassName("sliderz-pick")[0].innerHTML = pick;

var slider_wrapper = document.getElementsByClassName("sliderz-wrapper")[0];
var sliderz_timer = setInterval(function(){sliderz_goto(-2);}, sliderz_time);
slider_wrapper.addEventListener("mouseenter", function(){clearInterval(sliderz_timer);});
slider_wrapper.addEventListener("mouseleave", function(){sliderz_timer = setInterval(function(){sliderz_goto(-2);}, sliderz_time);});

var sliderz_goto = (function () {
 var slider_ctrl = document.getElementsByClassName("sliderz-entry-list-wrapper")[0];
 var curpos = 0, range = slider_entry_len, slider_wid=slider_width;
 var pickls = document.getElementsByClassName("sliderz-number");
 return function(pos)
 {
  if (pos==event) curpos = pos.target.dataset.slideNumber;
  else if (pos==-1) { curpos = --curpos%range; curpos=curpos<0?range-1:curpos; }
  else if (pos==-2) curpos = ++curpos%range;
  slider_ctrl.style.left = -curpos*slider_wid+"%";
  for (var i = pickls.length-1; i>=0; i--) pickls[i].classList.remove("open");
  pickls[curpos].classList.add("open");
 }
})();
slider_entry = ""; entry = ""; slider_entry_wrapper = ""; slider_wrapper = ""; pick = "";
slider_width = 0; slider_entry_len=0;
</script>

CHỈNH SỬA:

title ảnh: tên của ảnh
Link tới: Link hoặc đường dẫn
Link ảnh: Linh ảnh sử dụng định dạng JPG, PNG,...
Chiều rộng slide (%): Phần trăm
Thời gian chuyển slide (s): Giây

Để thêm một slide ảnh nữa bạn thêm một code sau vào cùng chỗ title ảnh, link ảnh,...
["title ảnh","Link tới","Link ảnh"],

KẾT LUẬN
Chỉ với vài bước đơn giản bạn đã có một slide trình chiếu ảnh tuyệt đẹp cho website/blog của bạn. Chúc bạn thành công!

Menu dọc đa cấp cho website/ blogspot chuẩn Mobile

Hướng dẫn tạo menu dọc đa cấp cho blogspot đơn giản. Code này áp dụng cho tất cả các website được viết bởi php, asp, wordpress... Menu dọc đa cấp được tối ưu nhỏ gọn và đầy đủ chức năng chuẩn Mobile.
Menu dọc đa cấp cho website/ blogspot chuẩn Mobile

HƯỚNG DẪN THỰC HIỆN

Bước 1: Bạn đăng nhập Blogspot -> Mẫu -> Nhấn tổ hợp phím Ctrl + F và tìm đến thẻ ]]></b:skin và dán đoạn CSS sau lên trước thẻ đó
#cssmenu-doc,#cssmenu-doc ul,#cssmenu-doc ul li,#cssmenu-doc ul li a{margin:0;padding:0;border:0;list-style:none;line-height:1;display:block;position:relative;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}
#cssmenu-doc{width:200px;font-family:Helvetica,Arial,sans-serif;color:#fff;margin:70px auto}
#cssmenu-doc ul ul{display:none}
.align-right{float:right}
#cssmenu-doc > ul > li > a{padding:15px 20px;border-left:1px solid #1682ba;border-right:1px solid #1682ba;border-top:1px solid #1682ba;cursor:pointer;z-index:2;font-size:14px;font-weight:700;text-decoration:none;color:#fff;text-shadow:0 1px 1px rgba(0,0,0,0.35);background:#36aae7;background:-webkit-linear-gradient(#36aae7,#1fa0e4);background:-moz-linear-gradient(#36aae7,#1fa0e4);background:-o-linear-gradient(#36aae7,#1fa0e4);background:-ms-linear-gradient(#36aae7,#1fa0e4);background:linear-gradient(#36aae7,#1fa0e4);box-shadow:inset 0 1px 0 rgba(255,255,255,0.15)}
#cssmenu-doc > ul > li > a:hover,#cssmenu-doc > ul > li.active > a,#cssmenu-doc > ul > li.open > a{color:#eee;background:#1fa0e4;background:-webkit-linear-gradient(#1fa0e4,#1992d1);background:-moz-linear-gradient(#1fa0e4,#1992d1);background:-o-linear-gradient(#1fa0e4,#1992d1);background:-ms-linear-gradient(#1fa0e4,#1992d1);background:linear-gradient(#1fa0e4,#1992d1)}
#cssmenu-doc > ul > li.open > a{box-shadow:inset 0 1px 0 rgba(255,255,255,0.15),0 1px 1px rgba(0,0,0,0.15);border-bottom:1px solid #1682ba}
#cssmenu-doc > ul > li:last-child > a,#cssmenu-doc > ul > li.last > a{border-bottom:1px solid #1682ba}
.holder{width:0;height:0;position:absolute;top:0;right:0}
.holder::after,.holder::before{display:block;position:absolute;content:"";width:6px;height:6px;right:20px;z-index:10;-webkit-transform:rotate(-135deg);-moz-transform:rotate(-135deg);-ms-transform:rotate(-135deg);-o-transform:rotate(-135deg);transform:rotate(-135deg)}
.holder::after{top:17px;border-top:2px solid #fff;border-left:2px solid #fff}
#cssmenu-doc > ul > li > a:hover > span::after,#cssmenu-doc > ul > li.active > a > span::after,#cssmenu-doc > ul > li.open > a > span::after{border-color:#eee}
.holder::before{top:18px;border-top:2px solid;border-left:2px solid;border-top-color:inherit;border-left-color:inherit}
#cssmenu-doc ul ul li a{cursor:pointer;border-bottom:1px solid #32373e;border-left:1px solid #32373e;border-right:1px solid #32373e;padding:10px 20px;z-index:1;text-decoration:none;font-size:13px;color:#eee;background:#49505a;box-shadow:inset 0 1px 0 rgba(255,255,255,0.1)}
#cssmenu-doc ul ul li:hover > a,#cssmenu-doc ul ul li.open > a,#cssmenu-doc ul ul li.active > a{background:#424852;color:#fff}
#cssmenu-doc ul ul li:first-child > a{box-shadow:none}
#cssmenu-doc ul ul ul li:first-child > a{box-shadow:inset 0 1px 0 rgba(255,255,255,0.1)}
#cssmenu-doc ul ul ul li a{padding-left:30px}
#cssmenu-doc > ul > li > ul > li:last-child > a,#cssmenu-doc > ul > li > ul > li.last > a{border-bottom:0}
#cssmenu-doc > ul > li > ul > li.open:last-child > a,#cssmenu-doc > ul > li > ul > li.last.open > a{border-bottom:1px solid #32373e}
#cssmenu-doc > ul > li > ul > li.open:last-child > ul > li:last-child > a{border-bottom:0}
#cssmenu-doc ul ul li.has-sub > a::after{display:block;position:absolute;content:"";width:5px;height:5px;right:20px;z-index:10;top:11.5px;border-top:2px solid #eee;border-left:2px solid #eee;-webkit-transform:rotate(-135deg);-moz-transform:rotate(-135deg);-ms-transform:rotate(-135deg);-o-transform:rotate(-135deg);transform:rotate(-135deg)}
#cssmenu-doc ul ul li.active > a::after,#cssmenu-doc ul ul li.open > a::after,#cssmenu-doc ul ul li > a:hover::after{border-color:#fff}

Bước 2: Tiếp tục tìm đến thẻ đóng </body> của blog và dán đoạn Javascript sau lên trên

<script type='text/javascript'>
//<![CDATA[
(function($) {
    $(document).ready(function() {
        $('#cssmenu-doc li.has-sub>a').on('click', function() {
            $(this).removeAttr('href');
            var element = $(this).parent('li');
            if (element.hasClass('open')) {
                element.removeClass('open');
                element.find('li').removeClass('open');
                element.find('ul').slideUp();
            } else {
                element.addClass('open');
                element.children('ul').slideDown();
                element.siblings('li').children('ul').slideUp();
                element.siblings('li').removeClass('open');
                element.siblings('li').find('li').removeClass('open');
                element.siblings('li').find('ul').slideUp();
            }
        });

        $('#cssmenu-doc>ul>li.has-sub>a').append('<span class="holder"></span>');

        (function getColor() {
            var r, g, b;
            var textColor = $('#cssmenu-doc').css('color');
            textColor = textColor.slice(4);
            r = textColor.slice(0, textColor.indexOf(','));
            textColor = textColor.slice(textColor.indexOf(' ') + 1);
            g = textColor.slice(0, textColor.indexOf(','));
            textColor = textColor.slice(textColor.indexOf(' ') + 1);
            b = textColor.slice(0, textColor.indexOf(')'));
            var l = rgbToHsl(r, g, b);
            if (l > 0.7) {
                $('#cssmenu-doc>ul>li>a').css('text-shadow', '0 1px 1px rgba(0, 0, 0, .35)');
                $('#cssmenu-doc>ul>li>a>span').css('border-color', 'rgba(0, 0, 0, .35)');
            } else {
                $('#cssmenu-doc>ul>li>a').css('text-shadow', '0 1px 0 rgba(255, 255, 255, .35)');
                $('#cssmenu-doc>ul>li>a>span').css('border-color', 'rgba(255, 255, 255, .35)');
            }
        })();

        function rgbToHsl(r, g, b) {
            r /= 255, g /= 255, b /= 255;
            var max = Math.max(r, g, b),
                min = Math.min(r, g, b);
            var h, s, l = (max + min) / 2;

            if (max == min) {
                h = s = 0;
            } else {
                var d = max - min;
                s = l > 0.5 ? d / (2 - max - min) : d / (max + min);
                switch (max) {
                    case r:
                        h = (g - b) / d + (g < b ? 6 : 0);
                        break;
                    case g:
                        h = (b - r) / d + 2;
                        break;
                    case b:
                        h = (r - g) / d + 4;
                        break;
                }
                h /= 6;
            }
            return l;
        }
    });
})(jQuery);
//]]>
</script>

Bước 3: Để menu này hiển thị, thường là bạn để bên thanh Sidebar của website/blog
Cách khác bạn có thể thêm tiện ích HTML mới trong bố cục và dán vào chỗ bạn muốn hiển thị widget này
<div id='cssmenu-doc'>
    <ul>
        <li><a href='#'><span>Home</span></a>
        </li>
        <li class='active has-sub'><a href='#'><span>Products</span></a>
            <ul>
                <li class='has-sub'><a href='#'><span>Product 1</span></a>
                    <ul>
                        <li><a href='#'><span>Sub Product</span></a>
                        </li>
                        <li class='last'><a href='#'><span>Sub Product</span></a>
                        </li>
                    </ul>
                </li>
                <li class='has-sub'><a href='#'><span>Product 2</span></a>
                    <ul>
                        <li><a href='#'><span>Sub Product</span></a>
                        </li>
                        <li class='last'><a href='#'><span>Sub Product</span></a>
                        </li>
                    </ul>
                </li>
            </ul>
        </li>
        <li><a href='#'><span>About</span></a>
        </li>
        <li class='last'><a href='#'><span>Get Widget</span></a>
        </li>
    </ul>
</div>

Chỉnh sửa các danh mục hoặc thêm bớt theo cấu trúc sẵn có
Chúc bạn thành công! Nếu thấy bài viết có ích hãy chia sẻ để ủng hộ nhé !

Tạo bài viết liên quan 3 cột có ảnh Thumbnail tuyệt đẹp cho blogspot

Hướng dẫn tạo bài viết liên quan (related post) 3 cột có ảnh Thumbnail cho blogspot đẹp ấn tượng, bạn có thể tùy chỉnh số lượng cột. Giúp tăng lượt tương tác với bài viết hơn và giữ chân người đọc nhiều hơn.
Hướng dẫn tạo related post có ảnh Thumbnail cho blogspot
Hướng dẫn tạo related post có ảnh Thumbnail cho blogspot
Bước 1: Bạn dán đoạn CSS sau lên phía trên thẻ ]]></b:skin>  trong mẫu

.related-post-thumbnail{padding:20px 0 0;float:left;width:100%}
.related-post-thumbnail li{width:32.3333333%;float:left;margin-right:1.5%;position:relative}
.related-post-thumbnail li:nth-child(3n){margin-right:0}
.related-post-thumbnail img{width:100%;height:auto}
.related-post-thumbnail h3{border-left:0;padding-left:0;color:#CB2027;margin:0}
.related-post-thumbnail img{-webkit-filter:brightness(85%);-webkit-transition:all .3s ease;-moz-transition:all .3s ease;-o-transition:all .3s ease;-ms-transition:all .3s ease;transition:all .3s ease}
.related-post-thumbnail img:hover{-webkit-filter:brightness(100%)}
@media (max-width:500px) {
.related-post-thumbnail li{width:49.5%;margin-right:.5%;min-height:170px}
.related-post-thumbnail li:nth-child(2n){margin-right:0;float:right}
.related-post-thumbnail li:nth-child(3n){margin-right:.5%}
}
@media (min-width:501px) and (max-width:768px) {
.related-post-thumbnail li{width:49.5%;margin-right:.5%;min-height:163px}
.related-post-thumbnail li:nth-child(2n){margin-right:0;float:right}
.related-post-thumbnail li:nth-child(3n){margin-right:.5%}
}
#related-title{margin-bottom:20px}

Bước 2: Để lấy ảnh Thumbnail và tiêu đề bạn tìm đến thẻ </head>  và dán đoạn JS sau lên phía trên

<script type='text/javascript'>
//<![CDATA[
      $(document).ready(function() {
        var w = 340;
        var h = 180;
        $('.related-post-thumbnail').find('img').each(function(n, image){
          var image = $(image);
          image.attr({src : image.attr('src').replace(/s\B\d{2,4}/,'w' + w + '-h' + h +'-c')});
          image.attr('width',w);
          image.attr('height',h);
        });
      });
      var titles=new Array();var titlesNum=0;var urls=new Array();var time=new Array();function related_results_labels(c){for(var b=0;b<c.feed.entry.length;b++){var d=c.feed.entry[b];titles[titlesNum]=d.title.$t;for(var a=0;a<d.link.length;a++){if(d.link[a].rel=="alternate"){urls[titlesNum]=d.link[a].href;time[titlesNum]=d.published.$t;titlesNum++;break}}}}function removeRelatedDuplicates(){var b=new Array(0);var c=new Array(0);e=new Array(0);for(var a=0;a<urls.length;a++){if(!contains(b,urls[a])){b.length+=1;b[b.length-1]=urls[a];c.length+=1;c[c.length-1]=titles[a];e.length+=1;e[e.length-1]=time[a]}}titles=c;urls=b;time=e}function contains(b,d){for(var c=0;c<b.length;c++){if(b[c]==d){return true}}return false}function printRelatedLabels(a){var y=a.indexOf('?m=0');if(y!=-1){a=a.replace(/\?m=0/g,'')}for(var b=0;b<urls.length;b++){if(urls[b]==a){urls.splice(b,1);titles.splice(b,1);time.splice(b,1)}}var c=Math.floor((titles.length-1)*Math.random());var b=0;document.write("<ul>");if(titles.length==0){document.write("<li>No Related Posts</li>")}else{while(b<titles.length&&b<20&&b<maxresults){if(y!=-1){urls[c]=urls[c]+'?m=0'}document.write('<li><i class="fa fa-check-square-o"></i><a href="'+urls[c]+'" title="'+time[c].substring(8,10)+"/"+time[c].substring(5,7)+"/"+time[c].substring(0,4)+'">'+titles[c]+"</a></li>");if(c<titles.length-1){c++}else{c=0}b++}}document.write("</ul>");urls.splice(0,urls.length);titles.splice(0,titles.length)};
      var relatedTitles = new Array();
      var relatedTitlesNum = 0;
      var relatedUrls = new Array();
      var thumburl = new Array();
      function related_results_labels_thumbs(json) {
        for (var i = 0; i < json.feed.entry.length; i++) {
          var entry = json.feed.entry[i];
          relatedTitles[relatedTitlesNum] = entry.title.$t;
          try {
            thumburl[relatedTitlesNum] = entry.gform_foot.url
          } catch (error) {
            s = entry.content.$t;
            a = s.indexOf("<img");
            b = s.indexOf("src=\"", a);
            c = s.indexOf("\"", b + 5);
            d = s.substr(b + 5, c - b - 5);
            if ((a != -1) && (b != -1) && (c != -1) && (d != "")) {
              thumburl[relatedTitlesNum] = d
            } else thumburl[relatedTitlesNum] = 'https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgAt8KTYK4HsiA_TnfMidI7D2j8fJC-cY-1kebBC8aVooka8cbUg21gtXwKzxb0_aa9RuHkRNsF-UJc6ADtEsq94u52x5SW6PbSb0bOu_LPZx4O30fsn0cvw-JAcP9orYKlsaB4yuAxWlfp/s1600/no-thumbnail.png'
              }
          if (relatedTitles[relatedTitlesNum].length > 35) relatedTitles[relatedTitlesNum] = relatedTitles[relatedTitlesNum].substring(0, 60);
          for (var k = 0; k < entry.link.length; k++) {
            if (entry.link[k].rel == 'alternate') {
              relatedUrls[relatedTitlesNum] = entry.link[k].href;
              relatedTitlesNum++
            }
          }
        }
      }function removeRelatedDuplicates_thumbs() {
        var tmp = new Array(0);
        var tmp2 = new Array(0);
        var tmp3 = new Array(0);
        for (var i = 0; i < relatedUrls.length; i++) {
          if (!contains_thumbs(tmp, relatedUrls[i])) {
            tmp.length += 1;
            tmp[tmp.length - 1] = relatedUrls[i];
            tmp2.length += 1;
            tmp3.length += 1;
            tmp2[tmp2.length - 1] = relatedTitles[i];
            tmp3[tmp3.length - 1] = thumburl[i]
          }
        }
        relatedTitles = tmp2;
        relatedUrls = tmp;
        thumburl = tmp3
      }function contains_thumbs(a, e) {
        for (var j = 0; j < a.length; j++) if (a[j] == e) return true;
        return false
      }function printRelatedLabels_thumbs() {
        for (var i = 0; i < relatedUrls.length; i++) {
          if ((relatedUrls[i] == currentposturl) || (!(relatedTitles[i]))) {
            relatedUrls.splice(i, 1);
            relatedTitles.splice(i, 1);
            thumburl.splice(i, 1);
            i--
          }
        }
        var r = Math.floor((relatedTitles.length - 1) * Math.random());
        var i = 0;
        if (relatedTitles.length > 0) document.write('<h2>' + relatedpoststitle + '</h2>');
        document.write('<div style="clear: both;"/>');
        while (i < relatedTitles.length && i < 20 && i < maxresults) {
          document.write('<li><a style="float:left;');
          if (i != 0) document.write('"');
          else document.write('"');
          document.write(' href="' + relatedUrls[r] + '"><img class="related_img" src="' + thumburl[r] + '"/><br/><div id="related-title">' + relatedTitles[r] + '</div></a></li>');
          if (r < relatedTitles.length - 1) {
            r++
          } else {
            r = 0
          }
          i++
        }
        document.write('</div>');
        relatedUrls.splice(0, relatedUrls.length);
        thumburl.splice(0, thumburl.length);
        relatedTitles.splice(0, relatedTitles.length)
}
//]]>
</script>

Bước 3: Trong bước này bạn cần chú ý hơn, bạn tìm đến thẻ <data:post .body=""> và dán đoạn code sau xuống phía dưới (lưu ý nếu không hiển thị bạn tìm và kiểm tra từng thẻ, trong mẫu thường có ít nhất 3 thẻ này nhé)

<div class='scroll-box related-post-thumbnail'>
<h3><span>RELATED POST:</span></h3>
<b:loop values='data:post.labels' var='label'>
<script expr:src='&quot;/feeds/posts/default/-/&quot; + data:label.name + &quot;?alt=json-in-script&amp;callback=related_results_labels_thumbs&amp;max-results=5&quot;' type='text/javascript'/>
</b:loop>
<script type='text/javascript'>
 var currentposturl=&quot;<data:post.url/>&quot;;
 var maxresults=6;
 var relatedpoststitle=&quot;&quot;;
 removeRelatedDuplicates_thumbs();
 printRelatedLabels_thumbs();
</script>
</div>
Chỉnh sửa: maxresults=6 Mặc định là 6 bài bạn có thể tăng giảm theo nhu cầu sử dụng.
Chúc bạn thành công!

Tạo bình luận mới nhất (Recent comments) cho Blogspot

Trong Blogspot cũng có sẵn tính năng này nhưng việc quản lý bình luận khá khó khăn (Mỗi khi muốn xem bình luận bạn phải đăng nhập vào phần Quản trị của Blogspot mới xem được), với Plugins này bạn sẽ phản ứng kịp thời với những spammer hay trả lời nhanh nhất cho những câu hỏi của các độc giả đặt ra trong các chủ đề của bạn.

Bình luận mới nhất (Plugins Recent comments) thường thì có 2 dạng: Có hiển thị Avatar và không hiển thị Avatar.

Bắt đầu thủ thuật !

Đầu tiên bạn vào Blog => Bố cục => Thêm tiện ích => HTML/JavaScript và dán đoạn mã code dưới đây vào và Lưu lại. Sau đây là 3 Phong cách cho các bạn lựa chọn:

1. Code Widget bình luận có hiển thị ảnh Avatar.
Tạo bình luận mới nhất (Recent comments) cho Blogspot

<style type="text/css" scoped>
ul.kangismet_recent{list-style:none;margin:0;padding:0;}
.kangismet_recent li{backgroud:#eee;margin:0 0 6px !important;padding:3px
!important;display:block;clear:both;overflow:hidden;list-style:none; border: 1px solid #aaa;
border-radius:9px; max-height: 100px;}
.kangismet_recent li:hover{border: 1px solid #ddd;background:#aaa;color:#fff}
.kangismet_recent a {text-decoration:none;}
.avatarImage{padding:3px;background:#fefefe;-webkit-box-shadow:0 1px 1px #ccc;-moz-box-shadow:0 1px 1px #ccc;box-shadow:0 1px 1px
#ccc;float:left;margin:0 6px 0 0;position:relative;overflow:hidden;}
.avatarRound{-webkit-border-radius:100px;-moz-border-radius:100px;border-radius:100px;width:35px;height:35px}
.kangismet_recent li span{margin-top:4px;color: #222;display: block;font-size: 12px;line-height: 1.4;}
</style>
<script type="text/javascript">
//<![CDATA[
    var
 numComments = 5,
 showAvatar  = true,
 avatarSize  = 35,
 roundAvatar = true,
 characters  = 40,
 defaultAvatar  = "http://www.gravatar.com/avatar/?d=mm",
 hideCredits = true;
 maxfeeds=50,
 adminBlog='Your Name';
//]]>
</script>
<script type="text/javascript" src="https://googledrive.com/host/0B-jiSGsgLypMajF6WjJfMXVkODA"></script>
<script type="text/javascript" src="/feeds/comments/default?alt=json&amp;callback=kangismet_recent&amp;&amp;max-results=50">
</script>

2. Code Widget bình luận có hiển thị ảnh Avatar và hiệu ứng.
Tạo bình luận mới nhất cho Blogspot

<style type="text/css" scoped>
ul.allbloggertricks_recent{list-style:none;margin:0;padding:0;}
.allbloggertricks_recent li{background:none!important;display:block;clear:both;overflow:hidden;list-style:none;border:1px solid transparent;border-radius:9px;max-height:100px;-webkit-transition-duration:.5s;-moz-transition-duration:.5s;-o-transition-duration:.5s;transition-duration:.5s;-webkit-transition-property:0;-moz-transition-property:0;-o-transition-property:0;transition-property:transform;margin:0 0 6px!important;padding:3px!important}
.allbloggertricks_recent li:hover{border:1px solid #ddd;
-webkit-transform:rotate(6deg);-moz-transform:rotate(6deg);-o-transform:rotate(6deg) }
.allbloggertricks_recent a {text-decoration:none;}
.avatarImage{padding:3px;background:#fefefe;-webkit-box-shadow:0 1px 1px #ccc;-moz-box-shadow:0 1px 1px #ccc;box-shadow:0 1px 1px
#ccc;float:left;margin:0 6px 0 0;position:relative;overflow:hidden}
.avatarRound{-webkit-border-radius:100px;-moz-border-radius:100px;border-radius:100px;width:35px;height:35px}
.allbloggertricks_recent li span{margin-top:4px;color: #222;display: block;font-size: 12px;line-height: 1.4;}
</style>
<script type="text/javascript">
//<![CDATA[
    var
 numComments  = 5,
 showAvatar  = true,
 avatarSize  = 35,
 roundAvatar = true,
 characters  = 40,
 defaultAvatar  = "http://www.gravatar.com/avatar/?d=mm",
 hideCredits = true;
 maxfeeds=50,
 adminBlog='Your Name';
//]]>
</script>
<script type="text/javascript" src="https://googledrive.com/host/0B-0uHUanipfMU1FDNkI2U1FWMG8"></script>
<script type="text/javascript" src="/feeds/comments/default?alt=json&amp;callback=allbloggertricks_recent&amp;&amp;max-results=50">
</script> 

3. Code Widget bình luận không hiển thị ảnh Avatar.

Tạo bình luận mới nhất cho Blog

<script style=text/javascript src="https://googledrive.com/host/0B-jiSGsgLypMaGJIb0pROE9OZ0E"></script><script style=text/javascript >var a_rc=10;var m_rc=false;var n_rc=true;var o_rc=0;</script><script src=/feeds/comments/default?alt=json-in-script&callback=showrecentcomments ></script>
<style type=text/css>
.rcw-comments a {text-transform: capitalize;}
.rcw-comments {border-bottom: 1px solid #666; padding-top: 6px!important; padding-bottom: 6px!important;}
</style> 

Tùy chỉnh:
numComments = 5 và var a_rc=10 : Số lượng bình luận bạn muốn hiển thị.
showAvatar = true : Không muốn hiển thị ảnh Avatar hãy nhập False.
avatarSize = 35 : Kích thước ảnh Avatar.
characters = 40 : Số lượng ký tự gợi ý bình luận.
defaultAvatar = http://www.gravatar.com/avatar/?d=mm : Ảnh Avatar mặc định.
maxfeeds=50 : Tối đa bình luận hiện thị.
adminBlog='Your Name' : Tên Admin.


Tự động thêm thuộc tính Nofollow và _blank cho liên kết ngoài (Link Out) trong Blog

Link Out trong làm seo, vẫn là điều đáng bàn cãi… Vậy có khi nào các bạn tự hỏi: Link Out là gì? Tại sao bạn nên Link Out đến Blog/Website khác? Sử dụng Link Out như thế nào để đạt hiểu quả cao nhất cho SEO?
Tự động thêm thuộc tính Nofollow

Mình xin đi qua vài vấn đề cơ bản trước khi thực hiện thủ thuật:

1. Link Out là gì?

Link out có thể thể hiểu là một loại link từ trang của bạn trỏ đến một trang khác. Trong trường ngược lại một site khác trỏ link về site của bạn thì nó là link out của site kia nhưng lại là backlink của bạn.

2. Tại sao bạn nên Link Out đến Blog/Website khác?

Việc bạn đi Link Out đến các nguồn uy tín sẽ làm tăng mức độ tin cậy của bạn đối với độ giả (Thu hút được độc giả và Blog/Website của bạn một cách tự nhiên).

Về mặt logic, khi liên kết đến Blog/Website khác sẽ làm cho Site của bạn kế thừa được Pagerank Authority của site đó. Do đó bạn có thể thấy lợi ích rõ ràng của việc Link (liên kết) tới các Blog/Website có chất lượng cao (Cải thiện được thứ hạn Site).

3. Sử dụng Link Out như thế nào để đạt hiểu quả cao nhất cho SEO?

Thứ nhất, Khi đặt link trỏ tới Blog/Website khác, luôn nhớ phải đặt thuộc tính “target=_blank” cho tất cả Link Out. Hiểu đơn giản, khi Bạn click chuột vào các Link Out thì trình duyệt sẽ mở ra một tab mới thay vì trình duyệt sẽ “bay” thẳng vào trang khác như các Link Out thông thường. Cách này có một điểm lợi đó là không làm mất Visitor đang truy cập Site của bạn vì khi có thao tác click vào Link Out, trang của bạn vẫn xuất hiện trên trình duyệt, ngược lại nó sẽ bay sang trang đích mà mất hiển thị trang của bạn.

Thứ hai, bạn nên đặt thuộc tính Nofollow cho Link Out. Việc này nhằm mục đích để Bot của Google nó không đi theo link và ra khỏi trang Blog/Website của bạn. Sẽ là không tốt vì đang dò tìm trên nhà của bạn mà lại chạy sang nhà người khác rồi lại tìm đường quay lại nhà của bạn, nếu Bot không tìm được đường trở lại nhà bạn đó là một đều rất tại hại.

Vậy cách sử dụng link Out tốt nhất là nên dùng cả 2 thuộc tính trên cho mỗi Link Out.

Bạn nên dùng thủ thuật tự động thêm thuộc tính Nofollow và _blank cho liên kết ngoài khi Blog/Website của bạn đi khá nhiều Link Out. Chẳng hạn, như Blog tài liệu miễn phí của mình. Nhược điểm của thủ thuật này là dùng jQuery điều này sẽ ảnh hưởng đến một phần nhỏ thời gian tải trang => Do đó mình khuyên các bạn nên thực hiện thủ công nếu Link Out trên Site của Bạn không đang kế.

Giờ bắt đầu thủ thuật Tự động thêm thuộc tính Nofollow và _blank cho liên kết ngoài (Link Out) trong Blog

Vào Blog => Mẫu => Chỉnh sửa HTML. Nhấn tổ hợp phím Ctrl + F và tìm đến thẻ </head>. Sau đó dán đoạn mã Code sau lên phía trên thẻ </head> và Lưu mẫu.

<script src='https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.js' type='text/javascript'></script>
<script type="text/javascript">
jQuery(document).ready(function () {
jQuery('a[href*="http://"]:not([href*="https://gicovietnam.blogspot.com/"])').attr('rel', 'nofollow');
jQuery('a[href*="https://"]:not([href*="https://gicovietnam.blogspot.com/"])').attr("target", "_blank");
    });
</script>
Tùy chỉnh:

Nếu Blog của bạn đã sử dụng thư viện jQuery thì bỏ đoạn Code màu đỏ đi.

Sửa lại liên kết https://gicovietnam.blogspot.com/ thành URL của Blog/Website bạn và Lưu lại Template sau đó kiểm tra kết quả nhé. Với thủ thuật này nó sẽ tự động thêm thuộc tính Nofollow và thẻ “target=_blank” cho tất cả các liên kết ngoài giúp bạn tiết kiệm được nhiều thời gian.

Tạo phân trang cho Blogspot đẹp dễ thực hiện

Tạo một phân trang Navigation cho Blog đẹp sẽ làm cho Blogspot của bạn trở nên chuyên nghiệp hơn. Tuy nhiên để phù hợp với các mẫu Blogs khác nhau, nên ở bài viết này mình tiếp tục đưa ra 7 kiểu đánh số trang blog cho các bạn lựa chọn.

Tạo phân trang cho Blogspot

Trong quá trình cài đặt các bạn nên thực hiện từng bước, một cách kỹ càng việc tạo phân trang cho Blogspot không quá khó nhưng lại nhiều bạn thực hiện không được thật đáng buồn.

Hướng dẫn tạo phân trang cho Blogspot đơn giản nhất

Bước 1: Đầu tiên các bạn vào Blog => Mẫu => Chỉnh sửa HTML. Nhấn tổ hợp phím Ctrl + F và tìm kiếm ]]></b:skin>. Sau đó paste đoạn code style mà bạn muốn lên trên thẻ ]]></b:skin>. Dưới đây là các style cho bạn lựa chọn.

Style 1:

đánh số trang cho blogspot
#blog-pager{clear:both; margin:30px auto; text-align:center; padding: 7px;}
.blog-pager {background: none;}
.displaypageNum a, .showpage a, .pagecurrent{padding: 5px 10px; margin-right:5px; color: #F4F4F4; background-color:#404042; border:2px solid #ccc;}
.displaypageNum a:hover, .showpage a:hover, .pagecurrent{background:#666666; text-decoration:none; color: #fff;}
#blog-pager .showpage, #blog-pager, .pagecurrent {font-weight:bold; color: #000;}
 .showpageOf {display:none!important}
#blog-pager .pages {border:none; -webkit-box-shadow: 0px 5px 3px -1px rgba(50, 50, 50, 0.53); -moz-box-shadow:0px 5px 3px -1px rgba(50, 50, 50, 0.53); box-shadow: 0px 5px 3px -1px rgba(50, 50, 50, 0.53);}

Style 2:
code đánh số trang cho blog

#blog-pager {clear:both; margin:30px auto; text-align:center; padding: 7px;}
.blog-pager {background: none;}
.displaypageNum a, .showpage a, .pagecurrent{padding: 5px 10px; margin-right:5px; color: #000; background-color:#fff; border:2px solid #ccc;}
.displaypageNum a:hover, .showpage a:hover, .pagecurrent{background:#222; text-decoration:none; color: #fff;}
#blog-pager .showpage, #blog-pager, .pagecurrent{font-weight:bold; color: #ccc;}
 .showpageOf {display:none!important}
#blog-pager .pages{border:none; -webkit-box-shadow: 0px 5px 3px -1px rgba(50, 50, 50, 0.53); -moz-box-shadow:0px 5px 3px -1px rgba(50, 50, 50, 0.53); box-shadow: 0px 5px 3px -1px rgba(50, 50, 50, 0.53);}

Style 3:
code phân trang cho blog
#blog-pager{clear:both;margin:30px auto; text-align:center; padding: 7px;}
.blog-pager {background: none;}
.displaypageNum a, .showpage a, .pagecurrent{padding: 5px 10px; margin-right:5px; color: #F4F4F4; background-color:#2aa4cf;}
.displaypageNum a:hover, .showpage a:hover, .pagecurrent {background:#1D7290; text-decoration:none; color: #fff;}
#blog-pager .showpage, #blog-pager, .pagecurrent{font-weight:bold; color: #000;}
 .showpageOf {display:none!important}
#blog-pager .pages{border:none; -webkit-box-shadow: 0px 5px 3px -1px rgba(50, 50, 50, 0.53); -moz-box-shadow:0px 5px 3px -1px rgba(50, 50, 50, 0.53); box-shadow: 0px 5px 3px -1px rgba(50, 50, 50, 0.53);}

Style 4:
code phân trang cho Blogspot đẹp dễ thực hiện
#blog-pager{clear:both; margin:30px auto; text-align:center; padding: 7px;}
.blog-pager {background: none;}
.displaypageNum a, .showpage a, .pagecurrent{padding: 5px 10px; margin-right:5px; color: #F4F4F4; background-color:#00CC00; border:2px solid #008E00; border-radius:2px;}
.displaypageNum a:hover, .showpage a:hover, .pagecurrent{background:#008E00; text-decoration:none; color: #fff;}
#blog-pager .showpage, #blog-pager, .pagecurrent{font-weight:bold; color: #000;}
 .showpageOf {display:none!important}
#blog-pager .pages{border:none; -webkit-box-shadow: 0px 5px 3px -1px rgba(50, 50, 50, 0.53); -moz-box-shadow:0px 5px 3px -1px rgba(50, 50, 50, 0.53); box-shadow: 0px 5px 3px -1px rgba(50, 50, 50, 0.53);}

Style 5:
code phân trang cho blogger
#blog-pager{clear:both; margin:30px auto; text-align:center; padding: 7px;}
.blog-pager {background: none;}
.displaypageNum a, .showpage a, .pagecurrent{padding: 5px 10px; margin-right:5px; color: #F4F4F4; background-color:#FF8000; border:2px solid #B25900; border-top-right-radius:7px; border-bottom-left-radius:7px;}
.displaypageNum a:hover, .showpage a:hover, .pagecurrent{background:#B25900; text-decoration:none; color: #fff;}
#blog-pager .showpage, #blog-pager, .pagecurrent{font-weight:bold; color: #000;}
 .showpageOf{display:none!important}
#blog-pager .pages{border:none; -webkit-box-shadow: 0px 5px 3px -1px rgba(50, 50, 50, 0.53); -moz-box-shadow:0px 5px 3px -1px rgba(50, 50, 50, 0.53); box-shadow: 0px 5px 3px -1px rgba(50, 50, 50, 0.53);}

Style 6:
page navigation cho blogger
#blog-pager{clear:both; margin:30px auto; text-align:center; padding: 7px;}
.blog-pager {background: none;}
.displaypageNum a, .showpage a, .pagecurrent{padding: 5px 10px; margin-right:5px; color: #F4F4F4; background-color:#009999; border:2px solid #006B6B; border-radius:999px 999px 999px 0px;}
.displaypageNum a:hover, .showpage a:hover, .pagecurrent{background:#006B6B; text-decoration:none; color: #fff;}
#blog-pager .showpage, #blog-pager, .pagecurrent{font-weight:bold; color: #000;}
 .showpageOf{display:none!important}
#blog-pager .pages{border:none; -webkit-box-shadow: 0px 5px 3px -1px rgba(50, 50, 50, 0.53); -moz-box-shadow:0px 5px 3px -1px rgba(50, 50, 50, 0.53); box-shadow: 0px 5px 3px -1px rgba(50, 50, 50, 0.53);}

Style 7:
page navigation cho blogspot
#blog-pager{clear:both; margin:30px auto; text-align:center; padding: 7px;}
.blog-pager {background: none;}
.displaypageNum a, .showpage a, .pagecurrent{padding: 5px 10px; margin-right:5px; color: #F4F4F4; background-color:#FFCC00; border:2px solid #B28F00; border-radius:999px 999px 999px 999px;}
.displaypageNum a:hover, .showpage a:hover, .pagecurrent{background:#B28F00; text-decoration:none; color: #fff;}
#blog-pager .showpage, #blog-pager, .pagecurrent{font-weight:bold; color: #000;}
 .showpageOf{display:none!important}
#blog-pager .pages{border:none; -webkit-box-shadow: 0px 5px 3px -1px rgba(50, 50, 50, 0.53); -moz-box-shadow:0px 5px 3px -1px rgba(50, 50, 50, 0.53); box-shadow: 0px 5px 3px -1px rgba(50, 50, 50, 0.53);}

Bước 2: Tiếp đó nhấn tổ hợp phím Ctrl + F và tìm đến thẻ </body>. Sau đó dán đoạn mã Code sau ở phía trên thẻ </body>Lưu mẫu. (Việc cài đặt Code phân trang cho Blog/Website vậy là xong)

<b:if cond='data:blog.pageType != &quot;item&quot;'>
<b:if cond='data:blog.pageType != &quot;static_page&quot;'>
<script type='text/javascript'>
  /*<![CDATA[*/
    var perPage=15;
    var numPages=3;
    var prevText ='◄';
    var nextText ='►';
    var urlactivepage=location.href;
    var home_page="/";
  /*]]>*/
</script>
<script type="text/javascript" src="https://drive.google.com/uc?id=0B8UIDnrd8gcMX1BNN0RyanZKMWM"> </script>
</b:if>
</b:if>  

Bước 3: Tạm gọi phân trang đồng bộ cho Blog/website của bạn
Tìm TẤT CẢ dòng code sau (nó ở nhiều vị trí):
expr:href='data:label.url'

Sửa thành:
expr:href='data:label.url + "?&amp;max-results=15"'

Tạo phân trang cho nhãn (label) trên thanh menu bạn tự tạo, thì nó cũng phân trang giống như vậy: Ví dụ ở đây nhãn bài đăng của mình là "thu-thuat-blogspot” nó sẽ có đường link như sau:
https://gicovietnam.blogspot.com/search/label/thu-thuat-blogspot

Sửa thành:
https://gicovietnam.blogspot.com/search/label/thu-thuat-blogspot?&amp;max-results=15  

Vậy việc tạo phân trang cho Blog/Website của bạn đã hoàn thành

Tùy chỉnh

perPage ?&max-results=: Có bao nhiêu bài viết được hiển thị ở mỗi trang, mặc định là 15.

numPages: Số lượng trang sẽ hiển thị trên thanh navigation (Ví dụ: Nếu bạn chọn số 3 và kết quả hiển thị là 1| 2| 3 ... 5)

Thay prevText ='◄', nextText ='►' thành nút Button bạn mong muốn or thành văn bản như: "Previous", "Next" chẳng hạn.

Code quảng cáo Popup under javascript ẩn đằng sau trình duyệt

Hiện nay có quá nhiều code quảng cáo popup được chia sẻ trên mạng. Tuy nhiên, các mã quảng cáo toàn bật sang tab mới hoặc bật lên rất khó chịu cho người đọc.


Chính vì vậy, mình sẽ chia sẻ cho các bạn đoạn code PopUnder Javascript ẩn đằng sau trình duyệt để tránh gây phiền hà cho khán giả. Với đoạn code Popunder này bạn có thể tùy chỉnh thời gian bật quảng cáo giữa các lần tùy thích.
Code quảng cáo Popup under javascript ẩn đằng sau trình duyệt
Bạn hãy chép toàn bộ đoạn code quảng cáo popunder dưới đây vào mã nguồn của bạn

<script type='text/javascript'>
window.onload = function() {
    var puURL = &#39;https://gicovietnam.blogspot.com/&#39;;
    var puTS = Math.round(+new Date()/1000);
    //var puDate = currentDate.getDate().toString(); //day
    console.log(&#39;T.&#39;+localStorage.puTS+&#39;/&#39;+puTS);
    if (typeof localStorage.puTS == &#39;undefined&#39; || parseInt(localStorage.puTS) &lt;= (puTS - 3000)) {
        console.log(&#39;Yep&#39;);
        var links = document.getElementsByTagName(&#39;a&#39;);
        for(var i = 0, len = links.length; i &lt; len; i++) {
          links[i].onclick = function (e) {
              var puHref = this.getAttribute(&quot;href&quot;);
                var puTarget = this.getAttribute(&quot;target&quot;);
                if (puHref !== &#39;#&#39; &amp;&amp; puHref !== &#39;javascript:void(0)&#39;) {
                e.preventDefault();   
                if (puTarget == &#39;_blank&#39;) {
                    window.open(window.location.href);
                }
                window.open(puHref);
                window.location.href = puURL;
                localStorage.puTS = puTS;
              }
            }
        }
    }
};
</script>

Bạn chỉ cần thay tên miền https://gicovietnam.blogspot.com thành tên miền bạn muốn quảng cáo

Tùy chỉnh dòng code này var puTS = Math.round(+new Date()/1000); theo thời gian xuất hiện quảng cáo giữa các lần.

Mình đã thử và cảm thấy rất hài lòng, chúc các bạn thành công.

>> Code slide hình ảnh hoặc bài viết mới chạy ngang liên tục cho Blogspot
>> Code cố định Sidebar khi Scroll cuộn chuột lên xuống
>> Công cụ SEO từ khóa website tốt nhất dành cho dân SEO

Code cố định Widget (Sticky widget) khi cuộn trang cho Blogspot

Sticky Widget cố định cho Blog là widget sẽ chạy theo màn hình khi cuộn trang xuống hoặc cuộn trang lên.
Sticky Widget Blog

Với cách cố định Widget này sẽ giúp người truy cập nhanh vào các menu, hoặc bạn cần làm nổi bật một nội dung widget nào đó. Đặc biệt nó rất hay được dùng cho các trang cần cố định banner quảng cáo.

Để thực hiện Code cố định Widget (Sticky widget) khi cuộn trang cho Blogspot các bạn chỉ việc copy toàn bộ đoạn code phía dưới đây và chèn vào trước thẻ </body> trong template blogspot của các bạn.
<style>
.GICO_sticking {background:#f2f2f2 !important; position:fixed !important; top:0; z-index:9999; box-shadow:0px 10px 4px -5px rgba(0,0,0,0.3); margin-top: 0; position:relative9 !important;}
</style>
<script>
//<![CDATA[
StickyWidget("ID Widget"); // enter your widget ID here
function StickyWidget(elem) {
    var GCVN_sticky = document.getElementById(elem);
    var scrollee = document.createElement("div");
    GCVN_sticky.parentNode.insertBefore(scrollee, GCVN_sticky);
    var width = GCVN_sticky.offsetWidth;
    var iniClass = GCVN_sticky.className + ' GCVN_sticky';
    window.addEventListener('scroll', GICO_sticking, false);
    function GICO_sticking() {
        var rect = scrollee.getBoundingClientRect();
        if (rect.top < 0) {
            GCVN_sticky.className = iniClass + ' GICO_sticking';
            GCVN_sticky.style.width = width + "px";
        } else {
            GCVN_sticky.className = iniClass;
        }
    }
}
//]]>
</script>

Chú ý: Bạn thay ID Widget thành ID Widget mà bạn muốn cố định.

Để xem ID Widget các bạn vào Bố cục > Chỉnh sửa (Bạn bấm vào hình dưới đây để nhìn cho rõ nhé)
cố định menu khi cuộn trang

Chúc các bạn thành công !

Nhúng video từ Google Drive vào Blogspot chuẩn Responsive

Ở bài viết trước mình đã hướng dẫn các bạn nhúng video từ Youtube vào Blog rồi. Nếu bạn nào chưa xem thì xem lại cách nhúng video youtube vào blog tại link dưới đây:

>> Code chèn video Youtube vào website blogspot Responsive

Hôm nay mình xin chia sẻ với các bạn cách nhúng Video từ Google Drive vào Blogspot chuẩn mobile Responsive, tương thích với mọi trình duyệt, tự động co dãn theo kích thước màn hình.

Cách 1: Chèn Video từ Google Drive vào Blogspot

1. Các bạn đăng nhập vào Google Drive và tìm VIDEO cần chèn vào blog.

2. Click chuột phải vào Video và bấm vào Nhận liên kết có thể chia sẻ được

nhúng video từ google drive vào blog

3. Các bạn Coppy đường link Video và để Video ở chế độ công khai, bất cứ ai cũng có thể xem

Đường link bạn vừa copy có dạng như sau:
https://drive.google.com/open?id=1sfK8uWdMa0f1cUzidYiK26Ta8GAD8-Ed0g

4. Bây giờ bạn chỉ việc chèn đoạn code sau vào nơi mà bạn muốn video hiển thị trên blog của bạn

<div class="video-container">
<iframe allowfullscreen="" frameborder="0" src="https://drive.google.com/file/d/ID VIDEO/preview?autoplay=1"></iframe>
</div>
Lưu ý: Các bạn thay ID VIDEO thành ID video của các bạn
Khi chèn video vào blog thì các bạn nhớ chuyển sang chế độ HTML để copy và Pass vào nhé.

Và bạn thêm đoạn CSS dưới vào blog của bạn để khi bạn nhúng video từ google drive  vào blog nó sẽ tự động co dãn theo mọi kích thước màn hình, chuẩn Responsive
/* Responsive video youtube----- */
.video-container {
    position: relative;
    padding-bottom: 56.25%;
}
.video-container iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
Nếu bạn thực hiện đúng các bước như trên thì các bạn sẽ có kết quả như dưới đây:


Cách 2: Chèn Video từ máy tính vào Blog

Với cách này các bạn chỉ việc sử dụng công cụ UPLOAD VIDEO ngay tại khung đăng bài của blogspot như hình dưới và tải lên thôi. Sẽ có nhiều lựa chọn cho các bạn về kích thước v.v... giống như hình ảnh dưới đây.

chèn video từ máy tính vào blog