การซิงก์ราคา WooCommerce ในตัวอย่าง WhatsApp
การซิงก์ราคา WooCommerce ในตัวอย่าง WhatsApp หมายความว่าตัวเลขบนการ์ดนั้นดึงมาจากแค็ตตาล็อกของคุณ ณ ขณะที่การ์ดถูกสร้างขึ้น ไม่ใช่ฝังอยู่ในรูปภาพที่ใครบางคนทำไว้ครั้งเดียว เมื่อเป็นเช่นนั้น คำถามเดียวที่เหลืออยู่คือ เมื่อใด ที่ WhatsApp จะอ่านลิงก์ซ้ำ และนั่นคือสิ่งเดียวที่ร้านค้าไม่สามารถควบคุมได้
คำตอบแบบสั้น
ราคาจะปรากฏในตัวอย่างได้ก็ต่อเมื่อรูปภาพถูกสร้างจากข้อมูลสินค้าที่เป็นปัจจุบัน รูปภาพ featured แบบ static ไม่มีราคาให้แสดงเลย ไม่ว่าวันไหน ส่วนการ์ดที่ออกแบบไว้ครั้งเดียวก็จะมีราคาตามที่มันมีในวันนั้น WooCommerce ไม่ได้มอบรูปภาพที่ติดแท็กราคาไว้ให้โดยค่าเริ่มต้น ดังนั้นข้อร้องเรียนเรื่อง "ราคาเก่าในตัวอย่าง" จริง ๆ แล้วคือสองคำถาม:
- การ์ดรู้ราคาปัจจุบันหรือไม่? — เป็นการตัดสินใจด้านการออกแบบ และเป็นสิ่งที่คุณแก้ไขได้
- แพลตฟอร์มได้อ่านหน้าเว็บใหม่ตั้งแต่ราคาเปลี่ยนหรือยัง? — เป็นนาฬิกาของ WhatsApp ไม่ใช่ของคุณ
เหตุใดราคาจึงล้าสมัย
| สาเหตุ | สิ่งที่เห็น | เหตุใดจึงเกิดขึ้น |
|---|---|---|
| แท็กชี้ไปที่ภาพที่โดดเด่น | ไม่มีราคาเลย | ภาพสินค้าไม่มีราคาอยู่ในนั้น |
| การ์ดถูกสร้างขึ้นครั้งเดียว | ราคาจากวันที่ออกแบบ | ไม่มีสิ่งใดสร้างใหม่ |
| การลดราคาสิ้นสุดลง | ขีดฆ่าสำหรับส่วนลดที่สิ้นสุดแล้ว | ภาพยังคงมีป้ายเก่าอยู่ |
| แคชของหน้าเว็บให้บริการ HTML เก่า | การ์ดเก่า อีกครั้ง | ตัวรวบรวมข้อมูลไม่เคยเห็น URL og:image ใหม่ |
เฉพาะสามข้อแรกที่เกี่ยวกับการ์ด ข้อที่สี่เกี่ยวกับเลเยอร์แคชของคุณ และดูเหมือนกันจากภายนอก — ซึ่งเป็นเหตุผลว่าทำไมลำดับการตรวจสอบใน Instant WhatsApp Image Update for WooCommerce จึงสำคัญ
สิ่งที่การ์ดที่ซิงก์แล้วอ่านจริง ๆ
FastOG ลงลายเซ็น URL ของภาพปกต่อคำขอ และพร็อปต่าง ๆ มาจากสินค้าจริง:
| องค์ประกอบการ์ด | แหล่งที่มา | หมายเหตุ |
|---|---|---|
| ราคา | get_price() |
บนสินค้าที่ลดราคา ค่านี้ คือ ราคาขาย |
| ราคาเปรียบเทียบ ("was") | ราคาปกติ | ส่ง เฉพาะ เมื่อสินค้าลดราคาจริง ๆ — ค่า "was" ที่เท่ากับราคาปัจจุบันคือขีดฆ่าที่ไม่มีใครได้มา |
| ป้ายลดราคา | สถานะลดราคาของสินค้า | ปรากฏและหายไปตามการลดราคา |
| สต็อก | สถานะสต็อก | สะท้อนแคตตาล็อก ณ เวลาที่เรนเดอร์ |
| รูปภาพ | รูปภาพหลักก่อน แล้วจึงแกลเลอรี | ประกอบอยู่ภายในกา์ด ไม่ถูกแพลตฟอร์มครอป |
นั่นคือความแตกต่างระหว่าง "ไดนามิก" กับ ไดนามิกจริง ๆ: ค่าต่าง ๆ ไม่ใช่ตัวยึดตำแหน่งที่นักออกแบบเติมไว้ แต่ถูกอ่านจากร้านค้าของคุณทุกครั้งที่มีการสร้างการ์ด
วิธีการทำงานของ "sync" ในทั้งสองทิศทาง
แคตตาล็อก → การ์ด ทุกค่าข้างต้นจะถูกอ่าน ณ เวลาที่ render เปลี่ยนราคาแล้วการ render ครั้งถัดไปจะแสดงราคาใหม่ โดยไม่มีขั้นตอน export และไม่มีไฟล์ให้อัปโหลดใหม่
การ์ด → แคช แต่ละค่ายังเดินทาง อยู่ภายใน signed cover URL ด้วย ดังนั้นการแก้ไขราคาจึงเปลี่ยน URL — หมายความว่ารูปภาพเดิมไม่สามารถเข้าถึงได้อีกต่อไป CDN ไม่มีข้อมูลเก่าค้างให้เสิร์ฟ และไม่จำเป็นต้องทำ cache-busting ไม่มีสิ่งอื่นใดในหมวดนี้ที่ทำงานแบบนี้ เนื่องจากปลั๊กอินที่โฮสต์เองผูกภาพกับชื่อไฟล์ที่ไม่เคยเปลี่ยน
การ์ด → Facebook การบันทึกสินค้าจะ trigger native product.updated webhook ของ WooCommerce และ FastOG จะจัดคิว Meta re-scrape สำหรับ permalink ของสินค้านั้น เพื่อให้ Facebook แทนที่การ์ดที่แคชไว้แทนที่จะรอเป็นสัปดาห์ ดู Force a Facebook Open Graph Cache Refresh
การ์ด → WhatsApp ไม่สามารถ push อะไรได้ การ์ดที่ถูกต้องจะรออยู่สำหรับการอ่านครั้งถัดไป
กรณีขอบของการลดราคาตามกำหนดเวลา
การลดราคาที่เริ่มต้นตอนเที่ยงคืนโดยไม่มีใครแตะต้องสินค้า จะไม่ทำให้ webhook ถูกเรียกเลย — รายละเอียดนี้ทำให้การออกแบบแบบ "เรา refresh ตอนบันทึก" ทุกแบบพัง รวมถึงการ ping ไปยัง Facebook ของเรา
สิ่งที่ช่วยการ์ดไว้ได้คือมันไม่ได้ถูกสร้างล่วงหน้า: ปกถูกสร้างตามคำขอจากข้อมูลแคตตาล็อกปัจจุบัน ดังนั้นการดึงครั้งแรกหลังเที่ยงคืนจะแสดงราคาที่ลดแล้วและ badge อยู่แล้ว ตัวเลขที่ล้าสมัยจะคงอยู่ได้เฉพาะในแคชพรีวิวของแพลตฟอร์ม ซึ่งจะถูกแทนที่ตามกำหนดเวลาของแพลตฟอร์มนั้นเอง การ์ดที่ ถูกเรนเดอร์ แทนที่จะถูก export เท่านั้นคือชนิดเดียวที่อยู่รอดจากการลดราคาที่ไม่มีใครบันทึก
ตรวจสอบว่าตัวเลขตรงกัน
ราคาจะปรากฏอยู่ใน URL ของภาพปกเอง ซึ่งทำให้ตรวจสอบได้โดยไม่ต้องใช้ debugger:
# What the page is serving right now
curl -s https://your-store.com/product/example | grep -o 'og:image[^>]*' | head -1
# Open that cover URL in a browser and compare the number against the product page.
หากพารามิเตอร์ใน URL และการ์ดที่เรนเดอร์ออกมาต่างก็มีราคาปัจจุบัน และหน้าสินค้าก็แสดงราคาเดียวกัน แสดงว่าฝั่งร้านค้าตรงกันแล้ว และความล่าช้าที่เหลืออยู่ (ถ้ามี) มาจากแคชของแพลตฟอร์ม หาก URL ยังมีราคาเก่าอยู่ แสดงว่าแคชของหน้าเว็บยังให้บริการ HTML ก่อนการแก้ไข — ให้ล้างแคชนั้น
หากต้องการดูแบบครบวงจร ให้วาง URL ของสินค้าลงใน See Your Links The Way Buyers Do: ระบบจะอ่านแท็กแบบสดและเรนเดอร์ภาพปกจากข้อมูลสินค้าชุดเดียวกัน เทียบเคียงกับสิ่งที่แพลตฟอร์มต่างๆ จะแสดงในปัจจุบัน
คำถามที่พบบ่อย
จะแสดงราคาบนตัวอย่างลิงก์ WhatsApp ได้อย่างไร
ให้เสิร์ฟ og:image ที่มีราคาอยู่ภายใน ซึ่งหมายถึงภาพที่สร้างขึ้นจากแคตตาล็อกของคุณ ไม่ใช่ภาพถ่ายแบบสแตติก WhatsApp จะแสดงภาพใดก็ตามที่แท็กชี้ไปที่ขนาด 1200×630 ราคาจะปรากฏก็ต่อเมื่อถูกวาดลงในภาพนั้นแล้วเท่านั้น
ทำไมตัวอย่างลิงก์ยังแสดงราคาเดิมหลังจากที่สิ้นสุดโปรโมชันแล้ว
สาเหตุที่เป็นไปได้สองประการ คือ ภาพที่หน้าเว็บเสิร์ฟไม่มีการเปลี่ยนแปลง (แคชของหน้าหรือภาพแบบสแตติก) หรือ WhatsApp กำลังแสดงตัวอย่างที่แคชไว้จากก่อนการแก้ไข ให้ตรวจสอบ URL ของ og:image ปัจจุบันก่อน หากราคาในนั้นยังเป็นราคาเดิมด้วย ปัญหาอยู่ที่ร้านค้า แต่หากเป็นราคาปัจจุบัน ปัญหาอยู่ที่ WhatsApp
การ์ดแสดงราคาโปรโมชันหรือราคาปกติ
แสดงราคาโปรโมชัน ซึ่งเป็นราคาที่ WooCommerce รายงานว่าเป็นราคาปัจจุบัน พร้อมกับราคาปกติกำกับไว้เป็น compare-at และจะแสดงก็ต่อเมื่อสินค้าอยู่ในโปรโมชันจริงเท่านั้น
ทุกแพ็กเกจวาดราคาและป้ายโปรโมชันหรือไม่
ใช่ ฟิลด์ของเทมเพลตไม่ได้ถูกจำกัดตามระดับแพ็กเกจบน FastOG ราคา ราคา compare-at และป้ายสต็อกพร้อมใช้งานในทุกแพ็กเกจ แพ็กเกจแตกต่างกันที่ประเภทหน้า จำนวนรายการที่อนุญาต และความหลากหลายของเทมเพลต ไม่ใช่สิ่งที่ภาพปกจะแสดงได้
ราคาจะอัปเดตสำหรับลิงก์ที่แชร์ไปแล้วหรือไม่
สำหรับ Facebook นั้น FastOG จะส่งคำขอ re-scrape หลังจากอัปเดตสินค้า สำหรับ WhatsApp, LinkedIn และ X การอ่านครั้งถัดไปจะเกิดขึ้นตามกำหนดเวลาของแต่ละแพลตฟอร์มเอง ไม่มีการรับประกันเวลาที่แน่นอนต่อสาธารณะหรือ API สำหรับรีเฟรชแบบโปรแกรมสำหรับแพลตฟอร์มเหล่านั้น
จะเกิดอะไรขึ้นหากเปลี่ยนราคาแต่ไม่เปลี่ยนเทมเพลต
นี่คือกรณีปกติและใช้งานได้ เทมเพลตกำหนดเลย์เอาต์ แคตตาล็อกเป็นผู้จัดหาค่า ไม่ต้องออกแบบใหม่และไม่ต้องส่งออกภาพใหม่
ลิงก์ที่แชร์ระหว่างโปรโมชันจะยังแสดงราคาโปรโมชันหลังสิ้นสุดหรือไม่
เฉพาะตราบเท่าที่ตัวอย่างที่แคชไว้ของแพลตฟอร์มยังคงอยู่ URL ของภาพปกจะเปลี่ยนไปตามแคตตาล็อก ดังนั้นการอ่านครั้งแรกที่สดใหม่จะได้การ์ดหลังสิ้นสุดโปรโมชัน
มีแพ็กเกจฟรีหรือไม่
มี แพ็กเกจ Community ฟรีครอบคลุมสูงสุด 100 รายการสำหรับหน้าสินค้า หมวดหมู่ ร้านค้า และบทความบล็อก พร้อมเทมเพลตพื้นฐานห้าแบบบวกกับเทมเพลตสินค้า Black Friday และ Seasonal Offer ภาพปกของแพ็กเกจนี้สะอาด ไม่มีแพ็กเกจใดมีลายน้ำ รวมถึง Community ด้วย Community เรนเดอร์บนเซิร์ฟเวอร์ Community ที่ใช้ร่วมกัน และถูกจำกัดด้วยอัตราจำกัดของร้านค้า/IP แทนการใส่แบรนด์ แพ็กเกจแบบชำระเงินใช้เซิร์ฟเวอร์เฉพาะที่แยกจาก Community เพิ่มจำนวนรายการที่อนุญาต และปลดล็อกเทมเพลตและความสามารถเพิ่มเติม (ป้ายคะแนนตั้งแต่ Starter การแมป metafield ตั้งแต่ Pro กฎแบบกำหนดขอบเขตและการเรนเดอร์ลำดับความสำคัญตั้งแต่ Scale) แพ็กเกจแบบชำระเงินมีช่วงทดลองใช้ 14 วันโดยไม่ต้องใช้บัตรเครดิต
เนื้อหาที่เกี่ยวข้อง
ลองใช้ฟรี — ไม่ต้องสมัครสมาชิก
ดูตัวอย่างและทดสอบภาพ OG แบบไดนามิกได้ในไม่กี่วินาที
เปิดตัวทดสอบภาพ OG ฟรี