วิธีเพิ่มข้อมูล Schema.org พิเศษลงในปลั๊กอิน Yoast SEO WordPress

เผยแพร่แล้ว: 2020-07-28

สำหรับผู้ที่ไม่คุ้นเคยกับข้อมูลที่มีโครงสร้าง Schema.org และเหตุใดจึงกลายเป็นส่วนสำคัญของกลยุทธ์ SEO โปรดอ่านบทความของฉัน "วิธีใช้ข้อมูลที่มีโครงสร้าง Schema.org สำหรับบริษัทและผู้คน"

แล้ว WordPress และ Yoast ล่ะ?

ขณะนี้ 37% ของอินเทอร์เน็ตทั้งหมดขับเคลื่อนโดย WordPress ใช่. นั่นคือประมาณครึ่งพันล้านไซต์ที่ใช้ WordPress บางรุ่น และมีเพียงเวอร์ชันล่าสุด (5.4 ในขณะเผยแพร่) ถูกดาวน์โหลดไปแล้ว 31 ล้านครั้ง!

Yoast SEO คืออะไร และเหตุใดจึงมีประโยชน์สำหรับข้อมูล Schema.org

Yoast SEO เป็นปลั๊กอิน WordPress ที่เริ่มต้นในปี 2010 โดย Joost de Valk และมีการดาวน์โหลดมากกว่า 202 ล้านครั้ง ช่วยลดความยุ่งยากและทำให้งาน SEO ในหน้าขั้นพื้นฐาน (และขั้นสูง) เป็นไปโดยอัตโนมัติ

ฟังก์ชันจัดการมาร์กอัป Schema.org ถูกเพิ่มเข้ามาครั้งแรกในปี 2011 จากนั้นในเดือนพฤษภาคม 2020 การเขียนโค้ดใหม่จำนวนมากได้ถูกนำมาใช้กับ API ทั้งหมดที่มีจุดมุ่งหมายเพื่อให้นักพัฒนาสามารถแทรกข้อมูลลงใน Schema @graph ได้ นี่เป็นข่าวดี แต่คนส่วนใหญ่ใน SEO ที่ทำงานกับ WordPress ไม่ทราบถึงการมีอยู่ของมันหรือไม่ได้ดูวิธีใช้งาน และมันง่ายมากที่จะเริ่มต้น!

มาดูกันว่าเอาต์พุต Yoast Schema เป็นอย่างไรในหน้า wordpress นี่คือบล็อกคอนเทนเนอร์พื้นฐาน:

อย่างที่คุณเห็น สิ่งที่น่าสนใจที่นี่คือข้อมูล Schema แบ่งออกเป็น 4 ส่วนหลัก (เช่น @type : Person/Organization เป็นต้น) ซึ่งทั้งหมดอยู่ในระดับเดียวกันในคอนเทนเนอร์ชื่อ @graph ฉันได้ลบข้อมูลทั้งหมดยกเว้น @type , @id และคุณสมบัติใด ๆ ที่ใช้ในการเชื่อมโยงชิ้นส่วนต่างๆ เพื่อแสดงให้คุณเห็นว่าข้อมูลทั้งหมดเข้ากันได้อย่างไร

บล็อคสคีมาบนเว็บไซต์มักจะมีองค์ประกอบซ้อนอยู่ภายในกัน ตัวอย่างเช่น โค้ดสำหรับออบเจกต์รูปภาพ primaryImageOfPage ภายในบล็อกของ WebPage ในขณะที่ส่วนนี้เป็นส่วนที่แยกจากกันทั้งหมด นี่เป็นเพราะว่าการซ้อนบล็อคภายในบล็อคสามารถทำให้เกิดความเทอะทะได้อย่างรวดเร็วด้วยโค้ดที่ซ้ำกันจำนวนมาก

ที่นี่ ชิ้นส่วนทั้งหมดเชื่อมโยงกันโดยใช้ @id ของแต่ละชิ้น ดังนั้นบล็อกในภาพด้านบนจึงมีการเชื่อมโยงดังนี้: ImageObject เป็นภาพ หลัก ของ หน้าเว็บ ซึ่งเป็น ส่วน หนึ่งของ เว็บไซต์ ที่ผู้ จัดพิมพ์ เป็นบล็อก บุคคล/องค์กร นั่นชัดเจนและสมเหตุสมผล!

ในการตัดเรื่องสั้นโดยพื้นฐาน API ช่วยให้เราสามารถ "เย็บ" ชิ้นใหม่และอ้างอิงจากส่วนอื่น ๆ ผ่านทาง @id

