• July 24, 2026

    มองในมุมการใช้งานและการออกแบบระบบ คุณพูดถูกเป๊ะเลยครับ!

    ถ้าวัดกันที่เทคโนโลยีเพียวๆ หรือระบบ CMS ยุคใหม่หลายตัว (รวมถึงระบบ Database ของตัว WordPress เอง) มันคือสิ่งเดียวกันเป๊ะ

    เบื้องหลังในฐานข้อมูล MySQL ของ WordPress ทั้ง Post และ Page ถูกเก็บอยู่ในตารางเดียวกันชื่อ wp_posts เลยครับ ต่างกันแค่ตรงคอลัมน์ post_type ว่ามันบันทึกคำว่า ‘post’ หรือ ‘page’ เท่านั้นเอง

    ถ้าถามว่า “ทำไม WordPress ไม่ทำเป็นติ๊กถูก Static / Dynamic เอา แล้วจบ?” เหตุผลจริงๆ ไม่ใช่เรื่องทางเทคนิค แต่เป็น “หนี้ทางประวัติศาสตร์” (Technical Debt) และ “ธุรกิจ” ครับ เอาความจริงเบื้องหลังมาคุยกันแบบไม่กั๊กเลย:

    1. WordPress เริ่มต้นจากการเป็นแค่ “เว็บบล็อก” (ปี 2003)
    จุดเริ่มต้นเมื่อ 20 กว่าปีก่อน WordPress เกิดมาเพื่อแข่งกับ Blogger มันถูกออกแบบมาเขียน Post อย่างเดียวเลย ไม่มีคำว่า Page อยู่ในหัวคนสร้างด้วยซ้ำ

    จนกระทั่งผู้ใช้เริ่มเรียกร้องว่า “อยากได้หน้า About Us ที่ไม่มีวันที่ขึ้นหัวเว็บอ่ะ ทำยังไง?” ทีมพัฒนาถึงได้แอบยัด Page เพิ่มเข้ามาทีหลังในปี 2005 (เวอร์ชัน 1.5) โดยการใช้วิธีง่ายๆ คือสร้าง post_type = ‘page’ แยกออกมาตัดปัญหา เพื่อจะได้ไม่ต้องไปแก้โครงสร้างโค้ดเดิมทั้งหมด

    2. ติดหล่ม “Backward Compatibility” (ไม่กล้าพังเว็บคนอื่น)
    ปัจจุบัน WordPress ขับเคลื่อนเว็บทั่วโลกอยู่เกิน 40% ตั้งแต่บล็อกเล็กล่ะยันเว็บข่าวระดับโลก ถ้าวันนี้ทีมพัฒนาบอกว่า:

    “โอเค เราจะรวม Post กับ Page เข้าด้วยกัน แล้วใช้ระบบ Checkbox อย่างที่คุณว่านะ”

    สิ่งที่เกิดขึ้นคือ ธีมและปลั๊กอินหลายสิบล้านตัวทั่วโลกจะพังทันที!

    ปลั๊กอินขายของ (WooCommerce)

    ปลั๊กอิน SEO (Yoast, RankMath)

    ธีมเก่าๆ ที่เขียนโค้ดแยก single.php (ของ Post) กับ page.php (ของ Page)

    WordPress ให้ความสำคัญกับคำว่า “ห้ามทำเว็บเดิมของคนอื่นพัง” มากเกินไป จนไม่กล้าลบของเก่าทิ้ง ทำให้ต้องแบกโครงสร้างเทอะทะและยุ่งยากนี้มาเรื่อยๆ ถึง 20 ปี

    3. Custom Post Type (CPT) ยิ่งทำให้ตรรกะนี้มึนเข้าไปใหญ่
    พอระบบมันแยก Post/Page ไว้แบบนี้ พอนานเข้าคนอยากได้ “สินค้า” “พอร์ตโฟลิโอ” “รีวิว” WordPress เลยเปิดฟีเจอร์ Custom Post Type ให้สร้างประเภทเนื้อหาเองได้

    ทีนี้เลยยิ่งมั่วหนัก เพราะนักพัฒนาต้องมานั่งเลือกว่า Post Type ใหม่นี้ จะให้พฤติกรรมเหมือน Post (มี Category) หรือเหมือน Page (เป็น Parent-Child) ทั้งที่จริงแล้วถ้าทำระบบ Taxonomy (การติดป้ายกำกับ) กับ Attribute (คุณลักษณะ) ให้ยืดหยุ่นตั้งแต่แรก ทุกอย่างในเว็บมันควรจะเป็น “Content Object” เดียวกันหมดเลยด้วยซ้ำ

    💡 ถ้าย้อนเวลากลับไปได้ / CMS ยุคใหม่เขาทำยังไง?
    ถ้าเป็น CMS ยุคใหม่ๆ ที่เพิ่งเกิด (เช่น Headless CMS หรือ Strapi/Sanity) เขาทำแบบที่คุณบอกเลยครับ!

    เขาไม่มีคำว่า Post หรือ Page

    มีแค่ Content Collection

    อยากได้แบบไหน ก็แค่เปิด-ปิด Toggle หรือเลือกฟิลด์เอาว่าอันนี้มี Date ไหม มี Taxonomy ไหม ไม่ต้องมาแยกประเภทให้งง

    สรุป
    ที่คุณรู้สึกว่ามัน “ข้างๆ คูๆ” เพราะมันเป็นแบบนั้นจริงๆ ในเชิงประสบการณ์ผู้ใช้ (UX) ครับ! มันคือ รอยแผลเป็นจากการพัฒนาซอฟต์แวร์ที่ยาวนาน ที่ต้องยอมแลกความไม่อัจฉริยะของระบบ เพื่อรักษาความเข้ากันได้กับเว็บยุคโบราณนั่นเองครับ



เวอไนน์ไอคอร์ส

ประหยัดเวลากว่า 100 เท่า!






เวอไนน์เว็บไซต์⚡️
สร้างเว็บไซต์ ดูแลเว็บไซต์

Categories


Uncategorized