حذف پستتایپ سفارشی از نقشه سایت وردپرس (Remove Post Type from Sitemap)
با فیلتر `wp_sitemaps_post_types` نام پستتایپ مورد نظر را از آرایه نقشههای سایت وردپرس حذف کنید.
مشخصات فنی و شناسنامه کد (Code Information)
بازبینی: 1405/06/29<?php
/**
* حذف پستتایپهای خاص از نقشه سایت بومی وردپرس (wp-sitemap.xml)
*/
function bisco_remove_cpt_from_sitemap( $post_types ) {
// حذف پستتایپ اسلایدر و پاپآپها از نقشه سایت
unset( $post_types['slider'] );
unset( $post_types['popup_builder'] );
unset( $post_types['team_member'] );
return $post_types;
}
add_filter( 'wp_sitemaps_post_types', 'bisco_remove_cpt_from_sitemap' );
کد را کجا قرار دهیم؟ (Placement Guide)
کد را در functions.php قرار دهید و اسلاگ پستتایپها را مشخص کنید.
این کد چگونه کار میکند؟ (How it Works)
هسته تولید نقشه سایت وردپرس (WP_Sitemaps) قبل از ساخت فایل ایندکس، این فیلتر را صدا میزند و موارد unset شده را نادیده میگیرد.
چه زمانی از این کد استفاده کنیم؟ (Use Cases)
جهت بهینهسازی بودجه خزش و ممانعت از ایندکس صفحات کمارزش و داخلی سایت.
چه زمانی نباید از این کد استفاده کنیم؟ (Anti-patterns)
برای پستتایپهای ارزشمندی که میخواهید در نتایج گوگل سئو شوند.
پیشنیازهای اجرا
وردپرس ۵.۵ به بالا.
نحوه تست و اطمینان از عملکرد
آدرس site.com/wp-sitemap.xml را در مرورگر باز کنید؛ دیگر نباید زیرشاخهای برای آن پستتایپ دیده شود.
نحوه بازگردانی سریع (Rollback)
فیلتر را حذف کنید.
خطاهای رایج و راهحل رفع
تلاش برای حذف با این هوک اگر از نقشه سایت یواست استفاده میکنید (برای یواست هوک wpseo_sitemap_exclude_post_type کاربرد دارد).
ملاحظات و نکات امنیتی
مانع از کشف ساختار دادههای درونسازمانی توسط موتورهای جستجو.
تاثیر بر سرعت و پرفورمنس
کاهش بار پردازشی سرور هنگام خزش مداوم sitemap توسط رباتها.