Tags:
Node Thumbnail

อ่านแต่หัวข่าวเฉยๆ มันจะเข้าใจยากนิดนึงครับ ขออธิบายเพิ่มดังนี้

"วัตถุ" หรือ "อ็อบเจ็คต์" แต่ละชนิดจะมีข้อมูล 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 รายใหญ่: กูเกิล, ไมโครซอฟท์, ยาฮู

Get latest news from Blognone

Comments

By: tr
Writer
on 3 June 2011 - 11:17 #296365

ใครนั่งทำ SEO ก็ควรนั่งทำอันนี้แหละ สามเจ้าใหญ่เขาจัดเองเลย :)

By: PaPaSEK
ContributorAndroidWindowsIn Love
on 3 June 2011 - 11:22 #296369
PaPaSEK's picture

ดูแล้วแปลกๆ อย่าง <div itemscope> ผมว่าน่าจะเป็น <div:itemscope> นะครับ

อ้างอิงจาก XML Schema ที่เคยผ่านตามา

By: xenogew
ContributorAndroidWindows
on 3 June 2011 - 11:29 #296375 Reply to:296369
xenogew's picture

div:itemscope มันเป็น tag ใหม่ไปเลยนะครับ

ไม่เหมือนกับ div แต่ใช้ attr เป็น itemscope เพราะ div เดิมก็ยังแสดงผลได้ปกติอยู่ เพียงแต่ attr ตัวใหม่เพิ่มเข้ามา browser ก็แสดงผลได้ถูกต้อง และ ignore ตัว attr ที่ไม่รู้จักไป แต่ search engine สามารถ crawl เพื่อดักจับ attr ใหม่ในเว็บได้

By: PaPaSEK
ContributorAndroidWindowsIn Love
on 3 June 2011 - 11:32 #296377 Reply to:296375
PaPaSEK's picture

โอ้! ขอบคุณมากครับสำหรับความรู้

เอ... เหมือนผมเคยอ่านเจอจากไหนไม่รู้ว่า Attribute ที่มันเปิดโล่งๆ นี่ถือว่าไม่มาตรฐานไม่ใช่เหรอครับ (HTML Schema)

หรือว่านี่เป็นมาตรฐานใหม่อีกตัว?

By: icez
ContributoriPhoneAndroidRed Hat
on 3 June 2011 - 16:06 #296472 Reply to:296377

ปกติการเปิด attribute โล่งๆ จะหมายถึง attribute นั้นเป็น boolean และให้ค่าเท่ากับ true (ถ้าไม่มีถือว่าเป็น false) ครับ
ยกเว้นเสียแต่จะใส่ attribute value เป็น false / disable / อะไรแนวๆ นี้

By: lew
FounderJusci&#039;s WriterMEconomicsAndroid
on 3 June 2011 - 16:19 #296479 Reply to:296377
lew's picture

ไม่เป็นมาตรฐาน XML ครับ แต่เป็นมาตรฐาน SGML สมัยที่ HTML ก่อนยุค XHTML ก็ใช้กันเป็นปรกติ


lewcpe.com, @wasonliw

By: ipats
ContributorNOOBIn Love
on 3 June 2011 - 21:04 #296539 Reply to:296479

แต่ถ้าใช้ XHTML ก็ validate ไม่ผ่านอยู่ดีนะครับ พวก attribute ลอยๆ นี่ ต้องจับมาใส่ = หมด :D


iPAtS

By: lew
FounderJusci&#039;s WriterMEconomicsAndroid
on 3 June 2011 - 23:06 #296556 Reply to:296539
lew's picture

html5 ไม่เป็น xml แล้วครับ กลับไป sgml แล้ว


lewcpe.com, @wasonliw

By: PaPaSEK
ContributorAndroidWindowsIn Love
on 3 June 2011 - 18:35 #296516 Reply to:296377
PaPaSEK's picture

@icez ขอบคุณมากครับ เขียน HTML มาหลายปีเพิ่งเข้าใขวันนี้ว่า Attribute แบบเปิดโล่งคือ Boolean

@lew ขอบคุณอีกเช่นกันครับ รับวันมาตรฐานมีหลายแบบเหลือเกิน ชักมึนๆ คงต้องฝึกบ่อยๆ จะได้ชิน

By: tewson
WriterUbuntu
on 3 June 2011 - 19:07 #296522 Reply to:296516

ก็มี attribute ชื่อ checked ของ ไงครับที่เปิดโล่ง เป็น boolean

By: criminals
iPhoneWindows PhoneAndroidUbuntu
on 3 June 2011 - 23:03 #296554 Reply to:296522

แต่ถ้าเอาไป validate พวก xhtml 1.1 strict อะไรเทือกนี้จะไม่ผ่านครับ
ต้องเขียน checked="checked"

By: lew
FounderJusci&#039;s WriterMEconomicsAndroid
on 3 June 2011 - 23:12 #296558 Reply to:296516
lew's picture

ถ้าได้อ่านหนังสือ Weaving the Web ของท่านเซอร์ Tim จะเล่าไว้ครับ ว่าสมัยนั้นมีฟอร์แมตสำหรับ HyperText จำนวนมาก บางอันเสียเงิน บางอันฟรี