อย่างไรก็ตาม การเย็บชิ้นส่วนใหม่ที่ยังไม่ได้สร้างนั้นต้องใช้โค้ดเพิ่มเติมเล็กน้อยและการตั้งค่าเงื่อนไขเพื่อตัดสินใจว่าหน้าประเภทใดจำเป็นต้องใช้ชิ้นส่วนใหม่ ดังนั้นแทนที่จะดูวิธีการทำในที่นี้ เราจะมาดูที่ วิธีเปลี่ยนข้อมูลในส่วนที่มีอยู่ (ดูว่าชิ้นส่วนใดถูกส่งออกไปยังหน้าของคุณแล้ว) โดยการเปลี่ยนค่าใดค่าหนึ่งหรือโดยการแทรกประเภทและคุณสมบัติใหม่

ในการดำเนินการนี้ เราจะสร้างปลั๊กอิน WordPress พื้นฐานพิเศษ

แต่ก่อนอื่น คุณอาจสงสัยว่าทำไมเราต้องการทำเช่นนี้?

ทำไมต้องเพิ่มข้อมูลลงในปลั๊กอิน Yoast SEO Schema

สถาปัตยกรรมของปลั๊กอินได้รับการพิจารณามาเป็นอย่างดีและได้รับการออกแบบมาให้ทำงานในกรณีส่วนใหญ่ มีคลาสที่ทริกเกอร์โดยอัตโนมัติสำหรับประเภทเนื้อหาที่หลากหลาย หากตรงตามเงื่อนไขที่เหมาะสม

เอกสารประกอบบอกเราว่าประเภทที่จะส่งออกในปัจจุบัน ได้แก่ องค์กร, เว็บไซต์, หน้าเว็บ, เกล็ดขนมปัง, การค้นหาไซต์ (SearchAction), บุคคล, ผลิตภัณฑ์, ข้อเสนอ, ข้อเสนอรวม (AggregateOffer), บทความ, วิธีการ (HowTo), คำถาม, ทบทวน, ความคิดเห็น, รูปภาพ (ImageObject), วิดีโอ (videoObject), ธุรกิจท้องถิ่น (localBusiness) และที่อยู่ (ที่อยู่ไปรษณีย์) และมีส่วนขยายหลายอย่างที่คุณสามารถเพิ่มเพื่อการใช้งานที่เฉพาะเจาะจงมากขึ้น เช่น หากคุณใช้ WooCommerce

ทั้งหมดนี้เป็นสิ่งที่ยอดเยี่ยม แต่เมื่อคุณดูผลลัพธ์สำหรับประเภท บุคคล คุณจะเห็นว่ามีเพียงข้อมูลพื้นฐานที่จำเป็นที่สุดเท่านั้นที่อยู่ในนั้น:

(หมายเหตุ: ฉันได้ย่อ @id ที่สร้างโดยปลั๊กอินให้สั้นลง)

หากคุณอ่านบทความก่อนหน้าของฉันเกี่ยวกับมาร์กอัป Schema.org สำหรับบุคคลและองค์กร และเหตุใดจึงยอดเยี่ยมสำหรับการปรับปรุง “EAT” ของไซต์ของคุณ คุณจะได้อ่านเกี่ยวกับวิธีการใช้โฮสต์ของคุณสมบัติสำหรับประเภทเหล่านี้ ซึ่งบางส่วนจะ ระบุตัวคุณได้แม่นยำยิ่งขึ้นและให้ลิงก์ไปยังข้อมูลที่แสดงถึงความเชี่ยวชาญและอำนาจของคุณ

ตัวอย่างเช่น คุณอาจต้องการเพิ่มคุณสมบัติ alumniOf เพื่อพูดคุยเกี่ยวกับการศึกษาของบุคคลหรือคุณสมบัติ knowAbout เพื่อให้รายละเอียดเกี่ยวกับสาขาที่เชี่ยวชาญ สำหรับบริษัท คุณอาจต้องการให้หมายเลขทะเบียนบริษัทอย่างเป็นทางการในรูปแบบของ ตัวระบุ

เราจะทำสิ่งนี้ในสองขั้นตอนง่ายๆ:

  1. สร้างปลั๊กอิน WordPress 1 ไฟล์พื้นฐานพิเศษ
  2. เริ่มเพิ่มข้อมูลที่เราต้องการส่งออกผ่าน Yoast Schema API

ทำไมต้องสร้างปลั๊กอิน?

