อ่านแต่หัวข่าวเฉยๆ มันจะเข้าใจยากนิดนึงครับ ขออธิบายเพิ่มดังนี้
"วัตถุ" หรือ "อ็อบเจ็คต์" แต่ละชนิดจะมีข้อมูล metadata ที่อธิบายตัวมันเองแตกต่างกันไป เช่น ภาพยนตร์มีข้อมูลความยาว ผู้กำกับ นักแสดงนำ, หนังสือมีข้อมูลผู้เขียน ปีที่พิมพ์ จำนวนหน้า ฯลฯ ซึ่งเวลาเก็บข้อมูล metadata เหล่านี้ในฐานข้อมูลเฉพาะก็ไม่มีปัญหาอะไร เพราะกำหนดฟิลด์ชัดเจนว่าฟิลด์ไหนหมายถึงอะไร (structured data)
แต่พอ "แสดงผล" ข้อมูลออกมาเป็น HTML บนหน้าเว็บ มันจะกลายเป็นข้อความ text ธรรมดาทั้งหมด (unstructured data) แยกแยะได้ยากว่าข้อความส่วนไหนคือฟิลด์ผู้เขียน ฟิลด์ผู้กำกับ ฯลฯ แน่นอนว่าเราอาจดักจับแพทเทิร์นบางอย่างได้ แต่ไม่ใช่เรื่องง่ายเพราะแต่ละเว็บใช้ไม่เหมือนกัน
ในมุมมองของคนทำ search engine ปัญหานี้ทำให้ผลการค้นหาไม่ดีอย่างที่ควรจะเป็น เพราะ search engine ไม่สามารถสกัดข้อมูลที่ควรจะเป็น structured ออกมาได้
ทางออกหนึ่งของปัญหานี้ก็คือกำหนดฟอร์แมตมาตรฐานให้กับข้อมูล HTML (และหวังว่าคนจะนำไปใช้กันเยอะๆ) ฟอร์แมตข้อมูลลักษณะนี้เรียกว่า microdata (ในอดีตเคยมีโครงการ Microformats พยายามจะทำแบบนี้แต่ไม่ประสบความสำเร็จนัก)
Schema.org เป็นโครงการใหม่ที่พยายามกำหนดฟอร์แมต microdata แต่คราวนี้ไม่ธรรมดาเพราะ search engine ใหญ่ของโลก 3 รายคือกูเกิล ไมโครซอฟท์ ยาฮู หนุนหลังอย่างเต็มที่
Schema.org จะทำตัวเป็นองค์กรกลางสำหรับกำหนดฟอร์แมต microdata รูปแบบต่าง เช่น ภาพยนตร์ หนังสือ สูตรอาหาร รายการทีวี บุคคล เหตุการณ์ องค์กร ฯลฯ (ดูรายการทั้งหมด)
เพื่อให้เห็นภาพกันมากขึ้น ก็ขอโชว์โค้ดตัวอย่างของ schema.org ครับ
ข้อความปกติบนเว็บ
Resistance 3: Fall of Man
by Sony
Platform: Playstation 3
Rated: Mature
ฟอร์แมตที่กำหนดโดย schema.org
<div itemscope itemtype="http://schema.org/CreativeWork">
<img itemprop="image" src="videogame.jpg" />
<span itemprop="name">Resistance 3: Fall of Man</span>
by <span itemprop="author">Sony</span>,
Platform: Playstation 3
Rated:<span itemprop="contentRating">Mature</span>
</div>
จะเห็นว่าฟอร์แมตของ schema.org จะใช้แท็ก HTML ธรรมดา แต่จะเพิ่ม attribute ใหม่มาสองชนิดคือ itemtype และ temprop เป็นต้น
กูเกิลประกาศว่าเดิมทีรองรับฟอร์แมตแบบนี้ 3 ชนิดคือ microformat, RDFa และ microdata (ของ schema.org) ต่อจากนี้ไปจะเน้นที่ microdata เพียงอย่างเดียว แต่ก็จะยังรองรับฟอร์แมตแบบอื่นๆ ต่อไป
กูเกิลยังออกเครื่องมือสำหรับทดสอบเว็บไซต์ว่าเขียนฟอร์แมตของ microdata ถูกต้องหรือไม่ ชื่อว่า Rich Snippets Testing Tool
การร่วมกันผลักดัน schema.org ครั้งนี้ จะคล้ายๆ กับการกำหนดฟอร์แมตของ sitemap ในอดีต (ผ่าน sitemaps.org) ซึ่งภายหลังกลายเป็นมาตรฐานให้เว็บมาสเตอร์ทุกเว็บต้องปฏิบัติตาม คราวนี้ก็ต้องรอดูว่า schema.org จะมีคนใช้มากน้อยแค่ไหน (อาจต้องให้เวลาอีกสักพัก)
ใครที่ทำเว็บรีวิวผลิตภัณฑ์ชนิดต่างๆ อาจพิจารณาใช้งานเพื่อให้ search engine เข้าถึงข้อมูลของเว็บเราได้ดีขึ้น
ที่มา - Search Engine Land
คำประกาศสนับสนุนจาก 3 รายใหญ่: กูเกิล, ไมโครซอฟท์, ยาฮู
Comments
ใครนั่งทำ SEO ก็ควรนั่งทำอันนี้แหละ สามเจ้าใหญ่เขาจัดเองเลย :)
ดูแล้วแปลกๆ อย่าง <div itemscope> ผมว่าน่าจะเป็น <div:itemscope> นะครับ
อ้างอิงจาก XML Schema ที่เคยผ่านตามา
div:itemscope มันเป็น tag ใหม่ไปเลยนะครับ
ไม่เหมือนกับ div แต่ใช้ attr เป็น itemscope เพราะ div เดิมก็ยังแสดงผลได้ปกติอยู่ เพียงแต่ attr ตัวใหม่เพิ่มเข้ามา browser ก็แสดงผลได้ถูกต้อง และ ignore ตัว attr ที่ไม่รู้จักไป แต่ search engine สามารถ crawl เพื่อดักจับ attr ใหม่ในเว็บได้
โอ้! ขอบคุณมากครับสำหรับความรู้
เอ... เหมือนผมเคยอ่านเจอจากไหนไม่รู้ว่า Attribute ที่มันเปิดโล่งๆ นี่ถือว่าไม่มาตรฐานไม่ใช่เหรอครับ (HTML Schema)
หรือว่านี่เป็นมาตรฐานใหม่อีกตัว?
ปกติการเปิด attribute โล่งๆ จะหมายถึง attribute นั้นเป็น boolean และให้ค่าเท่ากับ true (ถ้าไม่มีถือว่าเป็น false) ครับ
ยกเว้นเสียแต่จะใส่ attribute value เป็น false / disable / อะไรแนวๆ นี้
ไม่เป็นมาตรฐาน XML ครับ แต่เป็นมาตรฐาน SGML สมัยที่ HTML ก่อนยุค XHTML ก็ใช้กันเป็นปรกติ
lewcpe.com, @wasonliw
แต่ถ้าใช้ XHTML ก็ validate ไม่ผ่านอยู่ดีนะครับ พวก attribute ลอยๆ นี่ ต้องจับมาใส่ = หมด :D
iPAtS
html5 ไม่เป็น xml แล้วครับ กลับไป sgml แล้ว
lewcpe.com, @wasonliw
@icez ขอบคุณมากครับ เขียน HTML มาหลายปีเพิ่งเข้าใขวันนี้ว่า Attribute แบบเปิดโล่งคือ Boolean
@lew ขอบคุณอีกเช่นกันครับ รับวันมาตรฐานมีหลายแบบเหลือเกิน ชักมึนๆ คงต้องฝึกบ่อยๆ จะได้ชิน
ก็มี attribute ชื่อ checked ของ ไงครับที่เปิดโล่ง เป็น boolean
แต่ถ้าเอาไป validate พวก xhtml 1.1 strict อะไรเทือกนี้จะไม่ผ่านครับ
ต้องเขียน checked="checked"
ถ้าได้อ่านหนังสือ Weaving the Web ของท่านเซอร์ Tim จะเล่าไว้ครับ ว่าสมัยนั้นมีฟอร์แมตสำหรับ HyperText จำนวนมาก บางอันเสียเงิน บางอันฟรี
HTML สร้างจาก SGML ที่ตอนนั้น IBM กำลังสนับสนุนให้บริษัทต่างๆ เก็บข้อมูลเป็น SGML แทน Binary กันมากขึ้น ตอนนั้น Tim B. Lee ถึงได้ไปสร้างมาตรฐานจาก SGML ขึ้นมาอีกชัน ผ่านไปหลายปีบริษัทใหญ่ๆ เช่น IBM และบริษัทซอฟต์แวร์อื่นๆ ถึงได้ผลักดัน XML
คนมักลืมชื่อ IBM ในประวัติศาสตร์หลายๆ หน้าของวงการครับ ทั้ง SGML นี่หลังๆ หนังสือก็ไม่เขียนถึงกันแล้ว
lewcpe.com, @wasonliw
โอ้วว สุดยอดจริงๆ
ชอบหน้าคำประกาศของ Google มีสูตรยำมะม่วงด้วย :D
จริงด้วย เปรี้ยวปากเลยย
ชาว Web designer ได้ของเล่นใหม่มาใช้อีกแล้วว
แจ่มมาก
ผลตอบรับดีเชียวนะ
ชอบ microformat มากกว่าแฮะ อันนั้นใช้ class แล้วเอาไปผูกกับ css ง่ายดี, javascript framework ปัจจุบันส่วนใหญ่ก็มี class selector กันอยู่แล้ว จัดการต่างๆ ง่ายกว่า
iPAtS
attribute มันก็ select ได้เหมือนกัน?
lewcpe.com, @wasonliw
จริงๆ มันก็ได้นะ แค่ผมไม่คุ้นเฉยๆ แหละ แหะๆ
iPAtS
มันน่าจะทำตั้งนานแล้ว
จะถึงยุค web 3.0 แล้วใช่ไหมนี่ หลังจากโรบอทอ่านเข้าใจอีกหน่อยคงนำมาประมวลผลจนคอมพิวเตอร์เข้าใจอะไรที่มนุษย์เข้าใจ
แล้วจะผ่าน W3C มั้ยครับ
คงไม่ผ่าน
ก็ต้องเลือกเอาว่า จะเอามาตราฐาน หรือจะเอา SEO
ผ่านครับ W3C ไม่ได้กำหนดว่าห้ามใส่ attribute ที่ไม่ได้กำหนดไว้หนิครับ
คิดว่า ผ่าน/ไม่ผ่าน คงไม่เป็นปัญหามั้งนะ
เพราะหลายครั้งที่ code ที่ทางฝั่ง distributor แจกออกมา ก็มี attribute แปลก ๆ ติดมา
หรืออย่างพวก Dojo, jQuery ก็เช่นกัน ที่ติด attribute ที่ไม่ได้อยู่ใน W3C standard แต่ก็เพื่อความสะดวกในการเรียกใช้งานตาม platform ที่จะใช้งาน ก็ขึ้นแดง (ดัก error) ก็เพราะตัว IDE ไม่มีการกำหนด definition ให้มันต่างหาก
สกีม่า ดอท โอ อาร์ จี
เหมือน Open Graph ที่ Facebook ใช้อยู่หรือเปล่าครับ?
:-)