วิธีทำ Relate Post เพื่อเพิ่มความ เสียว(SEO) ให้กับ Blogger

สวัสดีครับ วันนี้ผมจะมาเริ่มบทความแรกของบล็อก เกี่ยวกับการทำ Relate Post ให้กับ Blogger นะครับ อ้างอิง มาจาก กระทู้นี้ ที่ TSB ครับ ช่วยหน่อยค่ะ อยากได้โค้ดเพื่อเอาไปใส่ใน blogger ค่ะ พอดีผมเพิ่งเริ่มทำบล็อกนี้วันแรกด้วย แล้วไปเห็นกระทู้นี้เข้า ก็เลยจัดให้ซักหน่อย (หา Fan Club *-*) เอาหละครับ ไม่พูดพร่ำทำเพลงแล้วหละครับ เรามาเริ่มกันเลยดีกว่า


*ภาพไหนมองไม่รู้เรื่องคลิกที่ภาพเพื่อดูภาพขนาดใหญ่นะครับ

1.เริ่มแรก หลังจาก Login แล้ว ให้ไปที่ รูปแบบ -> แก้ไข HTML และติ๊ก Checkbox ที่ ขยายแม่แบบเครื่องมือ ตามภาพด้านล่างเลยครับ (แล้วอย่าลืม Backup ธีมเก่าไว้ก่อนนะครับ กันพลาด คลิกที่ ดาวน์โหลดแม่แบบฉบับเต็ม)



2.เสร็จแล้ว Copy Javascript ด้านล่าง เอาไปวางไว้ด้านใน 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>



3.และต่อด้วยหา code ตามด้านล่างนี้

<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>




4.และแทนที่ตามตัวอย่างใน Code ด้านล่าง *ดูตรงตัวหนาๆ นะ และตรงตัวเลขสีแดงๆ คือจำนวนที่จะให้แสดงครับ

<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&amp;callback=related_results_labels&amp;max-results=5"' type='text/javascript'/>
</b:if>

</b:loop>
</b:if>




5.บันทึก Template แล้วไปที่หน้า องค์ประกอบของหน้า แล้วทำการ เพิ่ม Gadget คลิกเลือกเพิ่ม Html จาวาสคริปส์ แล้วใส่ code ข้างล่างนี้ลงไป

<script type="text/javascript">
removeRelatedDuplicates();
printRelatedLabels();
</script>


6. แล้วเอา Gadget จาวาสคิปส์อันเมื่อกี้ มาวางไว้ที่ ด้านล่างของ บทความบล็อก

7.และกลับมาที่หน้า แก้ไข Html อีกครั้ง แล้วคลิก ที่ขยายแม่แบบ จากนั้นค้นหา tag ที่เพิ่งเพิ่มลงไปเมื่อกี้คือ <b:widget id='HTMLxx' locked='false' title='Relate Post' type='HTML'> (ตรงสีแดงอาจเป็นตัวเลขแตกต่างกันไป) ทำการเพิ่ม code ตรงบริเวณที่เน้นตัวหนา ตามตัวอย่าง ด้านล่าง ลงไป

<b:widget id='HTMLxx' locked='false' title='Relate Posts' type='HTML'>
<b:includable id='main'>
<b:if cond='data:blog.pageType == "item"'>
<!-- only display title if it's non-empty -->
<b:if cond='data:title != ""'>
<h2 class='title'><data:title/></h2>
</b:if>
<div class='widget-content'>
<data:content/>
</div>
<b:include name='quickedit'/>
</b:if>
</b:includable>
</b:widget>


8.เสร็จแล้วก็บันทึกซะ และลอง preview ดูที่ blog ของเพื่อนๆ ในหน้าแรกมันไม่โชว์นะ Relate Post มันจะโชว์ แต่หน้าบทความในแต่ละ Post เท่านั้น

*เทคนิคนี้ มีผลกับการ Index พอสมควรครับ
ปล.อธิบาย งงๆ หน่อย ก็ขออภัยด้วย ยังเบลอๆ -.- แล้วเอาไว้จะกลับมาแก้แล้วกันครับ มันติดๆ ขัดๆ หลายเรื่องด้วย

1 comment:

wkrichy said...

ทำไม่ได้ค่ะ พอใส่โค้ดตามที่บอกเสร็จแล้วกดบันทึกแม่แบบ มันขึ้นว่า "ไม่สามารถแยกวิเคราะห์แม่แบบของคุณเนื่องจากมีรูปแบบไม่ถูกต้อง โปรดตรวจสอบว่าองค์ประกอบ XML ทั้งหมดมีการปิดอย่างถูกต้อง
ข้อความแสดงข้อผิดพลาดของ XML: The element type "script" must be terminated by the matching end-tag ""."

รู้สึกว่าโค้ดตัวนี้จะไม่เหมือนกันอ่ะค่ะ
"true"'

ของเราเป็น
"true"

เกี่ยวกับตรงนี้หรือเปล่าคะ พอแก้ให้เหมือนกันก็ไม่ได้เหมือนเดิมค่ะ