แม้ว่าจะเป็นไปได้ที่จะวางโค้ดลงในไฟล์ functions.php ของธีมลูกของคุณ การใส่ลงในปลั๊กอินอย่างง่ายเป็นเส้นทางที่แนะนำด้วยเหตุผลง่ายๆ ว่าหากมีปัญหาใดๆ กับโค้ด คุณสามารถปิดใช้งานปลั๊กอินที่กำหนดเองได้ และไซต์จะคืนค่าเอาต์พุต Schema หลักโดยปลั๊กอิน Yoast SEO นอกจากนี้ หากคุณใส่ไว้ในธีมย่อยและไฟล์ต่างๆ มีการเปลี่ยนแปลง คุณอาจสูญเสียข้อมูล Schema อันมีค่าทั้งหมดที่คุณใช้เวลารวบรวมเป็นชั่วโมง!

เริ่มทดลองใช้งานฟรี 14 วัน

ค้นหาด้วยตัวคุณเองว่าทำไม Oncrawl จึงเป็นแพลตฟอร์ม SEO ด้านเทคนิคและข้อมูลที่ได้รับการยอมรับมากที่สุดในตลาด! ไม่ต้องใช้บัตรเครดิตและไม่มีข้อผูกมัด: เพียง 14 วันของการทดลองใช้งานเต็มรูปแบบ
เริ่มการทดลองใช้ของคุณ

วิธีสร้างปลั๊กอิน WordPress พื้นฐานพิเศษ

มันไม่ง่ายไปกว่านี้แล้ว!

ในการสร้างปลั๊กอินที่ใช้งานได้ คุณเพียงแค่สร้างไฟล์ PHP ใหม่ - ฉันเรียกมันว่า schema-extender.php - และบันทึกไว้ในโฟลเดอร์ใหม่ที่มีชื่อเดียวกันดังนี้:

จากนั้นคุณต้องใส่ข้อมูลบางอย่างที่ด้านบนของ schema-extender.php ดังนี้:

<?php
/**
* ชื่อปลั๊กอิน: Yoast Schema Extender Simple Version 2
* URI ของปลั๊กอิน: https://hugoscott.com/
* คำอธิบาย: ปลั๊กอินพื้นฐานสำหรับขยายข้อมูล Yoast Schema.org
* เวอร์ชัน: 1.0
* ผู้แต่ง: Hugo Scott
* URI ผู้แต่ง: https://hugoscott.com/
**/

หากคุณบันทึกและอัปโหลดโฟลเดอร์และไฟล์ไปยังไดเร็กทอรี /wp-content/plugins/ ของไซต์ wordpress ของคุณ คุณจะเห็นรายการดังกล่าวแสดงอยู่ในรายการปลั๊กอินดังนี้:

คุณสามารถเปิดใช้งานปลั๊กอินได้ แต่จะไม่ดำเนินการใดๆ เนื่องจากเรายังไม่ได้เพิ่มฟังก์ชันใดๆ – นั่นคือขั้นตอนต่อไป!

โค้ดบรรทัดแรกที่ฉันใส่นั้นไม่จำเป็น แต่จะแสดงข้อมูลสคีมาในรูปแบบที่อ่านง่ายกว่าเอาต์พุตย่อขนาดเริ่มต้น และคุณสามารถลบบรรทัดนี้ในภายหลังได้ตลอดเวลา:

add_filter( 'yoast_seo_development_mode', '__return_true' );

ตอนนี้เรากำลังจะเพิ่มตัวกรอง WordPress ที่จะเพิ่มฟังก์ชันที่กำหนดเอง example_change_person (ซึ่งเราจะเขียนต่อไป) ให้กับกระบวนการ Yoast :

add_filter( 'wpseo_schema_person', 'example_change_person' );

จากนั้น ให้เสร็จสิ้น เราจะเขียนฟังก์ชันง่าย ๆ example_change_person() ที่ถูกเรียกโดยตัวกรองและจะเพิ่มส่วนต่างๆ ของข้อมูล:

ฟังก์ชัน example_change_person ( $data ) {
// ข้อมูล
ส่งคืนข้อมูล $;
}

หากคุณบันทึกและอัปโหลดไฟล์ไปยังเซิร์ฟเวอร์ คุณจะยังคงไม่เห็นความแตกต่างในเอาต์พุต Schema เนื่องจากเรายังไม่ได้เพิ่มข้อมูลใดๆ ลงในอาร์เรย์ ข้อมูล $ สำหรับผู้ที่ไม่คุ้นเคยกับคำว่า "อาร์เรย์" ก็หมายถึง "กล่อง" ที่มีชุดข้อมูลที่มีโครงสร้างซึ่งจับคู่กับ "ค่า" และชื่อ ("คีย์")