HTML สร้างจาก SGML ที่ตอนนั้น IBM กำลังสนับสนุนให้บริษัทต่างๆ เก็บข้อมูลเป็น SGML แทน Binary กันมากขึ้น ตอนนั้น Tim B. Lee ถึงได้ไปสร้างมาตรฐานจาก SGML ขึ้นมาอีกชัน ผ่านไปหลายปีบริษัทใหญ่ๆ เช่น IBM และบริษัทซอฟต์แวร์อื่นๆ ถึงได้ผลักดัน XML

คนมักลืมชื่อ IBM ในประวัติศาสตร์หลายๆ หน้าของวงการครับ ทั้ง SGML นี่หลังๆ หนังสือก็ไม่เขียนถึงกันแล้ว


lewcpe.com, @wasonliw

By: Pinery
ContributoriPhoneAndroidIn Love
on 3 June 2011 - 11:22 #296370

โอ้วว สุดยอดจริงๆ

By: polaromonas
ContributorWindows PhoneWindows
on 3 June 2011 - 11:23 #296371

ชอบหน้าคำประกาศของ Google มีสูตรยำมะม่วงด้วย :D

By: psemanssc
Blackberry
on 3 June 2011 - 12:04 #296391 Reply to:296371

จริงด้วย เปรี้ยวปากเลยย

By: winteen
Android
on 3 June 2011 - 12:52 #296409
winteen's picture

ชาว Web designer ได้ของเล่นใหม่มาใช้อีกแล้วว

By: konkeanweb on 3 June 2011 - 12:52 #296410
konkeanweb's picture

แจ่มมาก

By: phukapond
AndroidWindowsIn Love
on 3 June 2011 - 13:16 #296417
phukapond's picture

ผลตอบรับดีเชียวนะ

By: ipats
ContributorNOOBIn Love
on 3 June 2011 - 15:46 #296465

ชอบ microformat มากกว่าแฮะ อันนั้นใช้ class แล้วเอาไปผูกกับ css ง่ายดี, javascript framework ปัจจุบันส่วนใหญ่ก็มี class selector กันอยู่แล้ว จัดการต่างๆ ง่ายกว่า


iPAtS

By: lew
FounderJusci&#039;s WriterMEconomicsAndroid
on 3 June 2011 - 16:07 #296474 Reply to:296465
lew's picture

attribute มันก็ select ได้เหมือนกัน?


lewcpe.com, @wasonliw

By: ipats
ContributorNOOBIn Love
on 3 June 2011 - 16:23 #296480 Reply to:296474

จริงๆ มันก็ได้นะ แค่ผมไม่คุ้นเฉยๆ แหละ แหะๆ


iPAtS

By: massacre
AndroidUbuntu
on 3 June 2011 - 16:53 #296486

มันน่าจะทำตั้งนานแล้ว

By: rabbitch on 3 June 2011 - 17:41 #296498

จะถึงยุค web 3.0 แล้วใช่ไหมนี่ หลังจากโรบอทอ่านเข้าใจอีกหน่อยคงนำมาประมวลผลจนคอมพิวเตอร์เข้าใจอะไรที่มนุษย์เข้าใจ

By: shelling
ContributoriPhoneAndroidUbuntu
on 3 June 2011 - 18:04 #296504
shelling's picture

แล้วจะผ่าน W3C มั้ยครับ

By: platalay
iPhoneWindows PhoneAndroidWindows
on 3 June 2011 - 18:41 #296517 Reply to:296504

คงไม่ผ่าน

ก็ต้องเลือกเอาว่า จะเอามาตราฐาน หรือจะเอา SEO

By: rattananen
AndroidWindows
on 3 June 2011 - 18:46 #296518 Reply to:296504

ผ่านครับ W3C ไม่ได้กำหนดว่าห้ามใส่ attribute ที่ไม่ได้กำหนดไว้หนิครับ

By: xenogew
ContributorAndroidWindows
on 3 June 2011 - 18:57 #296520 Reply to:296504
xenogew's picture

คิดว่า ผ่าน/ไม่ผ่าน คงไม่เป็นปัญหามั้งนะ
เพราะหลายครั้งที่ code ที่ทางฝั่ง distributor แจกออกมา ก็มี attribute แปลก ๆ ติดมา

หรืออย่างพวก Dojo, jQuery ก็เช่นกัน ที่ติด attribute ที่ไม่ได้อยู่ใน W3C standard แต่ก็เพื่อความสะดวกในการเรียกใช้งานตาม platform ที่จะใช้งาน ก็ขึ้นแดง (ดัก error) ก็เพราะตัว IDE ไม่มีการกำหนด definition ให้มันต่างหาก

By: latesleeper
Android
on 4 June 2011 - 01:33 #296588

สกีม่า ดอท โอ อาร์ จี

By: jarujit
ContributoriPhoneAndroid
on 5 June 2011 - 09:38 #296885
jarujit's picture

เหมือน Open Graph ที่ Facebook ใช้อยู่หรือเปล่าครับ?


:-)