ביטול והסרת סכמה (Schema) ונתונים מובנים של Yoast

Yoast SEO מוסיף לכל עמוד גרף סכמה (Schema) בפורמט JSON-LD, שנבנה לפי ההגדרות שהגדרתם בתוסף. כדי לבטל לחלוטין את הסכמה של Yoast, החזירו false בפילטר wpseo_json_ld_output. בגרסאות האחרונות של Yoast יש גם הגדרה שעושה בדיוק את אותו הדבר.

כדאי לעשות זאת כאשר התבנית, תוסף ייעודי לסכמה או JSON-LD שכתבתם ידנית כבר מכסים את הנתונים המובנים שלכם, והגרף של Yoast יוצר כפילויות.

אם אתם רוצים להסיר רק את הסימון של פירורי הלחם, ראו את הסרת הסכמה של פירורי הלחם ב-Yoast. כדי לשנות את פירורי הלחם עצמם, ראו הוספת קישור לפירורי הלחם של Yoast SEO.

הקוד

הוסיפו את השורה הבאה לקובץ functions.php של תבנית הבת שלכם או לתוסף מותאם אישית:

add_filter( 'wpseo_json_ld_output', '__return_false' );

כיצד זה עובד

Yoast מריץ את wpseo_json_ld_output ממש לפני שהוא מדפיס את בלוק ה-<script type="application/ld+json" class="yoast-schema-graph">. אם הפילטר מחזיר false או מערך ריק, Yoast לא מדפיס דבר.

פעולה זו מסירה את הגרף כולו: Organization או Person, WebSite, WebPage, Article, BreadcrumbList, וגם את הסכמה של בלוקי ה-FAQ וה-How-to של Yoast. כותרות, תיאורי מטא ותגיות Open Graph הם פלט נפרד, והם נשארים במקומם.

גם פונקציה עם שם (named function) שמחזירה מערך ריק תעבוד, מכיוון ש-Yoast מתייחס ל-false ול-[] באותה צורה. __return_false פשוט קצר יותר.

כדי לבטל את הסכמה רק בעמודים מסוימים, החזירו false בהתניה והעבירו את הערך המקורי הלאה בכל שאר המקרים:

add_filter( 'wpseo_json_ld_output', function( $data ) {
	if ( is_page( 'contact' ) ) {
		return false;
	}
	return $data;
} );

ביטול הסכמה של Yoast ללא קוד

בגרסה 26.8 נוסף ל-Yoast SEO עמוד הגדרות לסכמה. גשו אל ״Yoast SEO > Settings > Advanced > Schema״ וכבו את Enable Schema Framework. בצד הקדמי של האתר, פעולה זו מוסיפה בדיוק את אותו פילטר __return_false שהצגנו למעלה.

ב-Yoast ממליצים בחום להשאיר את ההגדרה פעילה. כבו אותה רק כאשר כלי אחר מחליף את הגרף במלואו, מכיוון שללא נתונים מובנים, האופן שבו העמודים שלכם מופיעים בתוצאות החיפוש עשוי להשתנות.

אם ההגדרה מוצגת ככבויה, וניסיון להפעיל אותה מציג את ההודעה ״Yoast Schema Framework can't be enabled״, קוד כלשהו כבר מחזיר false או מערך ריק בפילטר wpseo_json_ld_output.

ייתכן שמדובר בתבנית, בתוסף או בסניפט ישן. כדי למצוא אותו, חפשו בתיקיית wp-content:

grep -rn "wpseo_json_ld_output" wp-content/

הסירו את אותו פילטר, או הפכו אותו למותנה, וההגדרה תעבוד שוב.

הסרת חלק מהסכמה בלבד

הרבה בעיות בסגנון ״Yoast הרס לי את הסכמה״ הן למעשה כפילויות: תוסף אחר מוסיף גם הוא Article או BreadcrumbList. במקרה כזה תוכלו להסיר רק את החלק החופף ולהשאיר את שאר הגרף.

לכל חלק (piece) יש פילטר wpseo_schema_needs_<identifier>. המזהים הם article, webpage, main_image, breadcrumb, website, organization, person, author, faq ו-howto.

// Keep Yoast's graph but drop its Article piece.
add_filter( 'wpseo_schema_needs_article', '__return_false' );

חלקים אחרים עדיין עשויים להפנות לחלק שהסרתם באמצעות @id. בדקו את הפלט ב-Rich Results Test, ולגבי פירורי לחם השתמשו בסניפט המלא שבעמוד פירורי הלחם שקישרנו למעלה.

לדרכים נוספות להתאים את הפלט של Yoast, עיינו בפילטרים של Yoast SEO ובתיעוד ה-Schema API של Yoast.

שאלות נפוצות

הנה כמה שאלות נפוצות על ביטול הסכמה של Yoast SEO:

האם ביטול הסכמה של Yoast משפיע על כותרות ה-SEO ותיאורי המטא?
לא. הפילטר wpseo_json_ld_output והגדרת ה-Schema מסירים רק את בלוק ה-JSON-LD. כותרות, תיאורי מטא, canonical, robots ותגיות לרשתות חברתיות מודפסים בנפרד וממשיכים לעבוד.
האם צריך להסיר את Yoast SEO בכדי להיפטר מהסכמה שלו?
לא, הפילטר או ההגדרה מספיקים. אם בכל זאת תסירו את התוסף, שימו לב שמחיקתו משאירה את הנתונים שלו (טבלאות wp_yoast_, אפשרויות ו-post meta) במסד הנתונים, כך שהתקנה מחדש תשחזר את ההגדרות שלכם.
האם האינטגרציה עם Wincher קשורה לסכמה של Yoast?
לא. Wincher הוא כלי למעקב אחר מיקומים של ביטויי מפתח, והוא לא מוסיף דבר לנתונים המובנים שלכם. בכדי לכבות אותו, גשו אל ״Yoast SEO > Integrations״ וכבו את ההגדרה של Wincher.
הוספתי את הפילטר אבל הסכמה עדיין שם. מה הבעיה?
בדרך כלל cache של עמודים מגיש את ה-HTML הישן, אז נקו אותו ובדקו שוב את קוד המקור. אם ה-JSON-LD עדיין שם, בדקו את ה-class שלו: כל בלוק ללא yoast-schema-graph מגיע מתוסף אחר או מהתבנית.
דיון ותגובות
[  0 תגובות  ]

השאירו תגובה

הוסיפו קוד באמצעות הכפתורים מטה. למשל, בכדי להוסיף PHP לחצו על הכפתור PHP והוסיפו את הקוד בתוך השורטקוד. מצאתם שגיאה בפוסט? עדכנו אותנו...