Tags:
Microsoft

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

"วัตถุ" หรือ "อ็อบเจ็คต์" แต่ละชนิดจะมีข้อมูล 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

By: tr
Writer
tr's blog
on 03/06/11 10:17 #296365 toggle
tr's picture

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

By: PaPaSEK
ContributorAndroidWindowsIn Love
PaPaSEK's blog
on 03/06/11 10:22 #296369 toggle
PaPaSEK's picture

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

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

By: xenogew
AndroidUbuntu
xenogew's blog
on 03/06/11 10:29 #296375 Reply to:296369 toggle
xenogew's picture

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

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

By: PaPaSEK
ContributorAndroidWindowsIn Love
PaPaSEK's blog
on 03/06/11 10:32 #296377 Reply to:296375 toggle
PaPaSEK's picture

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

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

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

By: icez
ContributoriPhoneAndroidRed Hat
icez's blog
on 03/06/11 15:06 #296472 Reply to:296377 toggle
icez's picture

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

By: lew
FounderJusci's WriterMEconomicsAndroid
lew's blog
on 03/06/11 15:19 #296479 Reply to:296377 toggle
lew's picture

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


LewCPE's Google+

By: ipats
ContributorWindows PhoneAndroidExteen Official
ipats's blog
on 03/06/11 20:04 #296539 Reply to:296479 toggle
ipats's picture

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


iPAtS

By: lew
FounderJusci's WriterMEconomicsAndroid
lew's blog
on 03/06/11 22:06 #296556 Reply to:296539 toggle
lew's picture

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


LewCPE's Google+

By: PaPaSEK
ContributorAndroidWindowsIn Love
PaPaSEK's blog
on 03/06/11 17:35 #296516 Reply to:296377 toggle
PaPaSEK's picture

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

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

By: tewson
WriterUbuntu
tewson's blog
on 03/06/11 18:07 #296522 Reply to:296516 toggle
tewson's picture

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

By: criminals
iPhoneWindows PhoneAndroidUbuntu
criminals's blog
on 03/06/11 22:03 #296554 Reply to:296522 toggle
criminals's picture

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


Android จ๋า~*

By: lew
FounderJusci's WriterMEconomicsAndroid
lew's blog
on 03/06/11 22:12 #296558 Reply to:296516 toggle
lew's picture

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

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

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


LewCPE's Google+

By: Pinery
ContributoriPhoneAndroid
Pinery's blog
on 03/06/11 10:22 #296370 toggle
Pinery's picture

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

By: polaromonas
ContributorWindows PhoneWindows
polaromonas's blog
on 03/06/11 10:23 #296371 toggle
polaromonas's picture

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


My blog

By: psemanssc
Blackberry
psemanssc's blog
on 03/06/11 11:04 #296391 Reply to:296371 toggle
psemanssc's picture

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

By: winteen
Android
winteen's blog
on 03/06/11 11:52 #296409 toggle
winteen's picture

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


ลายเซ็นผิดระเบียบ จงใจทำ SEO ชัดเจน บัญชีผู้ใช้โดนแบนครับ

By: konkeanweb
konkeanweb's blog
on 03/06/11 11:52 #296410 toggle
konkeanweb's picture

แจ่มมาก


คนเขียนเว็บ

By: phukapond
Android
phukapond's blog
on 03/06/11 12:16 #296417 toggle
phukapond's picture

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


แค่อ่านก็เสียวแล้ว

By: ipats
ContributorWindows PhoneAndroidExteen Official
ipats's blog
on 03/06/11 14:46 #296465 toggle
ipats's picture

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


iPAtS

By: lew
FounderJusci's WriterMEconomicsAndroid
lew's blog
on 03/06/11 15:07 #296474 Reply to:296465 toggle
lew's picture

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


LewCPE's Google+

By: ipats
ContributorWindows PhoneAndroidExteen Official
ipats's blog
on 03/06/11 15:23 #296480 Reply to:296474 toggle
ipats's picture

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


iPAtS

By: massacre
AndroidUbuntu
massacre's blog
on 03/06/11 15:53 #296486 toggle
massacre's picture

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

By: rabbitch
rabbitch's blog
on 03/06/11 16:41 #296498 toggle
rabbitch's picture

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

By: shelling
ContributorWindows
shelling's blog
on 03/06/11 17:04 #296504 toggle
shelling's picture

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

By: platalay
AndroidWindowsIn Love
platalay's blog
on 03/06/11 17:41 #296517 Reply to:296504 toggle
platalay's picture

คงไม่ผ่าน

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

By: rattananen
AndroidWindows
rattananen's blog
on 03/06/11 17:46 #296518 Reply to:296504 toggle
rattananen's picture

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


no system is safe.

By: xenogew
AndroidUbuntu
xenogew's blog
on 03/06/11 17:57 #296520 Reply to:296504 toggle
xenogew's picture

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

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

By: latesleeper
Android
latesleeper's blog
on 04/06/11 0:33 #296588 toggle
latesleeper's picture

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


ซู่ซ่า ~♥(>◡<)♥

By: jarujit
ContributoriPhone
jarujit's blog
on 05/06/11 8:38 #296885 toggle
jarujit's picture

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


:-)