แก้ปัญหาแชร์ลิงก์ WordPress ไป Facebook รูปไม่ขึ้น | ตั้งค่า OG & Meta

การแชร์ลิงก์จากเว็บไซต์ WordPress ไป Facebook เป็นวิธีโปรโมตบทความที่ได้ผลดีที่สุด แต่หลายคนมักเจอปัญหาเมื่อแชร์ลิงก์แล้ว รูปไม่ขึ้น, Title เพี้ยน, Description ว่าง หรือ Facebook ดึงข้อมูลผิดพลาด ซึ่งทั้งหมดนี้ส่งผลเสียต่อทั้ง ความน่าเชื่อถือ และอัตราการคลิก (CTR) โดยตรง
บทความนี้จะสอน วิธีแก้ปัญหาแชร์ลิงก์ WordPress ไป Facebook แบบถูกต้องตามหลัก Open Graph (OG) ตั้งแต่การตั้งค่าโค้ดใน functions.php, การตั้ง Featured Image, ไปจนถึงการใช้ Facebook Sharing Debugger เพื่อบังคับให้ Facebook อัปเดตข้อมูลใหม่แบบทันที
ปัญหาแชร์ลิงก์ WordPress ไป Facebook ที่พบบ่อย
เมื่อแชร์ URL WordPress ไป Facebook แล้วเกิดปัญหา:

- รูปไม่ขึ้น
- Title เพี้ยน
- Description ว่าง
- Facebook แสดงข้อมูลเก่า
ทั้งหมดเกิดจากการ ไม่ได้ตั้งค่า Open Graph (OG) อย่างถูกต้อง
สาเหตุที่ Facebook ไม่แสดงรูปและข้อมูลจากเว็บไซต์
- ไม่มีแท็ก
og:image - ไม่ได้ใส่
og:titleและog:description - ไม่ได้ตั้ง Featured Image
- Facebook Cache ค่าข้อมูลเก่าไว้
- Theme ไม่รองรับ Facebook OG โดยตรง
วิธีแก้ไขปัญหาแชร์ลิงก์ Facebook เบื้องต้นด้วย Open Graph
เพิ่ม OG Meta ในไฟล์ header.php
สำหรับเว็บที่ไม่ได้ใช้ปลั๊กอิน SEO

ตรวจสอบด้วย Facebook Sharing Debugger
ไปที่: https://developers.facebook.com/tools/debug/

ขั้นตอน:
- วาง URL
- กด Debug
- กด Scrape Again
วิธีตั้งค่า OG Facebook ให้แต่ละโพสต์ใน WordPress
เปิดใช้งาน Open Graph ในแท็ก <html>
function doctype_opengraph($output) {
return $output . '
xmlns:og="http://opengraphprotocol.org/schema/"
xmlns:fb="http://www.facebook.com/2008/fbml"';
}
add_filter('language_attributes', 'doctype_opengraph');ดึงรูป Title และ Description อัตโนมัติจากแต่ละบทความ
/* Facebook Opengraph */
function fb_opengraph() {
global $post;
if(is_single() || is_product()) {
if(has_post_thumbnail($post->ID)) {
$img_src = wp_get_attachment_image_src(get_post_thumbnail_id( $post->ID ), 'medium_large');
} else {
$img_src = get_template_directory_uri() . '/assets/images/opengraph_image.jpg';
}
if($excerpt = $post->post_excerpt) {
$excerpt = strip_tags($post->post_excerpt);
} else {
$excerpt = get_bloginfo('description');
}
?>
<meta property="og:title" content="<?php echo the_title(); ?>"/>
<meta property="og:description" content="<?php echo $excerpt; ?>"/>
<meta property="og:type" content="article"/>
<meta property="og:url" content="<?php echo the_permalink(); ?>"/>
<meta property="og:site_name" content="<?php echo get_bloginfo(); ?>"/>
<meta property="og:image" content="<?php echo $img_src[0]; ?>"/>
<?php
} else {
$img_src = get_template_directory_uri() . '/assets/images/opengraph_image.jpg';
?>
<meta property="og:title" content="<?php echo get_bloginfo('name'); ?>" />
<meta property="og:description" content="<?php echo get_bloginfo('description'); ?>" />
<meta property="og:image" content="<?php echo $img_src; ?>" />
<meta property="og:url" content="https://themevilles.com" />
<?php }
}
add_action('wp_head', 'fb_opengraph', 5);
สิ่งที่ควรตั้งค่าเพื่อให้ Facebook แสดงผลดีที่สุด
- รูป OG ควรขนาด 1200×630 px
- ต้องตั้ง Featured Image ทุกบทความ
- Child Theme ใช้:
get_style_directory_uri()- Parent Theme ใช้
get_template_directory_uri()สรุปวิธีแก้ปัญหาแชร์ลิงก์ WordPress ไป Facebook แบบถาวร
- ใส่ Open Graph ให้ครบ
- ใช้ Facebook Debugger ทุกครั้งที่แก้ไข
- กำหนด Featured Image
- อย่าลืมกด Scrape Again
คำถามที่พบบ่อยเกี่ยวกับการแชร์ลิงก์ WordPress ไป Facebook
Q1: แชร์ลิงก์ WordPress ไป Facebook แล้วรูปไม่ขึ้นเกิดจากอะไร?
A: เกิดจากไม่ได้ตั้งค่า og:image หรือ Facebook ยังใช้ข้อมูลจาก Cache เดิม
Q2: ต้องใช้ปลั๊กอิน SEO ถึงจะแก้ได้ไหม?
A: ไม่จำเป็น สามารถใส่โค้ด Open Graph ด้วยตนเองใน functions.php ได้
Q3: กด Scrape Again แล้วกี่นาที Facebook ถึงจะอัปเดต?
A: ส่วนใหญ่จะอัปเดตทันที แต่บางกรณีอาจใช้เวลา 5–10 นาที
Q4: รูป OG ควรใช้ขนาดเท่าไหร่ดีที่สุด?
A: แนะนำขนาด 1200×630 px เพื่อให้แสดงผลชัดทุกอุปกรณ์
Q5: ถ้าใช้ Rank Math หรือ Yoast ยังต้องใส่โค้ดนี้ไหม?
A: ไม่จำเป็น เพราะปลั๊กอินจะสร้าง OG ให้อัตโนมัติแล้ว
