คำอธิบาย JSON-LD สำหรับเว็บไซต์ส่วนตัว
(hawksley.dev)- แม้แต่เว็บไซต์ส่วนตัวก็สามารถใส่ structured data ได้ เพื่อให้ครอว์เลอร์เข้าใจความสัมพันธ์ระหว่างหน้า บุคคล และบทความได้ดีขึ้น พร้อมช่วยปรับปรุงคุณภาพของลิงก์พรีวิวและการแสดงผลบนการค้นหา
- การติดตั้งทำได้โดยกำหนด
@contextเป็น Schema.org ภายใน<script type="application/ld+json">ที่อยู่ใน<head>แล้ววางโหนดอย่างWebSite,Person,BlogPostingไว้ใน@graph - หากใช้
@idเดียวกัน เว็บครอว์เลอร์สามารถรวมพร็อพเพอร์ตีของโหนดจากหลายหน้าเข้าด้วยกันได้ แต่สแครปเปอร์หรือ LLM ที่อ่านเพียงหน้าเดียวจะไม่รวมให้ ซึ่งเป็นความแตกต่างที่ต้องคำนึงถึง - ในหน้ารากควรมี
WebSite,ProfilePage,Personเป็นพื้นฐาน ส่วนหน้าบล็อก โปรเจกต์ หรือหน้ารายการ สามารถเพิ่มBlog,BlogPosting,SoftwareApplication,CollectionPage,BreadcrumbListให้เหมาะกับลักษณะของหน้า - ฟิลด์อย่าง
sameAsของPerson,breadcrumbของหน้า, และimage·license·วันที่ของบทความ ถูกนำไปใช้โดยตรงในการระบุตัวบุคคล เส้นทางในผลการค้นหา พรีวิวบทความ เงื่อนไขการใช้งาน และการประเมินความใหม่ของเนื้อหา
บทบาทและโครงสร้างพื้นฐานของ JSON-LD
- JSON-LD ย่อมาจาก JSON Linked Data เป็นรูปแบบสำหรับเพิ่ม structured data ให้กับเว็บเพจ
- ช่วยให้ครอว์เลอร์เข้าใจ โครงสร้างเชิงความหมาย ของเว็บไซต์ และอาจช่วยให้ได้ลิงก์พรีวิวที่สมบูรณ์ขึ้น รวมถึงมีส่วนช่วยปรับปรุงอันดับการค้นหา
- เมื่อต้องการเพิ่มลงในหน้า ให้ใส่สคริปต์ในส่วน
<head>ในรูปแบบต่อไปนี้<script type="application/ld+json">เป็นการประกาศ MIME type เป็นapplication/ld+json- เมื่อกำหนด type นี้แล้ว JavaScript engine ของเบราว์เซอร์จะไม่รันมัน
- ครอว์เลอร์เฉพาะทางอย่าง Googlebot จะค้นหาองค์ประกอบนี้แล้วพาร์สเนื้อหาภายใน
@context, @graph, และ ID ของโหนด
@contextใช้ระบุ บริบท ที่ข้อมูล JSON-LD นี้ยึดตาม โดยเว็บครอว์เลอร์ใช้ Schema.org เป็นมาตรฐาน- Schema.org กำหนดคู่คีย์-ค่าที่ใช้ได้ใน JSON
- เอกสาร JSON-LD สามารถมองเป็นกราฟมีทิศทางที่มีป้ายกำกับ และข้อมูลจะถูกเก็บไว้ใต้
@graph - ภายในกราฟมีได้หลายโหนด และโหนดเหล่านั้นเชื่อมต่อกันด้วยลิงก์ที่มีทิศทาง
- แต่ละโหนดประกอบด้วยองค์ประกอบต่อไปนี้
@type: ระบุว่าโหนดคืออะไร เช่นWebSite,SoftwareApplication@id: ตัวระบุของโหนด ซึ่งโดยทั่วไปมักเป็น URL ที่ต่อด้วยค่าแฮชเฉพาะท้ายสุด- พร็อพเพอร์ตี: คู่คีย์-ค่าที่แสดงคุณลักษณะของโหนด
- เว็บครอว์เลอร์สามารถรวมพร็อพเพอร์ตีของโหนดที่ใช้
@idเดียวกันข้ามหลายหน้าได้ - แต่สแครปเปอร์หรือ LLM ที่อ่านเพียงหน้าเดียวจะไม่รวมพร็อพเพอร์ตีเหล่านี้ ดังนั้นหากนำ JSON-LD ชุดเดียวกันไปใช้ซ้ำหลายหน้า ควรคำนึงถึงความต่างนี้
- แนะนำให้ใช้
@idโดยต่อแฮชท้าย URL เพื่อระบุโหนดอย่างชัดเจน เช่น#website
โหนดที่ใช้อธิบายเว็บไซต์และหน้าเว็บ
-
WebSiteWebSiteเก็บ เมทาดาทา ของเว็บไซต์ และช่วยให้ครอว์เลอร์ตัดสินใจได้ว่าจะนำเว็บไซต์ไปแสดงอย่างไร- ในหน้ารากสามารถใส่เวอร์ชันแบบละเอียดที่มีพร็อพเพอร์ตีอย่าง
url,name,alternateName,description,inLanguage,publisher,image - ไม่จำเป็นต้องใส่โหนด
WebSiteแบบเต็มในทุกหน้า - หน้ารากของโดเมนควรเขียนแบบละเอียด ส่วนหน้าอื่นใช้เวอร์ชันย่อที่มีเพียง
@type,@id,url,nameก็เพียงพอ - เวอร์ชันย่อช่วยให้ครอว์เลอร์ที่อ่านเพียงหน้าเดียวมีบริบทพอที่จะระบุชื่อเว็บไซต์ได้ถูกต้อง
-
WebPageWebPageหมายถึงหน้าปัจจุบันเอง หรือก็คือ หน้า HTML ทางกายภาพ- ควรแยกจากประเภทคอนเทนต์อย่าง
BlogPostingโดยWebPageชี้ไปที่หน้าที่บรรจุคอนเทนต์นั้น - ตัวอย่างพร็อพเพอร์ตี ได้แก่
url,isPartOf,name,inLanguage,breadcrumb ProfilePage,CollectionPageเป็นชนิดย่อยที่เฉพาะเจาะจงกว่าของWebPage- ชนิดย่อยที่พบไม่บ่อยกว่านี้สามารถดูได้ใน คำจำกัดความ WebPage ของ Schema.org
การระบุตัวบุคคลและหน้าโปรไฟล์
-
Person- แนะนำให้ใส่โหนด
Personไว้ในทุกหน้าของเว็บไซต์ส่วนตัว Personใช้แสดงว่าเจ้าของเว็บไซต์คือใคร และถูกใช้เป็นส่วนหนึ่งของตัวชี้วัดคุณภาพคอนเทนต์ของ Google- ครอว์เลอร์ของ LLM ก็ใช้ข้อมูล
Personมากขึ้นเรื่อย ๆ เพื่อพิจารณาว่าควรอ้างถึงใครในคำตอบ - ต่างจาก
WebSite,Personเป็นบริบทสำคัญมากพอที่จะใส่ไว้ในทุกหน้า - พร็อพเพอร์ตีที่สำคัญมีดังนี้
url: ชี้ไปที่หน้ารากเพื่อยึดโหนดนี้ไว้name,givenName,familyName: แสดงชื่อให้ชัดเจนimage: ถ้าเป็นไปได้ควรใช้รูปเจ้าตัวหรือโลโก้ที่เกี่ยวข้องเพื่อเชื่อมภาพทางการsameAs: ช่วยบอกครอว์เลอร์เกี่ยวกับโปรไฟล์อื่น ๆ เพื่อช่วยระบุตัวบุคคล
sameAsมีประโยชน์มากเป็นพิเศษในการ แยกคนชื่อซ้ำ และใช้สร้างการแสดงผลแบบ knowledge graph ข้ามหลายหน้า- พร็อพเพอร์ตีอื่นของ
Personมีประโยชน์ในการเพิ่มรายละเอียด แต่ไม่ใช่สิ่งจำเป็น และตัดทอนลงได้โดยมีผลกระทบน้อย
- แนะนำให้ใส่โหนด
-
ProfilePageProfilePageใช้แทนหน้าภายในเว็บไซต์ที่เกี่ยวกับบุคคลใดบุคคลหนึ่ง- หากหน้าแรกใช้แนะนำตัวเองก็สามารถใช้กับหน้าแรกได้ แต่ถ้ามีหน้า about แยกต่างหากก็อาจเหมาะกว่าที่จะใส่ไว้ตรงนั้น
- สิ่งสำคัญคือเชื่อมกับโหนด
WebSiteที่กว้างกว่าด้วยisPartOf mainEntityใช้บอกครอว์เลอร์ว่าหน้านี้เกี่ยวกับใครdateCreated,dateModifiedมีประโยชน์ในฐานะ สัญญาณความใหม่ สำหรับครอว์เลอร์ แต่ถ้าเว็บไซต์ให้ข้อมูลนี้ได้ไม่สะดวกก็ไม่ต้องกังวลมาก
โปรเจกต์และการแสดงเส้นทาง
-
SoftwareApplication- หากหน้าเว็บใช้แนะนำซอฟต์แวร์ ก็ควรใส่เมทาดาทาของซอฟต์แวร์นั้นด้วยโหนด
SoftwareApplication - หากต้องการแบบเฉพาะเจาะจงกว่า สามารถใช้
MobileApplication,WebApplication,VideoGameได้ - พร็อพเพอร์ตี
urlควรชี้ไปยังตำแหน่งที่โปรเจกต์ถูกเผยแพร่ - ตัวอย่างเช่นหน้าเผยแพร่อย่าง crates.io
sameAsใช้กับหน้าอื่นที่เชื่อมกับโปรเจกต์ เช่นที่เก็บซอร์สโค้ด- ค่าที่ใช้ได้ของ
applicationCategoryดูได้จาก คำจำกัดความ SoftwareApplication ของ Google - แม้จะเป็นโปรเจกต์ FOSS ก็ควรใส่
offersและตั้งราคาเป็น0
- หากหน้าเว็บใช้แนะนำซอฟต์แวร์ ก็ควรใส่เมทาดาทาของซอฟต์แวร์นั้นด้วยโหนด
-
BreadcrumbListBreadcrumbListมีประโยชน์อย่างกว้างขวางกับทุกหน้าที่ยกเว้นหน้าราก- มันแสดง เส้นทางการจัดหมวดหมู่ ของหน้า และไม่จำเป็นต้องตรงกับเส้นทาง URL จริงเสมอไป
- สามารถใช้ควบคุมวิธีที่เสิร์ชเอนจินแสดงเส้นทางของหน้าหนึ่ง ๆ ได้
- หากเส้นทางของเว็บไซต์สั้นอยู่แล้ว ประโยชน์ของโหนดนี้ก็มีไม่มากและอาจละได้
- แต่สำหรับเว็บไซต์ที่มีเส้นทางยาว
BreadcrumbListมีประโยชน์ในการทำให้เส้นทางในผลค้นหาสั้นลง
หน้ารายการ บล็อก และหน้าบทความ
-
CollectionPageCollectionPageเป็นชนิดย่อยของWebPageที่ใช้หลัก ๆ กับหน้าที่รวบรวมรายการ- ตัวอย่างเช่นหน้า
/elsewhere/ที่รวมโปรไฟล์อื่น ๆ หรือหน้า/blog/ที่เป็นรายการบทความบล็อก - สามารถใช้
aboutเพื่อเชื่อมกับโหนดPersonที่เกี่ยวข้อง breadcrumbต้องเชื่อมกับBreadcrumbListที่ถูกต้องของหน้าปัจจุบันเสมอ
-
Blog- ควรเพิ่มโหนด
Blogในหน้า index หรือหน้าแรกของบล็อก - มันทำหน้าที่เป็น โหนดกลาง ระหว่าง
WebSiteกับBlogPostingแต่ละชิ้น dateModifiedมีประโยชน์ในฐานะสัญญาณความใหม่ แต่หากให้ข้อมูลนี้ได้ไม่ง่ายก็ละไว้ได้licenseช่วยให้ครอว์เลอร์ทราบว่าสามารถใช้บทความภายใต้เงื่อนไขใด- ในเว็บไซต์ส่วนตัวสามารถตั้ง
publisherเป็นPersonแทนOrganizationได้ - เอกสารของ Google ต่างจากในอดีตตรงที่ตอนนี้ยอมรับ
Personเป็นค่าที่ใช้ได้ และอาจแม่นยำกว่าสำหรับเว็บไซต์ส่วนตัว
- ควรเพิ่มโหนด
-
BlogPostingBlogPostingควรใส่ในทุกบทความบล็อกที่เผยแพร่แล้ว- มันให้ข้อมูลเพิ่มเติมเพื่อให้ครอว์เลอร์นำเสนอบทความได้แม่นยำขึ้น
- สามารถใช้เพื่อช่วยจัดวางตำแหน่งในผลค้นหาได้แม่นยำขึ้น และแสดงรายละเอียดที่สมบูรณ์ยิ่งขึ้น
- ในเว็บไซต์ส่วนตัว
authorและpublisherจะชี้ไปยังโหนดPersonเดียวกันก็ได้ - พร็อพเพอร์ตี
imageควรตรงกับ ภาพ OG ที่ใช้ในลิงก์พรีวิวของบทความอยู่แล้ว licenseสามารถใช้เพื่อระบุเงื่อนไขการใช้งานของบทความ
การติดตั้งขั้นต่ำและเกณฑ์การนำไปใช้
- JSON-LD ที่จำเป็นสำหรับเว็บไซต์ส่วนตัวสามารถเลือกจัดองค์ประกอบได้ตามลักษณะของแต่ละหน้า
- แม้จะเป็นเว็บไซต์สแตติกที่ไม่มีขั้นตอน build ก็ยังได้ประโยชน์จากการเพิ่มโหนดขั้นต่ำต่อไปนี้ในหน้าราก
WebSiteProfilePagePerson
- หากมีบล็อก ก็สามารถเพิ่ม
BlogและBlogPostingได้ และสำหรับหน้ารายการบทความหรือหน้ารวมโปรไฟล์ภายนอกสามารถใช้CollectionPageได้ - สำหรับหน้าแนะนำโปรเจกต์สามารถพิจารณา
SoftwareApplicationและสำหรับหน้าที่ไม่ใช่หน้ารากสามารถพิจารณาBreadcrumbListได้
1 ความคิดเห็น
ความเห็นจาก Hacker News
ถ้าจะเปรียบเทียบ มันให้ความรู้สึกเหมือน ไปรบในสงครามครั้งเก่าอีกครั้ง
ในมุมของเว็บไซต์ WWW ของฉัน ตอนนี้ Google แทนที่จะส่งคนไปยังบทความจริงของฉัน กลับแสดง สรุปที่สร้างโดย LLM แบบยาวและปนข้อผิดพลาดไว้ด้านบน
การได้ชื่อแสดงผลสวย ๆ แทน ‘breadcrumb’ หรือโดเมน ไม่ได้แก้ปัญหาความจริงที่ว่า Google ลดความสำคัญของสิ่งเหล่านี้ลงอยู่ดี ไม่ว่าจะแต่งมันให้ดูดีหรือไม่ก็ตาม
มันเหมือนทุ่มแรงมากเกินไปกับสิ่งที่คนที่เข้ามายังเว็บไซต์จริงจะไม่มีวันเห็น และคนที่ใช้ Google ก็หาแทบไม่เจอเพราะถูกกดลงไปอยู่ใต้เวอร์ชันที่ถูกทำให้เป็น LLM ของตัว Google เอง
ต่อให้ Google ไม่ใช้ ถ้าทั้งอินเทอร์เน็ตนำเมทาดาทาแบบนี้ไปใช้กันอย่างแพร่หลาย ก็จะกลายเป็นพื้นดินที่ดีให้คู่แข่งที่ไม่ต้องพึ่งการสแครปด้วย LLM สร้างทางเลือกขึ้นมาได้
ถ้ายอมสยบต่อ Google ก็มีแต่จะยิ่งเสริมอำนาจครอบงำ เพิ่มกำแพงการเข้าสู่ตลาดของคู่แข่ง และบีบให้พวกเขาต้องใช้เทคโนโลยีแบบเดียวกันด้วย
$STATEบริษัทไอทีที่เชี่ยวชาญการสร้างเวิร์กโฟลว์ AI เชิงปฏิบัติและโซลูชันการจัดการข้อมูลสำหรับธุรกิจในแถบมิดเวสต์ ดำเนินงานด้วยโมเดลสัญญาราคาคงที่ที่คล่องตัว และมุ่งเน้นการส่งมอบผลลัพธ์ที่เป็นรูปธรรมโดยหลีกเลี่ยงความเทอะทะแบบองค์กรขนาดใหญ่ไม่ยักรู้มาก่อนว่าเดี๋ยวนี้พวกเราให้บริการ เวิร์กโฟลว์ AI เชิงปฏิบัติ แล้ว
แล้วยังเอาชื่อคู่แข่งที่คล้ายกันแต่คนละเจ้ามาปนกันอีก แถมตั้งฉันเป็นผู้บริหารด้วย อย่างน้อยข้อดีคือคู่แข่งซ่อนข้อมูลติดต่อไว้หลังฟอร์ม “จองคำปรึกษา” เลยกลายเป็นว่าแสดงแต่ข้อมูลติดต่อของเรา
ตอนนี้มันไม่ได้เพิ่มคุณค่าอะไร มีแต่สร้างปัญหาเพิ่ม
สุดท้ายก็มีแต่ช่วยฝึก AI ของ Google เพื่อให้คนไม่ต้องออกจาก Google เท่านั้นเอง
ถ้ามองแบบใช้งานจริง ผมแนะนำให้อ่านเอกสารของ Google สำหรับเว็บไซต์เรื่อง JSON-LD
https://developers.google.com/search/docs/appearance/structu...
คุณจะเห็นด้วยว่าข้อมูลจำนวนมากเกี่ยวข้องกับเว็บไซต์บางประเภทเท่านั้น Rotten Tomatoes สามารถเผยแพร่คะแนนนักวิจารณ์หนังด้วย JSON-LD ได้ แต่ถึงผมจะเขียนรีวิวหนังก็ไม่ได้เกี่ยวอะไรกับผมมากนัก
JSON-LD ใช้งานง่าย และเครื่องมือค้นหาก็ใช้มันจริง จึงถือว่าโอเค แม้มันจะทำให้ข้อมูลในหน้าเว็บซ้ำกันได้ แต่ผมมองว่าความฝันที่จะใส่คำอธิบายประกอบอย่างสมบูรณ์แบบจนข้อมูลปรากฏในเอกสารเพียงครั้งเดียวอย่างแม่นยำนั้น เป็นอุดมคติพอ ๆ กับวัวทรงกลมและเชือกไร้มวล
การทำเว็บเพจต้องใช้แรงคน และผลลัพธ์สุดท้ายจะมีข้อมูลซ้ำอยู่บ้างก็ไม่เป็นไร
ในเว็บไซต์ของฉัน ฉันใช้กับรีวิวหนังสือ เกม และภาพยนตร์ และดูเหมือนเครื่องมือค้นหาส่วนใหญ่จะแสดงข้อมูลอย่างคะแนนดาวด้วย
403. That’s an error.ขึ้นว่าฝั่งไคลเอนต์ไม่มีสิทธิ์เข้าถึง URL
/search/docs/appearance/structured-data/intro-structured-dataบนเซิร์ฟเวอร์นี้สำหรับพรีวิวลิงก์แบบสมบูรณ์ OpenGraph ได้รับการรองรับบ่อยกว่า JSON-LD มาก
ถ้าจุดประสงค์คือทำ SEO ประเภทของ JSON-LD ที่เสิร์ชเอนจินรองรับนั้นเฉพาะเจาะจงและมีข้อจำกัดมาก ทางที่ดีกว่าคือดูเอกสารของเสิร์ชเอนจินเป้าหมายโดยตรง เช่น Google[1] หรือ Bing[2] แล้วทำตามนั้นเลย นอกเหนือจากนั้นแทบจะเป็นการเสียเวลา
นอกเหนือจากกรณีของเสิร์ชเอนจินแล้ว ถ้าไม่มีจุดประสงค์เฉพาะ JSON-LD ก็มักไม่มีประโยชน์อะไรนัก ถ้ามีความต้องการที่ชัดเจนว่าต้องใช้ JSON-LD ก็ใส่ข้อมูลที่มีประโยชน์กับกรณีนั้นไป แต่ถ้าใส่ข้อมูลอื่น ๆ นอกเหนือจากนั้นก็แทบไม่ต่างจากการตะโกนใส่ความว่างเปล่า
IndieWeb[3] ใช้ข้อมูลแบบมีโครงสร้างเหมือนกัน แต่เห็นว่า JSON-LD ขัดกับหลัก DRY จึงใช้ Microformats[4] แทน
0: https://ogp.me
1: https://developers.google.com/search/docs/appearance/structu...
2: https://www.bing.com/webmasters/help/marking-up-your-site-wi...
3: https://indieweb.org/
4: https://microformats.org/
สิ่งที่อยากให้ทุกเว็บไซต์ทำจริง ๆ คือข้อมูลแบบมีโครงสร้างที่ใช้ คำศัพท์ของ Schema.org
JSON-LD เป็นหนึ่งในวิธีทำแบบนั้น และยังมี RDFa กับ Microdata ด้วย
ตอนเริ่มเรียนรู้ ผมอ้างอิงบทความนี้และคิดว่าน่าแนะนำ: https://neilpatel.com/blog/get-started-using-schema/
จะดูได้ว่าจะเพิ่มข้อมูลอะไรบ้างด้วยเครื่องมือนี้: https://technicalseo.com/tools/schema-markup-generator/
ดูรายการทั้งหมดได้ที่เว็บ schema.org: https://schema.org/docs/schemas.html
เมื่อหลายปีก่อน ผมเพิ่งรู้ว่า ฟีเจอร์อีเมลแบบหวือหวา อย่างการแทรกตั๋วเครื่องบินหรือการแสดงข้อมูลติดตามพัสดุ ล้วนทำด้วย JSON-LD ภายในอีเมล
แต่เท่าที่ผมรู้ มีแค่ Gmail ที่รองรับ
ข้อมูลเพิ่มเติม: https://www.emailonacid.com/blog/article/email-development/s...
สงสัยว่าคุณสมบัติเหล่านี้ช่วยเรื่อง การแสดงผลบนการค้นหา ได้จริงไหม หรือแค่ช่วยให้เสิร์ชเอนจินกักผู้ใช้อยู่บนหน้าผลการค้นหาได้ง่ายขึ้น
เช่น ที่อยู่ เวลาทำการ เบอร์โทร เมนู เป็นต้น
ทั้งที่มี semantic HTML อยู่แล้ว แต่แปลกดีที่เรายังต้องมาใส่ความหมายของเว็บไซต์ซ้ำอีกครั้งด้วย JSON แปลก ๆ แบบกำหนดเองในแท็ก
scriptที่เบราว์เซอร์ไม่ประมวลผลsemantic HTML ใช้กำหนดสิ่งที่เบราว์เซอร์ประมวลผล เช่น ชื่อเรื่องและหัวข้อ ส่วนข้อมูล JSON-LD คือ metadata อย่างวันที่สร้าง วันที่แก้ไข แท็ก ผู้เขียน
สิ่งเหล่านี้จะแสดงใน HTML ด้วย microdata ก็ได้ แต่ JSON-LD ง่ายกว่า ผมเลยเลิกใช้ microdata
ผมเติม JSON-LD จากข้อมูลชุดเดียวกับที่ใช้สร้างเว็บไซต์ และยังใช้ metadata นี้ทำหน้าดัชนีอย่างรายการโพสต์บล็อกปี 2024 หรือบทความทั้งหมดเกี่ยวกับหัวข้อ X ด้วย ผู้ใช้หลักของ JSON-LD คือเสิร์ชเอนจิน
ถ้าอยากหงุดหงิดมากขึ้น ก็ลองนึกดูว่ายังต้องใส่ metadata ของ OpenGraph ลงในหน้าเดียวกันอีกด้วย เท่ากับว่ามี metadata คนละรูปแบบสองชุดอยู่ในหน้าเดียวกัน
แต่ JSON-LD กลายเป็นค่าเริ่มต้นมาพักใหญ่แล้ว คล้ายกับที่เราส่วนใหญ่เลิกใช้ REST แล้วหันไปใช้ RPC ผมก็ไม่แน่ใจว่าตัว parser สำคัญ ๆ ทุกวันนี้ยังรองรับ microdata ครบหรือเปล่า และโดยเฉพาะเวลาทำเว็บให้ลูกค้าอย่างเว็บอีคอมเมิร์ซที่อยากได้การแสดงผลบน Google ผมก็ใช้ LD เป็นค่าเริ่มต้นมาตลอด
และเมื่อเทียบกับ semantic HTML ก็มีประเด็นที่ควรสังเกต semantic HTML ช่วยนิยามโครงสร้างของมาร์กอัป แต่ไม่ได้สื่อถึง บริบทของโลกจริง ระดับว่า “นี่คือสินค้าที่กำลังขาย” หรือ “นี่คือตารางเวลาเดินรถไฟ”
คุณใช้ออนโทโลยีอย่าง Schema.org/FOAF/WikiData ภายใน HTML ได้ โดยไม่ต้องใช้ JSON-LD และแท็ก
scriptแค่จากตัวอย่างในบทความ ก็ต้องถามแล้วว่าองค์ประกอบเชิงความหมายสำหรับคน รายการ breadcrumb ซอฟต์แวร์แอปพลิเคชัน บล็อก และโพสต์บล็อก คืออะไร
semantic HTML มีไว้เพื่อช่วยให้คนที่ใช้ screen reader นำทางผ่านองค์ประกอบทั่วไปอย่าง “navigation” หรือ “article” ได้
นี่มันก็แค่ OpenGraph ที่เขียนเป็น JSON ไม่ใช่เหรอ? ข้อดีคืออะไร?
หลังปี 2024 ทราฟฟิกของ หน้า content-based marketing ของเราลดลงไปราว 85%
สิ่งที่ผมไม่เข้าใจคือ เมื่อหน้าผลการค้นหาแบบ zero-click เพิ่มขึ้น Google เองก็น่าจะโดนกระทบหนักเหมือนกันไม่ใช่หรือ
รายได้โฆษณาบนหน้าผลการค้นหาที่อิงจากการคลิกก็น่าจะลดลงรุนแรงในระดับใกล้เคียงกัน แต่ผมหาตัวเลขสาธารณะที่ใช้หักล้างหรือยืนยันสมมติฐานนี้ไม่ได้
มีสมดุลบาง ๆ อยู่จุดหนึ่งที่ ความสัมพันธ์แบบพึ่งพากันเปลี่ยนเป็นการเอาเปรียบ
ความสัมพันธ์ที่เว็บไซต์พยายามได้การมองเห็นผ่านความช่วยเหลือของเสิร์ชเอนจินนั้น เดิมก็เป็นประโยชน์ร่วมกันพอสมควร
แต่ตอนนี้มันกำลังไปในทิศทางที่เจ้าของเว็บไซต์ไม่ได้อะไรกลับมาจากงานที่ตัวเองลงแรงทำเลย