gu_1n โพสต์ 2015-2-28 09:08:38

แก้บัคแวลาแชร์กระทู้ลงเฟสบุคแล้ว Description ของกระทู้ซ้ำกับ Title ของกระทู้

จากที่สังเกตุเวลาเเชร์กระทู้ลงเฟสบุค Description ของกระทู้จะเหมือนกับ Title ของกระทู้เป๊ะ
ซึ่งตามจริงแล้ว Description มันต้องเป็นเนื้อหาย่อจากกระทู้

เอาละสังเกตุจากในรูปนะครับ ตรงที่ผม Highlight สีแดงไว้มันคือ Description ของเว็บ ซึ่งมันเหมือนกับ Title ของกระทู้เป๊ะเลย

ขออนุญาติเอากระทู้ของคุณ jaideejung007 มาเป็นตัวอย่างนะครับ
ที่มาของกระทู้ตัวอย่าง : http://www.discuzthai.com/thread-39404-1-1.html

สาเหตุเพราะฟังค์ชั่นที่ใช้ Generate Description จากเนื้อหาของกระทู้โดยย่อใน Discuz X3.2 จะทำงานเฉพาะเวลา BOT เข้ามาเก็บข้อมูลหรือทำงานเฉพาเมื่อ UID 1 ได้ล็อคอินอยู่เท่านั้น

แต่ปัญหาคือฟังค์ชั่นตรวจจับ BOT ของ Discuz มันไม่นับ BOT Facebook ว่าเป็น Bot เลยทำให้เวลา Bot Faebook มาเก็บข้อมูลทีไร Discription มันถึงกลายเป็นชื่อกระทู้เพราะฉะนั้นเราเลยต้องแก้ไขไฟล์ตามนี้

หาไฟล์ : source/function/function_core.php
แก้ไขบรรทัดที่ 309 จาก :         static $kw_spiders = array('bot', 'crawl', 'spider' ,'slurp', 'sohu-search', 'lycos', 'robozilla');


เป็น :         static $kw_spiders = array('bot', 'crawl', 'spider' ,'slurp', 'sohu-search', 'lycos', 'robozilla', 'facebookexternalhit');


เสร็จแล้วจึงเซฟไฟล์แล้วเข้าไปอัพเดทแคช
หลังจากนี้เวลาแชร์กระทู้ลงเฟสบุค Description ของกระทู้ ก็จะไม่ซ้ำกับ Title ของกระทู้แล้วครับ

jaideejung007 โพสต์ 2015-2-28 11:10:45

ถ้าเราจะตั้งให้มัน Open เลยล่ะครับ ทำได้ไหม

โดยไม่ต้องสนใจว่าจะเป็นบอทหรือไม่

ดูช่วยหน่อยนะ

gu_1n โพสต์ 2015-2-28 11:33:34

jaideejung007 ตอบกลับเมื่อ 2015-2-28 11:10
ถ้าเราจะตั้งให้มัน Open เลยล่ะครับ ทำได้ไหม

โดยไม่ต้องสนใจว่าจะเป็นบอทหรือไม่


ได้ครับไปที่ : source/module/forum/forum_viewthread.php

แล้วหาบรรทัดที่ 660
                        if(IS_ROBOT || $_G['adminid'] == 1) $summary = str_replace(array("\r", "\n"), '', messagecutstr(strip_tags($post['message']), 160));


แล้วแก้เป็น
                        $summary = str_replace(array("\r", "\n"), '', messagecutstr(strip_tags($post['message']), 160));


สรุปง่ายๆ คือเอาเงื่อนไข                         if(IS_ROBOT || $_G['adminid'] == 1) ออกนะครับ

jaideejung007 โพสต์ 2015-2-28 12:59:02

เดี๋ยวเอาลง Rev. หน้า

ขอบคุณมาก

nayza010 โพสต์ 2015-4-18 21:54:20

มีปลั๊กอินแชร์facebook ปะ ตัวใหม่สำหรับ X3.2
ผมทำแล้วมันไม่ได้อะ

gu_1n โพสต์ 2015-10-14 07:14:02

nayza010 ตอบกลับเมื่อ 2015-4-18 21:54
มีปลั๊กอินแชร์facebook ปะ ตัวใหม่สำหรับ X3.2
ผมทำแล้วมันไม่ได้อะ

ไม่ต้องใช้ปลั๊กอินเลย วิธีทำที่โพสต์ไว้ใช้กับ X3.2 ได้
ของผมก้ 3.2 Rev ล่าสุดเลยไม่มีปัญหาอะไร

แค่วิธีมันต่างตรงที่การเอาเงื่อนไข "ถ้าเป็นบอทหรือเป็นแอดมิน ให้ Meta Desc. เป็นชื่อกระทู้แทนเนื้อหากระทู้" ออกมันคนละจุด (บรรทัด) กับของ X3.1 .... เดี๋ยวผมดูให้อีกทีนะครับ

ส่วนวิธีทำให้ระบบมันนับบอทของเฟสบุคว่าเป็นบอทในคำสั่ง IS_ROBOT สามารถใช้วิธีเดิมของ X3.1 ได้เลยครับ
หน้า: [1]
ดูในรูปแบบกติ: แก้บัคแวลาแชร์กระทู้ลงเฟสบุคแล้ว Description ของกระทู้ซ้ำกับ Title ของกระทู้