และนี่เป็นวิธีเดียวกับที่มาร์กอัป schema.org ทำงาน ประกอบด้วยคู่ที่มีชื่อและค่า ตัวอย่างเช่น นี่คือข้อมูล url สำหรับ เว็บไซต์ ในเอาต์พุตสคีมา:

“url”: “https://hugoscott.com/”,

ในที่นี้ชื่อ (หรือ “คีย์”) คือ “url” และค่าคือ “https://hugoscott.com/”

แต่ละคีย์ในอาร์เรย์ข้อมูล $ ใช้สำหรับชื่อคุณสมบัติ ดังนั้นต้องแน่ใจว่าสะกดถูกต้อง

หากเราต้องการเพิ่มข้อมูลข้างต้นลงในอาร์เรย์ ข้อมูล $ เราเพียงแค่เพิ่มบรรทัดลงในฟังก์ชันเช่นนี้

$data['url'] = “https://hugoscott.com/”;

อย่างไรก็ตาม สำหรับชิ้นส่วน บุคคล เราต้องการเพิ่มคุณสมบัติ KnowAbout ดังนั้นให้เพิ่มสิ่งนั้นแทน:

$data['knowsAbout'] = “https://en.wikipedia.org/wiki/Balti_(อาหาร)”;

บันทึกไฟล์ อัปโหลดไปยังเซิร์ฟเวอร์ โหลดหน้าเว็บซ้ำและดูที่ html ต้นทาง (หรือตรวจสอบในเครื่องมือทดสอบข้อมูลที่มีโครงสร้างของ Google) แล้วคุณจะเห็นสิ่งนี้:

ว่าไง! เราได้เพิ่มข้อมูลเข้าไปเล็กน้อย และมันก็ไม่ได้ยากเกินไปจริงๆ มันยอดเยี่ยมมาก แต่เราจะทำอย่างไรถ้าเราต้องการเพิ่ม alumniOf ซึ่งไม่ใช่แค่สตริงข้อความธรรมดา แต่เป็นบล็อกย่อย

สิ่งที่ยอดเยี่ยมเกี่ยวกับวิธีการที่ปลั๊กอิน Yoast จัดการกับ $data array คือแทนที่จะรวมสตริงข้อความ เราสามารถรวม sub-array และส่งออกเป็นบล็อกย่อย Schema!

ลองนึกภาพว่าเราต้องการทำสิ่งนี้:

คุณสามารถเพิ่มข้อมูลนี้เป็นอาร์เรย์ย่อยดังนี้:

หาก บุคคล ดังกล่าวมีประกาศนียบัตรหลายใบ และคุณต้องการบล็อกย่อย AlumniOf หลายชุด ให้เพิ่มเข้าไปดังนี้:

และจะแสดงดังนี้

ไม่มีอะไรง่ายไปกว่านี้อีกแล้ว!

คำสุดท้าย

ขอบคุณที่อ่านบทความนี้ มีการตรวจสอบพื้นผิวของสิ่งที่เป็นไปได้ด้วย Yoast SEO API เท่านั้น

ตัวอย่างที่ฉันให้มานั้นยอดเยี่ยมในฐานะบิตข้อมูลแบบสแตนด์อโลนสำหรับ บุคคล และ องค์กร แต่ถ้าคุณต้องการนำไปใช้เพิ่มเติม เช่น กับหน้าเทมเพลต คุณสามารถเพิ่มแบบฟอร์มลงในปลั๊กอินและบันทึกข้อมูลลงในตารางฐานข้อมูลที่กำหนดเอง จากนั้นคอมไพล์ สคีมาในไฟล์เทมเพลตธีมของคุณและส่งออกในส่วนท้ายของเพจ ทั้งหมดนี้เป็นไปได้ และคุณสามารถใช้คุณสมบัติ @id เพื่อเชื่อมโยงเอาต์พุต Schema ใดๆ ในส่วนท้ายกับเอาต์พุต Schema ในส่วนหัวได้!

API ปลั๊กอิน Yoast SEO จะมีวิวัฒนาการอย่างมากในอนาคตอันใกล้นี้ ดังนั้นอย่าลืมจับตาดูการพัฒนาล่าสุดของพวกเขา

มาที่ไซต์ของฉันสำหรับข้อมูลเพิ่มเติมหรือหากคุณต้องการจ้างฉันให้ทำสิ่งนี้ให้กับคุณ

ขอบคุณ

สุดท้ายนี้ ฉันขอขอบคุณ Jono Alderson ที่ Yoast ที่สละเวลาตอบคำถามของฉัน!