Sekarang ini fitur terbaru dari Google yang menginginkan kenyamanan bagi usernya dirasa sangat mengganggu para webmaster, salah satunya dalah fitur Google Web Preview .Google Web Preview adalah fitur yang disediakan oleh search engine google, dengan adanya fitur ini visitor akan bisa melakukan preview terlebih dahulu sebelum mereka memutuskan untuk mengunjungi sebuah website. Tapi sisi yang tidak enaknya adalah buat para pemilik web, dengan konsumsi bandwidth dan resource cpu yang sama, visitor yang berpotensi mengantarkan recehan dollar buat kita akan lewat begitu saja, iseng-iseng saya googling, ternyata banyak juga orang-orang yang mengeluh dengan Google Web Preview. Terinspirasi dari situ maka saya coba bikin kode sederhana untuk memblokir visitor yang menggunakan Google Web Preview.
Jangan lupa centang expand widget templates untuk mengedit template secara keseluruhan
masukan kode dibawah ini sebelum tag </head>
masukan kode dibawah ini sebelum tag </head>
<script type=”text/javascript”>
//<![CDATA[
var relatedTitles = new Array();
var relatedTitlesNum = 0;
var relatedUrls = new Array();
function related_results_labels(json) {
for (var i = 0; i < json.feed.entry.length; i++) {
var entry = json.feed.entry[i];
relatedTitles[relatedTitlesNum] = entry.title.$t;
for (var k = 0; k < entry.link.length; k++) {
if (entry.link[k].rel == ‘alternate’) {
relatedUrls[relatedTitlesNum] = entry.link[k].href;
relatedTitlesNum++;
break;
}
}
}
}
function removeRelatedDuplicates() {
var tmp = new Array(0);
var tmp2 = new Array(0);
for(var i = 0; i < relatedUrls.length; i++) {
if(!contains(tmp, relatedUrls[i])) {
tmp.length += 1;
tmp[tmp.length - 1] = relatedUrls[i];
tmp2.length += 1;
tmp2[tmp2.length - 1] = relatedTitles[i];
}
}
relatedTitles = tmp2;
relatedUrls = tmp;
}
function contains(a, e) {
for(var j = 0; j < a.length; j++) if (a[j]==e) return true;
return false;
}
function printRelatedLabels() {
var r = Math.floor((relatedTitles.length – 1) * Math.random());
var i = 0;
document.write(‘<ul>’);
while (i < relatedTitles.length && i < 20) {
document.write(‘<li><a href=”‘ + relatedUrls[r] + ‘”>’ + relatedTitles[r] + ‘</a></li>’);
if (r < relatedTitles.length – 1) {
r++;
} else {
r = 0;
}
i++;
}
document.write(‘</ul>’);
}
//]]>
</script>
kemudian cari kode widget seperti dibawah ini :
<b:if cond=’data:post.labels’>
<data:postLabelsLabel/>
<b:loop values=’data:post.labels’ var=’label’>
<a expr:href=’data:label.url’ rel=’tag’><data:label.name/></a><b:if cond=’data:label.isLast != “true”‘>,</b:if>
</b:loop>
</b:if>
Kemudian tambahkan kode yang warna merah pada kode tersebut :
<b:if cond=’data:post.labels’>
<data:postLabelsLabel/>
<b:loop values=’data:post.labels’ var=’label’>
<a expr:href=’data:label.url’ rel=’tag’><data:label.name/></a><b:if cond=’data:label.isLast != “true”‘>,</b:if>
<b:if cond=’data:blog.pageType == “item”‘> <script expr:src=’”/feeds/posts/default/-/” + data:label.name + “?alt=json-in-script&callback=related_results_labels& max-results=10″‘ type=’text/javascript’/></b:if></b:loop>
</b:if>
- Save template
- Masuk ke menu Layout -> Page Elements dan add a new HTML/Javascript widget. beri judul atau title Title Related Post ( atau yang lain sesuai kebutuhan ) kemudian copy paste script di bawah ini : //bisa pasang dibagian mana saja//side bar//footer//sesuai kebutuhan//
<script type=”text/javascript”>
removeRelatedDuplicates();
printRelatedLabels();
</script>
Simpan dan lihat hasilnya..