اسکیمای مسیر راهنما در وردپرس (BreadcrumbList Schema JSON-LD)
با تزریق ساختار `BreadcrumbList` در هوک `wp_head` برای نوشتههای تکی، سلسله مراتب کامل صفحه را به صورت JSON-LD به گوگل ارائه دهید.
مشخصات فنی و شناسنامه کد (Code Information)
بازبینی: 1405/06/29<?php
/**
* تولید خودکار اسکیمای مسیر راهنما (BreadcrumbList) برای نوشتههای وبلاگ
*/
function bisco_output_breadcrumb_schema() {
if ( ! is_single() ) {
return;
}
global $post;
$breadcrumbs = array();
// گام اول: صفحه نخست
$breadcrumbs[] = array(
'@type' => 'ListItem',
'position' => 1,
'name' => 'صفحه اصلی',
'item' => esc_url( home_url( '/' ) ),
);
$position = 2;
// گام دوم: دسته اول نوشته
$categories = get_the_category( $post->ID );
if ( ! empty( $categories ) ) {
$first_cat = $categories[0];
$breadcrumbs[] = array(
'@type' => 'ListItem',
'position' => $position,
'name' => esc_html( $first_cat->name ),
'item' => esc_url( get_category_link( $first_cat->term_id ) ),
);
$position++;
}
// گام سوم: نوشته جاری
$breadcrumbs[] = array(
'@type' => 'ListItem',
'position' => $position,
'name' => esc_html( get_the_title( $post ) ),
'item' => esc_url( get_permalink( $post ) ),
);
$schema = array(
'@context' => 'https://schema.org',
'@type' => 'BreadcrumbList',
'itemListElement' => $breadcrumbs,
);
echo '<script type="application/ld+json">' . wp_json_encode( $schema, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES ) . '</script>' . "
";
}
add_action( 'wp_head', 'bisco_output_breadcrumb_schema', 3 );
کد را کجا قرار دهیم؟ (Placement Guide)
کد را در functions.php قرار دهید.
این کد چگونه کار میکند؟ (How it Works)
آرایه itemListElement با شمارهگذاری متوالی موقعیت (position) صفحات والد تا صفحه جاری را با پیوندهای معتبر تولید میکند.
چه زمانی از این کد استفاده کنیم؟ (Use Cases)
در صفحات وبلاگ و فروشگاه برای ظاهر شدن مسیر ناوبری سبز در نتایج جستجوی موبایل گوگل.
چه زمانی نباید از این کد استفاده کنیم؟ (Anti-patterns)
در صفحات تکسطحی مانند لندینگهای تبلیغاتی بدون والد.
پیشنیازهای اجرا
وردپرس ۳.۰ به بالا.
نحوه تست و اطمینان از عملکرد
آدرس نوشته را در ابزار Schema Markup Validator وارد کنید تا اعتبارسنجی BreadcrumbList تایید شود.
نحوه بازگردانی سریع (Rollback)
تابع را حذف کنید.
خطاهای رایج و راهحل رفع
شروع نکردن position از ۱ یا ایجاد پرش در شماره موقعیتها.
ملاحظات و نکات امنیتی
تمام رشتهها و URLها فیلتر و اسکیپ شدهاند.
تاثیر بر سرعت و پرفورمنس
اجرای بسیار سریع در زمان ساخت سربرگ بدون تحمیل سربار.